openapi: 3.0.0
info:
title: Meshery Server
description: Documentation for Meshery Server REST APIs.
version: v1.2.2
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://playground.meshery.io
description: Meshery Playground server URL
- url: https://staging-cloud.meshery.io
description: Local development server URL
- url: http://localhost:9081
description: |
Meshery Server URL (controlled via PORT environment variable)
tags:
- name: Evaluation_Evaluation
description: Operations related to design evaluation
- name: Feature_Features
description: Operations related to features and entitlements
- name: Support_Support
description: Operations related to help and support requests
- name: System_API_System
description: Operational endpoints for Meshery Server.
- name: Badge_Badge
description: Operations related to user and organization badges.
- name: credential_credentials
description: Operations related to integration credentials
- 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: User_users
description: Operations related to users
- name: View_views
description: APIs for managing Meshery views.
- 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: Environment_environments
description: APIs for environments
- name: Events_events
description: APIs for Meshery Cloud events.
- name: Filter_filters
description: Operations related to Meshery filters.
- name: Invitation_Invitation
description: Operations related to invitation
- name: Performance_Profile_performance
description: APIs for managing Meshery performance profiles.
- 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
- 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.
paths:
/api/meshmodels/relationships/evaluate:
post:
operationId: evaluateRelationships
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. This `EvaluationResponse` contract is engine-agnostic: it is produced either by this server operation
or by an equivalent in-browser WebAssembly engine implementing the same contract. See
`docs/relationship-evaluation-engine-contract.md` for the authoritative engine contract, the in-browser engine
surface, and the registry-independent hydration boundary.
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/system/database:
get:
x-internal:
- meshery
tags:
- System_API_System
summary: Get a summary of the Meshery server's database
description: Returns a paginated summary of Meshery database tables and row counts.
operationId: getSystemDatabase
parameters:
- name: page
in: query
description: Zero-based page index for the table list.
required: false
schema:
type: integer
minimum: 0
- name: pageSize
in: query
description: Number of tables to include per page.
required: false
schema:
type: integer
minimum: 1
- name: search
in: query
description: Substring filter applied to table names.
required: false
schema:
type: string
maxLength: 255
- name: sort
in: query
description: Column to order the table list by.
required: false
schema:
type: string
enum:
- name
- name: order
in: query
description: Sort direction for the `sort` column.
required: false
schema:
type: string
enum:
- asc
- desc
responses:
'200':
description: Database summary
content:
application/json:
schema:
type: object
description: Paginated summary of the Meshery server's embedded database.
additionalProperties: false
required:
- page
- pageSize
- totalTables
- recordCount
- tables
properties:
page:
type: integer
description: Zero-based page index of the returned table slice.
minimum: 0
pageSize:
type: integer
description: Number of tables included in this page.
minimum: 1
totalTables:
type: integer
description: Total number of tables in the database matching the search filter.
minimum: 0
recordCount:
type: integer
description: Aggregate row count across the tables returned in this page.
minimum: 0
tables:
type: array
description: Tables included in this page, with per-table row counts.
items:
type: object
description: Database table summary.
additionalProperties: false
required:
- name
- type
- count
properties:
name:
type: string
description: Name of the table.
maxLength: 255
type:
type: string
description: SQLite object type (e.g. `table`).
maxLength: 64
count:
type: integer
description: Number of rows currently in the table.
format: int64
minimum: 0
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error
/api/system/database/reset:
delete:
x-internal:
- meshery
tags:
- System_API_System
summary: Reset the Meshery server's database
description: Resets the Meshery server database. This is a destructive operation.
operationId: resetSystemDatabase
responses:
'200':
description: Database reset
content:
application/json:
schema:
type: object
description: Status message response.
additionalProperties: false
required:
- message
properties:
message:
type: string
description: Human-readable status message.
minLength: 1
maxLength: 1024
'401':
description: Expired JWT token used or insufficient privilege
content:
text/plain:
schema:
type: string
'500':
description: Internal server error during reset (archive, drop, migrate, or reseed).
/api/system/version:
get:
x-internal:
- cloud
- meshery
tags:
- System_API_System
summary: Get the running Meshery server's version metadata
description: Returns version metadata for the running Meshery service.
operationId: getSystemVersion
security: []
responses:
'200':
description: Server version metadata
content:
application/json:
schema:
type: object
description: Version metadata for a running Meshery service.
additionalProperties: false
properties:
version:
type: string
description: Meshery Cloud deployment version.
maxLength: 128
build:
type: string
description: Build identifier (typically the git tag of the running binary).
maxLength: 128
latest:
type: string
description: Latest available Meshery release tag fetched from GitHub.
maxLength: 128
outdated:
type: boolean
description: True when the running build is older than the latest available release.
commitsha:
type: string
description: Git commit SHA of the running service. The wire field is `commitsha`.
maxLength: 64
releaseChannel:
type: string
description: Release channel of the running binary (e.g. `stable`, `edge`).
maxLength: 64
'500':
description: Encoding error while serializing the version payload.
/api/system/sync:
get:
x-internal:
- meshery
tags:
- System_API_System
summary: Get initial session bootstrap data
description: Returns session bootstrap data for the authenticated user.
operationId: getSystemSync
responses:
'200':
description: Session sync payload
content:
application/json:
schema:
type: object
description: Session bootstrap payload for the authenticated user.
additionalProperties: true
properties:
k8sConfig:
type: array
description: Kubernetes contexts currently tracked by the Meshery server.
items:
type: object
description: Kubernetes context tracked by Meshery.
additionalProperties: false
properties:
id:
type: string
description: Stable identifier for the Kubernetes context.
x-id-format: external
minLength: 32
maxLength: 32
pattern: ^[0-9a-f]{32}$
name:
type: string
description: Human-readable name of the Kubernetes context.
maxLength: 255
clusterConfigured:
type: boolean
description: True when Meshery has a usable kubeconfig for this context.
server:
type: string
description: API server URL for the Kubernetes context.
maxLength: 2048
clusterId:
description: Kubernetes server ID associated with this context.
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
createdAt:
description: When the context was first registered with Meshery.
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
updatedAt:
description: When the context was last 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
'500':
description: Marshal error while serializing the session sync payload.
/api/integrations/credentials:
get:
x-internal:
- cloud
- meshery
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
additionalProperties: false
description: >
Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by
connections to external systems.
required:
- id
- name
- type
- userId
- createdAt
- updatedAt
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
userId:
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
createdAt:
type: string
format: date-time
description: Timestamp when the credential was created.
x-go-type: time.Time
x-go-type-skip-optional-pointer: true
x-order: 6
x-oapi-codegen-extra-tags:
db: created_at
updatedAt:
type: string
format: date-time
description: Timestamp when the credential was last updated.
x-go-type: time.Time
x-go-type-skip-optional-pointer: true
x-order: 7
x-oapi-codegen-extra-tags:
db: updated_at
deletedAt:
type: string
format: date-time
description: Timestamp when the credential was soft-deleted.
x-go-type: core.NullTime
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
x-order: 8
x-oapi-codegen-extra-tags:
db: deleted_at
x-order: 1
description: The credentials returned on the current page.
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
- meshery
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: Payload for creating or updating a credential.
required:
- name
- type
properties:
id:
description: Existing credential ID for updates; omit on create.
x-order: 1
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
name:
type: string
description: Human-readable name for the credential.
x-order: 2
minLength: 1
maxLength: 255
userId:
description: UUID of the user who owns this credential.
x-order: 3
x-oapi-codegen-extra-tags:
json: userId,omitempty
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
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
responses:
'201':
description: Credential saved
content:
application/json:
schema:
type: object
additionalProperties: false
description: >
Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by
connections to external systems.
required:
- id
- name
- type
- userId
- createdAt
- updatedAt
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
userId:
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
createdAt:
type: string
format: date-time
description: Timestamp when the credential was created.
x-go-type: time.Time
x-go-type-skip-optional-pointer: true
x-order: 6
x-oapi-codegen-extra-tags:
db: created_at
updatedAt:
type: string
format: date-time
description: Timestamp when the credential was last updated.
x-go-type: time.Time
x-go-type-skip-optional-pointer: true
x-order: 7
x-oapi-codegen-extra-tags:
db: updated_at
deletedAt:
type: string
format: date-time
description: Timestamp when the credential was soft-deleted.
x-go-type: core.NullTime
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
x-order: 8
x-oapi-codegen-extra-tags:
db: 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
put:
x-internal:
- cloud
- meshery
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: Payload for creating or updating a credential.
required:
- name
- type
properties:
id:
description: Existing credential ID for updates; omit on create.
x-order: 1
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
name:
type: string
description: Human-readable name for the credential.
x-order: 2
minLength: 1
maxLength: 255
userId:
description: UUID of the user who owns this credential.
x-order: 3
x-oapi-codegen-extra-tags:
json: userId,omitempty
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
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
responses:
'200':
description: Credential updated
content:
application/json:
schema:
type: object
additionalProperties: false
description: >
Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by
connections to external systems.
required:
- id
- name
- type
- userId
- createdAt
- updatedAt
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
userId:
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
createdAt:
type: string
format: date-time
description: Timestamp when the credential was created.
x-go-type: time.Time
x-go-type-skip-optional-pointer: true
x-order: 6
x-oapi-codegen-extra-tags:
db: created_at
updatedAt:
type: string
format: date-time
description: Timestamp when the credential was last updated.
x-go-type: time.Time
x-go-type-skip-optional-pointer: true
x-order: 7
x-oapi-codegen-extra-tags:
db: updated_at
deletedAt:
type: string
format: date-time
description: Timestamp when the credential was soft-deleted.
x-go-type: core.NullTime
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
x-order: 8
x-oapi-codegen-extra-tags:
db: 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
- meshery
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/{credentialId}:
get:
x-internal:
- cloud
- meshery
tags:
- credential_credentials
summary: Get credential by ID
operationId: getCredentialById
description: Retrieves a specific credential by its ID.
parameters:
- name: credentialId
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
additionalProperties: false
description: >
Meshery Credentials store sensitive information such as API keys, tokens, and passwords used by
connections to external systems.
required:
- id
- name
- type
- userId
- createdAt
- updatedAt
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
userId:
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
createdAt:
type: string
format: date-time
description: Timestamp when the credential was created.
x-go-type: time.Time
x-go-type-skip-optional-pointer: true
x-order: 6
x-oapi-codegen-extra-tags:
db: created_at
updatedAt:
type: string
format: date-time
description: Timestamp when the credential was last updated.
x-go-type: time.Time
x-go-type-skip-optional-pointer: true
x-order: 7
x-oapi-codegen-extra-tags:
db: updated_at
deletedAt:
type: string
format: date-time
description: Timestamp when the credential was soft-deleted.
x-go-type: core.NullTime
x-go-type-import:
path: github.com/meshery/schemas/models/core
x-go-type-skip-optional-pointer: true
x-order: 8
x-oapi-codegen-extra-tags:
db: 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/identity/orgs/{orgId}/users/keys:
get:
x-internal:
- cloud
- meshery
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
description: A paginated list of authorization keys.
required:
- page
- pageSize
- totalCount
- keys
properties:
page:
type: integer
description: Zero-based page index returned in this response.
minimum: 0
x-go-type-skip-optional-pointer: true
x-order: 1
pageSize:
type: integer
description: Maximum number of items returned on each page.
minimum: 1
x-go-type-skip-optional-pointer: true
x-order: 2
x-oapi-codegen-extra-tags:
json: pageSize
totalCount:
type: integer
description: Total number of items across all pages.
minimum: 0
x-go-type-skip-optional-pointer: true
x-order: 3
x-oapi-codegen-extra-tags:
json: totalCount
keys:
type: array
items:
type: object
additionalProperties: false
description: Represents an authorization key used for access control.
required:
- id
- owner
- function
- category
- subcategory
- description
- createdAt
- updatedAt
properties:
id:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. 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
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
json: owner
x-order: 2
function:
type: string
description: Operation permitted by the key.
x-oapi-codegen-extra-tags:
db: function
json: function
x-order: 3
maxLength: 500
category:
type: string
description: Category for the key.
x-oapi-codegen-extra-tags:
db: category
json: category
x-order: 4
maxLength: 500
subcategory:
type: string
description: Subcategory for the key.
x-oapi-codegen-extra-tags:
db: subcategory
json: subcategory
x-order: 5
maxLength: 500
description:
type: string
description: Human readable description of the key.
x-oapi-codegen-extra-tags:
db: description
json: description
x-order: 6
maxLength: 5000
createdAt:
type: string
format: date-time
description: Timestamp when the key was created.
x-go-type: time.Time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: created_at
json: createdAt
x-order: 7
updatedAt:
type: string
format: date-time
description: Timestamp when the key was last updated.
x-go-type: time.Time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: updated_at
json: updatedAt
x-order: 8
deletedAt:
type: string
format: date-time
description: Timestamp when the key was soft-deleted.
nullable: true
x-go-type: core.NullTime
x-go-type-import:
path: github.com/meshery/schemas/models/core
name: core
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt,omitempty
x-order: 9
x-order: 4
description: Keys returned on the current page.
'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:
x-internal:
- cloud
- meshery
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
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: Model registered
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/identity/orgs:
get:
x-internal:
- cloud
- meshery
tags:
- Organization_Organizations
security:
- Organization_jwt: []
summary: Read organizations
description: Returns organizations for the current user.
operationId: getOrgs
parameters:
- name: page
in: query
description: Zero-based index of the result page to return.
schema:
type: integer
minimum: 0
- name: pageSize
in: query
description: Maximum number of items returned on each page.
schema:
type: integer
minimum: 1
- 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
description: Paginated list of organizations.
properties:
page:
type: integer
description: Zero-based page index returned in this response.
minimum: 0
pageSize:
type: integer
description: Maximum number of items returned on each page.
minimum: 1
x-oapi-codegen-extra-tags:
json: pageSize,omitempty
totalCount:
type: integer
description: Total number of items across all pages.
minimum: 0
x-oapi-codegen-extra-tags:
json: totalCount,omitempty
organizations:
type: array
description: Organizations in this page.
items:
type: object
description: Organization listing record used in list and get responses.
additionalProperties: false
properties:
id:
description: Organization ID.
x-go-name: ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
description: Name of the organization.
type: string
x-go-type-skip-optional-pointer: true
description:
description: Description of the organization.
type: string
x-go-type-skip-optional-pointer: true
country:
description: Country of the organization.
type: string
x-go-type-skip-optional-pointer: true
region:
description: Region of the organization.
type: string
x-go-type-skip-optional-pointer: true
owner:
description: Display name of the organization owner.
type: string
x-go-type-skip-optional-pointer: true
metadata:
x-go-type: OrgMetadata
type: object
description: Free-form metadata associated with an organization, including preferences.
required:
- preferences
properties:
preferences:
x-go-type: Preferences
type: object
description: Organization-level user experience preferences.
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
description: UI theme configured for an organization.
required:
- id
- logo
properties:
id:
type: string
description: Theme identifier.
format: uuid
maxLength: 36
logo:
x-go-type: Logo
type: object
description: Themed logo assets used across light and dark, desktop and mobile presentations.
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
mobileView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
vars:
type: object
additionalProperties: true
description: Arbitrary theme variables keyed by name.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior.
additionalProperties: true
links:
x-go-type: Links
type: object
x-internal:
- cloud
description: >-
Per-organization overrides for the legal and support links shown on the auth pages
and the error page. termsOfService and privacy are the named legal links; support is
an open-ended set of named support contacts/links. Empty or omitted fields fall back
to the platform defaults.
properties:
termsOfService:
type: string
format: uri
maxLength: 2048
description: URL of the organization's Terms of Service page.
privacy:
type: string
format: uri
maxLength: 2048
description: URL of the organization's Privacy Policy page.
support:
type: object
additionalProperties:
type: string
maxLength: 2048
description: >-
Open-ended set of named support contacts/links rendered on the auth and error
pages, keyed by display name with a value that is a URL, a mailto:/tel: link, or
free text. For example a "slack" entry pointing at https://slack.meshery.io, a
"discussion forum" entry, or a "support desk" entry holding a phone number.
showAuthCarousel:
type: boolean
default: true
description: >-
Whether the feature carousel renders on the organization's auth pages. Unset is
treated as true (shown); set false to hide it.
createdAt:
description: Timestamp when the organization was created.
x-oapi-codegen-extra-tags:
json: createdAt,omitempty
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the organization was last updated.
x-oapi-codegen-extra-tags:
json: updatedAt,omitempty
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the organization was soft-deleted.
x-oapi-codegen-extra-tags:
json: deletedAt,omitempty
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
'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:
x-internal:
- cloud
- meshery
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
description: Payload for creating or updating an organization. Contains only client-settable fields.
properties:
name:
description: Name of the organization.
type: string
x-go-type-skip-optional-pointer: true
country:
description: Country of the organization.
type: string
x-go-type-skip-optional-pointer: true
region:
description: Region of the organization.
type: string
x-go-type-skip-optional-pointer: true
description:
description: Description of the organization.
type: string
x-go-type-skip-optional-pointer: true
notifyOrgUpdate:
type: boolean
description: Indicates whether organization members should be notified of this update.
preferences:
description: Organization-level user experience preferences.
type: object
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
description: UI theme configured for an organization.
required:
- id
- logo
properties:
id:
type: string
description: Theme identifier.
format: uuid
maxLength: 36
logo:
x-go-type: Logo
type: object
description: Themed logo assets used across light and dark, desktop and mobile presentations.
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
mobileView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
vars:
type: object
additionalProperties: true
description: Arbitrary theme variables keyed by name.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior.
additionalProperties: true
links:
x-go-type: Links
type: object
x-internal:
- cloud
description: >-
Per-organization overrides for the legal and support links shown on the auth pages and the error
page. termsOfService and privacy are the named legal links; support is an open-ended set of
named support contacts/links. Empty or omitted fields fall back to the platform defaults.
properties:
termsOfService:
type: string
format: uri
maxLength: 2048
description: URL of the organization's Terms of Service page.
privacy:
type: string
format: uri
maxLength: 2048
description: URL of the organization's Privacy Policy page.
support:
type: object
additionalProperties:
type: string
maxLength: 2048
description: >-
Open-ended set of named support contacts/links rendered on the auth and error pages, keyed
by display name with a value that is a URL, a mailto:/tel: link, or free text. For example a
"slack" entry pointing at https://slack.meshery.io, a "discussion forum" entry, or a
"support desk" entry holding a phone number.
showAuthCarousel:
type: boolean
default: true
description: >-
Whether the feature carousel renders on the organization's auth pages. Unset is treated as true
(shown); set false to hide it.
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: Zero-based page index returned in this response.
minimum: 0
pageSize:
type: integer
description: Maximum number of items returned on each page.
minimum: 1
x-oapi-codegen-extra-tags:
json: pageSize,omitempty
totalCount:
type: integer
description: Total number of items across all pages.
minimum: 0
x-oapi-codegen-extra-tags:
json: totalCount,omitempty
organizations:
type: array
description: Organizations returned in this single-item page wrapper.
maxItems: 1
items:
type: object
description: Organization listing record used in list and get responses.
additionalProperties: false
properties:
id:
description: Organization ID.
x-go-name: ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
description: Name of the organization.
type: string
x-go-type-skip-optional-pointer: true
description:
description: Description of the organization.
type: string
x-go-type-skip-optional-pointer: true
country:
description: Country of the organization.
type: string
x-go-type-skip-optional-pointer: true
region:
description: Region of the organization.
type: string
x-go-type-skip-optional-pointer: true
owner:
description: Display name of the organization owner.
type: string
x-go-type-skip-optional-pointer: true
metadata:
x-go-type: OrgMetadata
type: object
description: Free-form metadata associated with an organization, including preferences.
required:
- preferences
properties:
preferences:
x-go-type: Preferences
type: object
description: Organization-level user experience preferences.
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
description: UI theme configured for an organization.
required:
- id
- logo
properties:
id:
type: string
description: Theme identifier.
format: uuid
maxLength: 36
logo:
x-go-type: Logo
type: object
description: Themed logo assets used across light and dark, desktop and mobile presentations.
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
mobileView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
vars:
type: object
additionalProperties: true
description: Arbitrary theme variables keyed by name.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior.
additionalProperties: true
links:
x-go-type: Links
type: object
x-internal:
- cloud
description: >-
Per-organization overrides for the legal and support links shown on the auth pages
and the error page. termsOfService and privacy are the named legal links; support is
an open-ended set of named support contacts/links. Empty or omitted fields fall back
to the platform defaults.
properties:
termsOfService:
type: string
format: uri
maxLength: 2048
description: URL of the organization's Terms of Service page.
privacy:
type: string
format: uri
maxLength: 2048
description: URL of the organization's Privacy Policy page.
support:
type: object
additionalProperties:
type: string
maxLength: 2048
description: >-
Open-ended set of named support contacts/links rendered on the auth and error
pages, keyed by display name with a value that is a URL, a mailto:/tel: link, or
free text. For example a "slack" entry pointing at https://slack.meshery.io, a
"discussion forum" entry, or a "support desk" entry holding a phone number.
showAuthCarousel:
type: boolean
default: true
description: >-
Whether the feature carousel renders on the organization's auth pages. Unset is
treated as true (shown); set false to hide it.
createdAt:
description: Timestamp when the organization was created.
x-oapi-codegen-extra-tags:
json: createdAt,omitempty
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the organization was last updated.
x-oapi-codegen-extra-tags:
json: updatedAt,omitempty
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the organization was soft-deleted.
x-oapi-codegen-extra-tags:
json: deletedAt,omitempty
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
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/identity/orgs/by-domain:
get:
x-internal:
- cloud
- meshery
tags:
- Organization_Organizations
summary: Get organization by domain
operationId: getOrgByDomain
parameters:
- name: domain
in: query
required: true
description: Domain name of the organization to look up.
schema:
type: string
maxLength: 500
responses:
'200':
description: Organization response
content:
application/json:
schema:
$id: https://schemas.meshery.io/organization.yaml
$schema: http://json-schema.org/draft-07/schema#
description: >-
An organization in Meshery Cloud. Organizations are the top-level tenancy boundary and own teams,
workspaces, environments, designs, and other resources. Learn more at
https://docs.meshery.io/concepts/logical/organizations
type: object
additionalProperties: false
required:
- id
- name
- country
- region
- description
- owner
- metadata
- createdAt
- updatedAt
properties:
id:
description: Organization 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
name:
type: string
description: Name of the organization.
minLength: 1
maxLength: 255
x-oapi-codegen-extra-tags:
db: name
json: name
country:
type: string
description: Country of the organization.
maxLength: 500
x-oapi-codegen-extra-tags:
db: country
json: country
region:
type: string
description: Region of the organization.
maxLength: 500
x-oapi-codegen-extra-tags:
db: region
json: region
description:
type: string
description: Description of the organization.
maxLength: 5000
x-oapi-codegen-extra-tags:
db: description
json: description
owner:
description: Owner user ID of the organization.
x-oapi-codegen-extra-tags:
db: owner
json: owner
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
metadata:
type: object
description: Free-form metadata associated with the organization, including preferences.
x-go-type: OrgMetadata
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
domain:
type: string
nullable: true
description: Domain of the organization.
maxLength: 500
x-oapi-codegen-extra-tags:
db: domain
json: domain,omitempty
createdAt:
description: Timestamp when the organization was created.
type: string
format: date-time
x-go-type: time.Time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: created_at
json: createdAt
updatedAt:
description: Timestamp when the organization was last updated.
type: string
format: date-time
x-go-type: time.Time
x-go-name: UpdatedAt
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: updated_at
json: updatedAt
deletedAt:
description: Timestamp when the organization was soft-deleted. Null while the organization is active.
type: string
format: date-time
x-go-type: core.NullTime
x-go-name: DeletedAt
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt,omitempty
'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:
x-internal:
- cloud
- meshery
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
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
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: Zero-based page index returned in this response.
minimum: 0
pageSize:
type: integer
description: Maximum number of items returned on each page.
minimum: 1
x-oapi-codegen-extra-tags:
json: pageSize,omitempty
totalCount:
type: integer
description: Total number of items across all pages.
minimum: 0
x-oapi-codegen-extra-tags:
json: totalCount,omitempty
organizations:
type: array
description: Organizations returned in this single-item page wrapper.
maxItems: 1
items:
type: object
description: Organization listing record used in list and get responses.
additionalProperties: false
properties:
id:
description: Organization ID.
x-go-name: ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
description: Name of the organization.
type: string
x-go-type-skip-optional-pointer: true
description:
description: Description of the organization.
type: string
x-go-type-skip-optional-pointer: true
country:
description: Country of the organization.
type: string
x-go-type-skip-optional-pointer: true
region:
description: Region of the organization.
type: string
x-go-type-skip-optional-pointer: true
owner:
description: Display name of the organization owner.
type: string
x-go-type-skip-optional-pointer: true
metadata:
x-go-type: OrgMetadata
type: object
description: Free-form metadata associated with an organization, including preferences.
required:
- preferences
properties:
preferences:
x-go-type: Preferences
type: object
description: Organization-level user experience preferences.
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
description: UI theme configured for an organization.
required:
- id
- logo
properties:
id:
type: string
description: Theme identifier.
format: uuid
maxLength: 36
logo:
x-go-type: Logo
type: object
description: Themed logo assets used across light and dark, desktop and mobile presentations.
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
mobileView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
vars:
type: object
additionalProperties: true
description: Arbitrary theme variables keyed by name.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior.
additionalProperties: true
links:
x-go-type: Links
type: object
x-internal:
- cloud
description: >-
Per-organization overrides for the legal and support links shown on the auth pages
and the error page. termsOfService and privacy are the named legal links; support is
an open-ended set of named support contacts/links. Empty or omitted fields fall back
to the platform defaults.
properties:
termsOfService:
type: string
format: uri
maxLength: 2048
description: URL of the organization's Terms of Service page.
privacy:
type: string
format: uri
maxLength: 2048
description: URL of the organization's Privacy Policy page.
support:
type: object
additionalProperties:
type: string
maxLength: 2048
description: >-
Open-ended set of named support contacts/links rendered on the auth and error
pages, keyed by display name with a value that is a URL, a mailto:/tel: link, or
free text. For example a "slack" entry pointing at https://slack.meshery.io, a
"discussion forum" entry, or a "support desk" entry holding a phone number.
showAuthCarousel:
type: boolean
default: true
description: >-
Whether the feature carousel renders on the organization's auth pages. Unset is
treated as true (shown); set false to hide it.
createdAt:
description: Timestamp when the organization was created.
x-oapi-codegen-extra-tags:
json: createdAt,omitempty
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the organization was last updated.
x-oapi-codegen-extra-tags:
json: updatedAt,omitempty
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the organization was soft-deleted.
x-oapi-codegen-extra-tags:
json: deletedAt,omitempty
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
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
- meshery
tags:
- Organization_Organizations
security:
- Organization_jwt: []
summary: Delete an organization
description: Deletes the organization.
operationId: deleteOrg
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
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:
x-internal:
- cloud
- meshery
tags:
- Organization_Organizations
security:
- Organization_jwt: []
summary: Update an organization
description: Updates the organization.
operationId: updateOrg
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
requestBody:
description: Body for creating or updating an organization
required: true
content:
application/json:
schema:
type: object
description: Payload for creating or updating an organization. Contains only client-settable fields.
properties:
name:
description: Name of the organization.
type: string
x-go-type-skip-optional-pointer: true
country:
description: Country of the organization.
type: string
x-go-type-skip-optional-pointer: true
region:
description: Region of the organization.
type: string
x-go-type-skip-optional-pointer: true
description:
description: Description of the organization.
type: string
x-go-type-skip-optional-pointer: true
notifyOrgUpdate:
type: boolean
description: Indicates whether organization members should be notified of this update.
preferences:
description: Organization-level user experience preferences.
type: object
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
description: UI theme configured for an organization.
required:
- id
- logo
properties:
id:
type: string
description: Theme identifier.
format: uuid
maxLength: 36
logo:
x-go-type: Logo
type: object
description: Themed logo assets used across light and dark, desktop and mobile presentations.
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
mobileView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
vars:
type: object
additionalProperties: true
description: Arbitrary theme variables keyed by name.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior.
additionalProperties: true
links:
x-go-type: Links
type: object
x-internal:
- cloud
description: >-
Per-organization overrides for the legal and support links shown on the auth pages and the error
page. termsOfService and privacy are the named legal links; support is an open-ended set of
named support contacts/links. Empty or omitted fields fall back to the platform defaults.
properties:
termsOfService:
type: string
format: uri
maxLength: 2048
description: URL of the organization's Terms of Service page.
privacy:
type: string
format: uri
maxLength: 2048
description: URL of the organization's Privacy Policy page.
support:
type: object
additionalProperties:
type: string
maxLength: 2048
description: >-
Open-ended set of named support contacts/links rendered on the auth and error pages, keyed
by display name with a value that is a URL, a mailto:/tel: link, or free text. For example a
"slack" entry pointing at https://slack.meshery.io, a "discussion forum" entry, or a
"support desk" entry holding a phone number.
showAuthCarousel:
type: boolean
default: true
description: >-
Whether the feature carousel renders on the organization's auth pages. Unset is treated as true
(shown); set false to hide it.
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: Zero-based page index returned in this response.
minimum: 0
pageSize:
type: integer
description: Maximum number of items returned on each page.
minimum: 1
x-oapi-codegen-extra-tags:
json: pageSize,omitempty
totalCount:
type: integer
description: Total number of items across all pages.
minimum: 0
x-oapi-codegen-extra-tags:
json: totalCount,omitempty
organizations:
type: array
description: Organizations returned in this single-item page wrapper.
maxItems: 1
items:
type: object
description: Organization listing record used in list and get responses.
additionalProperties: false
properties:
id:
description: Organization ID.
x-go-name: ID
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
name:
description: Name of the organization.
type: string
x-go-type-skip-optional-pointer: true
description:
description: Description of the organization.
type: string
x-go-type-skip-optional-pointer: true
country:
description: Country of the organization.
type: string
x-go-type-skip-optional-pointer: true
region:
description: Region of the organization.
type: string
x-go-type-skip-optional-pointer: true
owner:
description: Display name of the organization owner.
type: string
x-go-type-skip-optional-pointer: true
metadata:
x-go-type: OrgMetadata
type: object
description: Free-form metadata associated with an organization, including preferences.
required:
- preferences
properties:
preferences:
x-go-type: Preferences
type: object
description: Organization-level user experience preferences.
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
description: UI theme configured for an organization.
required:
- id
- logo
properties:
id:
type: string
description: Theme identifier.
format: uuid
maxLength: 36
logo:
x-go-type: Logo
type: object
description: Themed logo assets used across light and dark, desktop and mobile presentations.
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
mobileView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
vars:
type: object
additionalProperties: true
description: Arbitrary theme variables keyed by name.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior.
additionalProperties: true
links:
x-go-type: Links
type: object
x-internal:
- cloud
description: >-
Per-organization overrides for the legal and support links shown on the auth pages
and the error page. termsOfService and privacy are the named legal links; support is
an open-ended set of named support contacts/links. Empty or omitted fields fall back
to the platform defaults.
properties:
termsOfService:
type: string
format: uri
maxLength: 2048
description: URL of the organization's Terms of Service page.
privacy:
type: string
format: uri
maxLength: 2048
description: URL of the organization's Privacy Policy page.
support:
type: object
additionalProperties:
type: string
maxLength: 2048
description: >-
Open-ended set of named support contacts/links rendered on the auth and error
pages, keyed by display name with a value that is a URL, a mailto:/tel: link, or
free text. For example a "slack" entry pointing at https://slack.meshery.io, a
"discussion forum" entry, or a "support desk" entry holding a phone number.
showAuthCarousel:
type: boolean
default: true
description: >-
Whether the feature carousel renders on the organization's auth pages. Unset is
treated as true (shown); set false to hide it.
createdAt:
description: Timestamp when the organization was created.
x-oapi-codegen-extra-tags:
json: createdAt,omitempty
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the organization was last updated.
x-oapi-codegen-extra-tags:
json: updatedAt,omitempty
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the organization was soft-deleted.
x-oapi-codegen-extra-tags:
json: deletedAt,omitempty
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
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/orgs/{orgId}/preferences:
get:
x-internal:
- cloud
- meshery
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
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
responses:
'200':
description: Organization metadata, including preferences
content:
application/json:
schema:
type: object
description: Free-form metadata associated with an organization, including preferences.
required:
- preferences
properties:
preferences:
x-go-type: Preferences
type: object
description: Organization-level user experience preferences.
required:
- theme
- dashboard
properties:
theme:
x-go-type: Theme
type: object
description: UI theme configured for an organization.
required:
- id
- logo
properties:
id:
type: string
description: Theme identifier.
format: uuid
maxLength: 36
logo:
x-go-type: Logo
type: object
description: Themed logo assets used across light and dark, desktop and mobile presentations.
required:
- desktopView
- mobileView
- darkDesktopView
- darkMobileView
properties:
desktopView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
mobileView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
darkDesktopView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
darkMobileView:
x-go-type: Location
type: object
description: Image asset anchored to a named location within an organization theme.
required:
- svg
- location
properties:
svg:
type: string
description: SVG markup for the asset.
maxLength: 500
location:
type: string
description: Named location of the asset (e.g. header, footer).
maxLength: 500
vars:
type: object
additionalProperties: true
description: Arbitrary theme variables keyed by name.
dashboard:
x-go-type: DashboardPrefs
type: object
description: Preferences specific to dashboard behavior.
additionalProperties: true
links:
x-go-type: Links
type: object
x-internal:
- cloud
description: >-
Per-organization overrides for the legal and support links shown on the auth pages and the
error page. termsOfService and privacy are the named legal links; support is an open-ended set
of named support contacts/links. Empty or omitted fields fall back to the platform defaults.
properties:
termsOfService:
type: string
format: uri
maxLength: 2048
description: URL of the organization's Terms of Service page.
privacy:
type: string
format: uri
maxLength: 2048
description: URL of the organization's Privacy Policy page.
support:
type: object
additionalProperties:
type: string
maxLength: 2048
description: >-
Open-ended set of named support contacts/links rendered on the auth and error pages, keyed
by display name with a value that is a URL, a mailto:/tel: link, or free text. For example
a "slack" entry pointing at https://slack.meshery.io, a "discussion forum" entry, or a
"support desk" entry holding a phone number.
showAuthCarousel:
type: boolean
default: true
description: >-
Whether the feature carousel renders on the organization's auth pages. Unset is treated as
true (shown); set false to hide it.
'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:
x-internal:
- cloud
- meshery
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
deletedAt timestamp. The team's organization mapping remains intact.
operationId: addTeamToOrg
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: teamId
in: path
required: true
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
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
description: Paginated list of team-organization mappings.
properties:
page:
type: integer
description: Zero-based page index returned in this response.
minimum: 0
pageSize:
type: integer
description: Maximum number of items returned on each page.
minimum: 1
x-oapi-codegen-extra-tags:
json: pageSize,omitempty
totalCount:
type: integer
description: Total number of items across all pages.
minimum: 0
x-oapi-codegen-extra-tags:
json: totalCount,omitempty
teamsOrganizationsMapping:
type: array
description: Team-organization mapping entries.
items:
type: object
description: Junction record linking a team to an organization.
properties:
id:
description: Mapping record 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:
description: Organization ID for this mapping.
x-go-name: OrgID
x-oapi-codegen-extra-tags:
db: org_id
json: orgId
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
teamId:
description: Team ID for this mapping.
x-go-name: TeamID
x-oapi-codegen-extra-tags:
db: team_id
json: teamId
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
createdAt:
description: Timestamp when the mapping was created.
x-oapi-codegen-extra-tags:
db: created_at
json: createdAt,omitempty
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the mapping was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
json: updatedAt,omitempty
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the mapping was soft-deleted.
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt,omitempty
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
- type: object
description: Paginated list of teams.
properties:
page:
type: integer
description: Zero-based page index returned in this response.
minimum: 0
pageSize:
type: integer
description: Maximum number of items returned on each page.
minimum: 1
x-oapi-codegen-extra-tags:
json: pageSize,omitempty
totalCount:
type: integer
description: Total number of items across all pages.
minimum: 0
x-oapi-codegen-extra-tags:
json: totalCount,omitempty
teams:
type: array
description: Teams in this page.
items:
type: object
description: Team listing record used in team listings associated with an organization.
properties:
id:
description: 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: id
json: id
x-go-type-name: GeneralId
x-go-type-skip-optional-pointer: true
name:
description: Name of the team.
type: string
x-go-type-skip-optional-pointer: true
description:
description: Description of the team.
type: string
x-go-type-skip-optional-pointer: true
owner:
description: Display name of the team owner.
type: string
x-go-type-skip-optional-pointer: true
metadata:
description: Free-form team metadata.
type: object
additionalProperties:
type: string
x-go-type-skip-optional-pointer: true
createdAt:
description: Timestamp when the team was created.
x-oapi-codegen-extra-tags:
json: createdAt,omitempty
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the team was last updated.
x-oapi-codegen-extra-tags:
json: updatedAt,omitempty
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the team was soft-deleted.
x-oapi-codegen-extra-tags:
json: deletedAt,omitempty
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'500':
description: Internal server error
get:
x-internal:
- cloud
- meshery
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
- createdAt
- updatedAt
properties:
id:
description: Team ID
x-order: 1
x-go-name: ID
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:
x-oapi-codegen-extra-tags:
db: name
x-order: 2
type: string
description: Team name
minLength: 1
maxLength: 255
description:
x-oapi-codegen-extra-tags:
db: description
x-order: 3
type: string
description: Team description
maxLength: 5000
owner:
x-oapi-codegen-extra-tags:
db: 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
x-order: 5
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
description: Additional metadata for the team
createdAt:
description: Timestamp when the team was created.
x-oapi-codegen-extra-tags:
db: created_at
json: createdAt
x-order: 6
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the team was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
json: updatedAt
x-order: 7
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the team was soft-deleted, if applicable.
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-order: 8
x-go-type: NullTime
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
- meshery
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
- createdAt
- updatedAt
properties:
id:
description: Team ID
x-order: 1
x-go-name: ID
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:
x-oapi-codegen-extra-tags:
db: name
x-order: 2
type: string
description: Team name
minLength: 1
maxLength: 255
description:
x-oapi-codegen-extra-tags:
db: description
x-order: 3
type: string
description: Team description
maxLength: 5000
owner:
x-oapi-codegen-extra-tags:
db: 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
x-order: 5
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
description: Additional metadata for the team
createdAt:
description: Timestamp when the team was created.
x-oapi-codegen-extra-tags:
db: created_at
json: createdAt
x-order: 6
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the team was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
json: updatedAt
x-order: 7
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the team was soft-deleted, if applicable.
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-order: 8
x-go-type: NullTime
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
- meshery
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:
x-internal:
- cloud
- meshery
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
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: teamId
in: path
required: true
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
responses:
'200':
description: Team removed from organization
content:
application/json:
schema:
type: object
description: Paginated list of team-organization mappings.
properties:
page:
type: integer
description: Zero-based page index returned in this response.
minimum: 0
pageSize:
type: integer
description: Maximum number of items returned on each page.
minimum: 1
x-oapi-codegen-extra-tags:
json: pageSize,omitempty
totalCount:
type: integer
description: Total number of items across all pages.
minimum: 0
x-oapi-codegen-extra-tags:
json: totalCount,omitempty
teamsOrganizationsMapping:
type: array
description: Team-organization mapping entries.
items:
type: object
description: Junction record linking a team to an organization.
properties:
id:
description: Mapping record 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:
description: Organization ID for this mapping.
x-go-name: OrgID
x-oapi-codegen-extra-tags:
db: org_id
json: orgId
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
teamId:
description: Team ID for this mapping.
x-go-name: TeamID
x-oapi-codegen-extra-tags:
db: team_id
json: teamId
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
createdAt:
description: Timestamp when the mapping was created.
x-oapi-codegen-extra-tags:
db: created_at
json: createdAt,omitempty
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the mapping was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
json: updatedAt,omitempty
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the mapping was soft-deleted.
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt,omitempty
type: string
format: date-time
x-go-type: sql.NullTime
x-go-type-import:
path: database/sql
x-go-type-skip-optional-pointer: true
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'500':
description: Internal server error
/api/identity/orgs/{orgId}/users/{userId}:
post:
x-internal:
- cloud
- meshery
tags:
- Organization_Organizations
security:
- Organization_jwt: []
summary: Add user to organization
operationId: addUserToOrg
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: userId
in: path
required: true
description: User 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: user_id
json: user_id
x-go-name: UserID
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:
x-internal:
- cloud
- meshery
tags:
- Organization_Organizations
security:
- Organization_jwt: []
summary: Remove user from organization
operationId: deleteUserFromOrg
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: userId
in: path
required: true
description: User 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: user_id
json: user_id
x-go-name: UserID
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/orgs/{orgId}/teams:
get:
x-internal:
- cloud
- meshery
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
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
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
- createdAt
- updatedAt
properties:
id:
description: Team ID
x-order: 1
x-go-name: ID
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:
x-oapi-codegen-extra-tags:
db: name
x-order: 2
type: string
description: Team name
minLength: 1
maxLength: 255
description:
x-oapi-codegen-extra-tags:
db: description
x-order: 3
type: string
description: Team description
maxLength: 5000
owner:
x-oapi-codegen-extra-tags:
db: 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
x-order: 5
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
description: Additional metadata for the team
createdAt:
description: Timestamp when the team was created.
x-oapi-codegen-extra-tags:
db: created_at
json: createdAt
x-order: 6
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the team was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
json: updatedAt
x-order: 7
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the team was soft-deleted, if applicable.
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-order: 8
x-go-type: NullTime
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:
x-internal:
- cloud
- meshery
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
- createdAt
- updatedAt
properties:
id:
description: Team ID
x-order: 1
x-go-name: ID
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:
x-oapi-codegen-extra-tags:
db: name
x-order: 2
type: string
description: Team name
minLength: 1
maxLength: 255
description:
x-oapi-codegen-extra-tags:
db: description
x-order: 3
type: string
description: Team description
maxLength: 5000
owner:
x-oapi-codegen-extra-tags:
db: 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
x-order: 5
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
description: Additional metadata for the team
createdAt:
description: Timestamp when the team was created.
x-oapi-codegen-extra-tags:
db: created_at
json: createdAt
x-order: 6
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the team was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
json: updatedAt
x-order: 7
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the team was soft-deleted, if applicable.
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-order: 8
x-go-type: NullTime
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:
x-internal:
- cloud
- meshery
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 user-team mappings
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
usersTeamsMapping:
type: array
x-go-type-skip-optional-pointer: true
items:
x-go-type: UsersTeamsMapping
type: object
description: >
Join row between users and teams. The schema name is `UsersTeamsMapping` (rather than
`TeamsUsersMapping`) so that pop's tableize default produces the live DB table name
`users_teams_mappings`, eliminating the need for an explicit `TableName()` helper on the
generated Go struct.
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
teamId:
description: Team ID
x-oapi-codegen-extra-tags:
db: team_id
json: teamId
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
userId:
description: User ID
x-oapi-codegen-extra-tags:
db: user_id
json: userId
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
roleId:
description: >
Optional role assigned to this team membership. Nullable because a membership may exist
without an explicit role (e.g., team-admin assignments are stamped on insert; non-owner adds
may leave `role_id` null until a role is assigned). References `roles.id`.
x-oapi-codegen-extra-tags:
db: role_id
json: roleId,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
createdAt:
description: Timestamp when the mapping was created.
x-oapi-codegen-extra-tags:
db: created_at
json: createdAt
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the mapping was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
json: updatedAt
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the mapping was soft-deleted, if applicable.
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-go-type: NullTime
type: string
format: date-time
x-go-type-skip-optional-pointer: true
description: The user-team mappings on the current 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/identity/orgs/{orgId}/teams/{teamId}/users/{userId}:
post:
x-internal:
- cloud
- meshery
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: >
Join row between users and teams. The schema name is `UsersTeamsMapping` (rather than
`TeamsUsersMapping`) so that pop's tableize default produces the live DB table name
`users_teams_mappings`, eliminating the need for an explicit `TableName()` helper on the generated Go
struct.
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
teamId:
description: Team ID
x-oapi-codegen-extra-tags:
db: team_id
json: teamId
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
userId:
description: User ID
x-oapi-codegen-extra-tags:
db: user_id
json: userId
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
roleId:
description: >
Optional role assigned to this team membership. Nullable because a membership may exist without an
explicit role (e.g., team-admin assignments are stamped on insert; non-owner adds may leave
`role_id` null until a role is assigned). References `roles.id`.
x-oapi-codegen-extra-tags:
db: role_id
json: roleId,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
createdAt:
description: Timestamp when the mapping was created.
x-oapi-codegen-extra-tags:
db: created_at
json: createdAt
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the mapping was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
json: updatedAt
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the mapping was soft-deleted, if applicable.
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-go-type: NullTime
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
- meshery
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:
x-internal:
- cloud
- meshery
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
description: Paginated list of team members.
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: >
A user who is a prospective or existing team member. Returned by the "list users in team"
endpoint. `joinedAt` is the first canonicalised projection field — other user fields (`id`,
`firstName`, `lastName`, `email`, `avatarUrl`) continue to flow through `additionalProperties`
pending migration of the user schema to the canonical-casing contract. See meshery/schemas#832
for the per-field roadmap.
additionalProperties: true
properties:
joinedAt:
description: >
Timestamp when the user joined the team. Server-computed from the earliest matching row in
`users_teams_mapping` for this (team, user) pair. Server-managed; clients cannot set this.
x-oapi-codegen-extra-tags:
db: joined_at
json: joinedAt
x-go-type: NullTime
type: string
format: date-time
x-go-type-skip-optional-pointer: 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:
x-internal:
- cloud
- meshery
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
- name: page
in: query
description: Get responses by page
schema:
type: string
- name: pageSize
in: query
description: Get responses by page size
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
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
pageSize:
type: integer
description: Number of items per page.
minimum: 1
totalCount:
type: integer
description: Total number of items available.
minimum: 0
data:
type: array
items:
type: object
description: Represents a user
required:
- id
- userId
- provider
- email
- firstName
- lastName
- status
- createdAt
- updatedAt
- lastLoginTime
- deletedAt
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
userId:
type: string
maxLength: 200
description: User identifier (username or external ID)
x-oapi-codegen-extra-tags:
db: user_id
json: userId
x-id-format: external
provider:
type: string
maxLength: 100
description: Authentication provider (e.g., Google, 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
firstName:
type: string
maxLength: 200
description: User's first name
x-oapi-codegen-extra-tags:
db: first_name
json: firstName
lastName:
type: string
maxLength: 300
description: User's last name
x-oapi-codegen-extra-tags:
db: last_name
json: lastName
avatarUrl:
type: string
format: uri
maxLength: 500
description: URL to user's avatar image
x-oapi-codegen-extra-tags:
db: avatar_url
json: avatarUrl
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
- updatedAt
- 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 URL 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.
updatedAt:
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.
acceptedTermsAt:
description: Timestamp when user accepted terms and conditions
x-oapi-codegen-extra-tags:
db: accepted_terms_at
json: acceptedTermsAt
type: string
format: date-time
x-go-type-skip-optional-pointer: true
firstLoginTime:
description: Timestamp of user's first login
x-oapi-codegen-extra-tags:
db: first_login_time
json: firstLoginTime
type: string
format: date-time
x-go-type-skip-optional-pointer: true
lastLoginTime:
description: Timestamp of user's most recent login
x-oapi-codegen-extra-tags:
db: last_login_time
json: lastLoginTime
type: string
format: date-time
x-go-type-skip-optional-pointer: true
createdAt:
description: Timestamp when the user record was created
x-oapi-codegen-extra-tags:
db: created_at
json: createdAt
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the user record was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updatedAt
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
deletedAt:
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: deletedAt
roleNames:
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: roleNames
teams:
type: object
description: Teams the user belongs to with role information
x-oapi-codegen-extra-tags:
db: teams
json: teams
properties:
teamsWithRoles:
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: teamsWithRoles
totalCount:
type: integer
description: Total number of team memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: totalCount
organizations:
type: object
description: Organizations the user belongs to with role information
x-oapi-codegen-extra-tags:
db: organizations
json: organizations
properties:
organizationsWithRoles:
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: organizationsWithRoles
totalCount:
type: integer
description: Total number of organization memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: totalCount
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:
x-internal:
- cloud
- meshery
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 page size
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
pageSize:
type: integer
description: Number of items per page.
minimum: 1
totalCount:
type: integer
description: Total number of items available.
minimum: 0
data:
type: array
items:
type: object
description: Represents a user
required:
- id
- userId
- provider
- email
- firstName
- lastName
- status
- createdAt
- updatedAt
- lastLoginTime
- deletedAt
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
userId:
type: string
maxLength: 200
description: User identifier (username or external ID)
x-oapi-codegen-extra-tags:
db: user_id
json: userId
x-id-format: external
provider:
type: string
maxLength: 100
description: Authentication provider (e.g., Google, 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
firstName:
type: string
maxLength: 200
description: User's first name
x-oapi-codegen-extra-tags:
db: first_name
json: firstName
lastName:
type: string
maxLength: 300
description: User's last name
x-oapi-codegen-extra-tags:
db: last_name
json: lastName
avatarUrl:
type: string
format: uri
maxLength: 500
description: URL to user's avatar image
x-oapi-codegen-extra-tags:
db: avatar_url
json: avatarUrl
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
- updatedAt
- 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 URL 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.
updatedAt:
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.
acceptedTermsAt:
description: Timestamp when user accepted terms and conditions
x-oapi-codegen-extra-tags:
db: accepted_terms_at
json: acceptedTermsAt
type: string
format: date-time
x-go-type-skip-optional-pointer: true
firstLoginTime:
description: Timestamp of user's first login
x-oapi-codegen-extra-tags:
db: first_login_time
json: firstLoginTime
type: string
format: date-time
x-go-type-skip-optional-pointer: true
lastLoginTime:
description: Timestamp of user's most recent login
x-oapi-codegen-extra-tags:
db: last_login_time
json: lastLoginTime
type: string
format: date-time
x-go-type-skip-optional-pointer: true
createdAt:
description: Timestamp when the user record was created
x-oapi-codegen-extra-tags:
db: created_at
json: createdAt
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the user record was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updatedAt
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
deletedAt:
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: deletedAt
roleNames:
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: roleNames
teams:
type: object
description: Teams the user belongs to with role information
x-oapi-codegen-extra-tags:
db: teams
json: teams
properties:
teamsWithRoles:
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: teamsWithRoles
totalCount:
type: integer
description: Total number of team memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: totalCount
organizations:
type: object
description: Organizations the user belongs to with role information
x-oapi-codegen-extra-tags:
db: organizations
json: organizations
properties:
organizationsWithRoles:
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: organizationsWithRoles
totalCount:
type: integer
description: Total number of organization memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: totalCount
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:
x-internal:
- cloud
- meshery
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
required:
- id
- userId
- provider
- email
- firstName
- lastName
- status
- createdAt
- updatedAt
- lastLoginTime
- deletedAt
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
userId:
type: string
maxLength: 200
description: User identifier (username or external ID)
x-oapi-codegen-extra-tags:
db: user_id
json: userId
x-id-format: external
provider:
type: string
maxLength: 100
description: Authentication provider (e.g., Google, 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
firstName:
type: string
maxLength: 200
description: User's first name
x-oapi-codegen-extra-tags:
db: first_name
json: firstName
lastName:
type: string
maxLength: 300
description: User's last name
x-oapi-codegen-extra-tags:
db: last_name
json: lastName
avatarUrl:
type: string
format: uri
maxLength: 500
description: URL to user's avatar image
x-oapi-codegen-extra-tags:
db: avatar_url
json: avatarUrl
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
- updatedAt
- 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 URL 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.
updatedAt:
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.
acceptedTermsAt:
description: Timestamp when user accepted terms and conditions
x-oapi-codegen-extra-tags:
db: accepted_terms_at
json: acceptedTermsAt
type: string
format: date-time
x-go-type-skip-optional-pointer: true
firstLoginTime:
description: Timestamp of user's first login
x-oapi-codegen-extra-tags:
db: first_login_time
json: firstLoginTime
type: string
format: date-time
x-go-type-skip-optional-pointer: true
lastLoginTime:
description: Timestamp of user's most recent login
x-oapi-codegen-extra-tags:
db: last_login_time
json: lastLoginTime
type: string
format: date-time
x-go-type-skip-optional-pointer: true
createdAt:
description: Timestamp when the user record was created
x-oapi-codegen-extra-tags:
db: created_at
json: createdAt
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the user record was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updatedAt
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
deletedAt:
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: deletedAt
roleNames:
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: roleNames
teams:
type: object
description: Teams the user belongs to with role information
x-oapi-codegen-extra-tags:
db: teams
json: teams
properties:
teamsWithRoles:
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: teamsWithRoles
totalCount:
type: integer
description: Total number of team memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: totalCount
organizations:
type: object
description: Organizations the user belongs to with role information
x-oapi-codegen-extra-tags:
db: organizations
json: organizations
properties:
organizationsWithRoles:
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: organizationsWithRoles
totalCount:
type: integer
description: Total number of organization memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: totalCount
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:
x-internal:
- cloud
- meshery
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
required:
- id
- userId
- provider
- email
- firstName
- lastName
- status
- createdAt
- updatedAt
- lastLoginTime
- deletedAt
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
userId:
type: string
maxLength: 200
description: User identifier (username or external ID)
x-oapi-codegen-extra-tags:
db: user_id
json: userId
x-id-format: external
provider:
type: string
maxLength: 100
description: Authentication provider (e.g., Google, 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
firstName:
type: string
maxLength: 200
description: User's first name
x-oapi-codegen-extra-tags:
db: first_name
json: firstName
lastName:
type: string
maxLength: 300
description: User's last name
x-oapi-codegen-extra-tags:
db: last_name
json: lastName
avatarUrl:
type: string
format: uri
maxLength: 500
description: URL to user's avatar image
x-oapi-codegen-extra-tags:
db: avatar_url
json: avatarUrl
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
- updatedAt
- 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 URL 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.
updatedAt:
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.
acceptedTermsAt:
description: Timestamp when user accepted terms and conditions
x-oapi-codegen-extra-tags:
db: accepted_terms_at
json: acceptedTermsAt
type: string
format: date-time
x-go-type-skip-optional-pointer: true
firstLoginTime:
description: Timestamp of user's first login
x-oapi-codegen-extra-tags:
db: first_login_time
json: firstLoginTime
type: string
format: date-time
x-go-type-skip-optional-pointer: true
lastLoginTime:
description: Timestamp of user's most recent login
x-oapi-codegen-extra-tags:
db: last_login_time
json: lastLoginTime
type: string
format: date-time
x-go-type-skip-optional-pointer: true
createdAt:
description: Timestamp when the user record was created
x-oapi-codegen-extra-tags:
db: created_at
json: createdAt
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the user record was last updated
x-oapi-codegen-extra-tags:
db: updated_at
json: updatedAt
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
deletedAt:
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: deletedAt
roleNames:
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: roleNames
teams:
type: object
description: Teams the user belongs to with role information
x-oapi-codegen-extra-tags:
db: teams
json: teams
properties:
teamsWithRoles:
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: teamsWithRoles
totalCount:
type: integer
description: Total number of team memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: totalCount
organizations:
type: object
description: Organizations the user belongs to with role information
x-oapi-codegen-extra-tags:
db: organizations
json: organizations
properties:
organizationsWithRoles:
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: organizationsWithRoles
totalCount:
type: integer
description: Total number of organization memberships returned for the user.
minimum: 0
x-oapi-codegen-extra-tags:
db: total_count
json: totalCount
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/integrations/connections:
get:
x-internal:
- cloud
- meshery
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
minimum: 0
default: 0
- name: pageSize
in: query
description: Number of items per page
required: false
schema:
type: integer
minimum: 1
default: 10
- name: search
in: query
description: Search term
required: false
schema:
type: string
maxLength: 500
- name: order
in: query
description: Sort order
required: false
schema:
type: string
maxLength: 500
- name: orgId
in: query
description: Organization ID to scope the request.
required: false
schema:
type: string
format: uuid
- name: filter
in: query
description: Filter connections (general filter string)
required: false
schema:
type: string
maxLength: 500
- name: kind
in: query
description: Filter by connection kind (e.g., kubernetes, prometheus, grafana)
required: false
schema:
type: array
items:
type: string
maxLength: 255
- 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
maxLength: 255
- name: name
in: query
description: Filter by connection name (partial match supported)
required: false
schema:
type: string
maxLength: 255
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
- totalCount
- page
- pageSize
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
- subType
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
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:
x-oapi-codegen-extra-tags:
db: name
x-order: 2
type: string
description: Connection Name
minLength: 1
maxLength: 255
description:
x-oapi-codegen-extra-tags:
db: description
json: description
x-order: 3
type: string
description: Human-readable description of the connection and its purpose.
maxLength: 1000
url:
x-oapi-codegen-extra-tags:
db: url
json: url
x-order: 4
type: string
format: uri
description: >-
URL of the remote resource this connection points to (e.g. the Helm repository URL, the
Kubernetes API server endpoint, the Grafana instance URL).
maxLength: 2048
credentialId:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
json: credentialId
x-order: 5
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
x-order: 6
type: string
description: Connection Type (platform, telemetry, collaboration)
maxLength: 255
subType:
x-oapi-codegen-extra-tags:
db: sub_type
json: subType
x-order: 7
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
maxLength: 255
kind:
x-oapi-codegen-extra-tags:
db: kind
x-order: 8
type: string
description: Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github)
maxLength: 255
metadata:
x-oapi-codegen-extra-tags:
db: metadata
x-order: 9
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
x-order: 10
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
userId:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
json: userId
x-order: 11
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
createdAt:
description: Timestamp when the connection was created.
x-oapi-codegen-extra-tags:
db: created_at
json: createdAt
x-order: 12
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the connection was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
json: updatedAt
x-order: 13
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the connection was soft-deleted, if applicable.
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-order: 14
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: '*environmentv1beta3.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta3/environment
name: environmentv1beta3
$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/v1beta3
name: Production Environment
description: Connections and credentials for the production cluster.
organizationId: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
createdAt: '0001-01-01T00:00:00Z'
metadata: {}
updatedAt: '0001-01-01T00:00:00Z'
deletedAt: null
required:
- id
- schemaVersion
- name
- description
- organizationId
properties:
id:
description: ID
x-order: 1
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
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
json: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta3
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
json: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
json: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organizationId:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
json: organizationId
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
json: 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
createdAt:
description: Timestamp when the environment was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt
x-order: 7
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updatedAt:
description: Timestamp when the environment was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt
x-order: 9
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-go-type-skip-optional-pointer: true
deletedAt:
description: >-
Timestamp when the environment was soft deleted. Null while the environment remains
active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 15
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 16
x-oapi-codegen-extra-tags:
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta3
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
totalCount:
type: integer
description: Total number of connections on all pages
x-oapi-codegen-extra-tags:
json: totalCount
x-order: 2
minimum: 0
page:
type: integer
description: Current page number
x-order: 3
minimum: 0
pageSize:
type: integer
description: Number of elements per page
x-oapi-codegen-extra-tags:
json: pageSize
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:
x-internal:
- cloud
- meshery
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
- subType
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
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:
x-oapi-codegen-extra-tags:
db: name
x-order: 2
type: string
description: Connection Name
minLength: 1
maxLength: 255
description:
x-oapi-codegen-extra-tags:
db: description
json: description
x-order: 3
type: string
description: Human-readable description of the connection and its purpose.
maxLength: 1000
url:
x-oapi-codegen-extra-tags:
db: url
json: url
x-order: 4
type: string
format: uri
description: >-
URL of the remote resource this connection points to (e.g. the Helm repository URL, the Kubernetes
API server endpoint, the Grafana instance URL).
maxLength: 2048
credentialId:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
json: credentialId
x-order: 5
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
x-order: 6
type: string
description: Connection Type (platform, telemetry, collaboration)
maxLength: 255
subType:
x-oapi-codegen-extra-tags:
db: sub_type
json: subType
x-order: 7
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
maxLength: 255
kind:
x-oapi-codegen-extra-tags:
db: kind
x-order: 8
type: string
description: Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github)
maxLength: 255
metadata:
x-oapi-codegen-extra-tags:
db: metadata
x-order: 9
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
x-order: 10
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
userId:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
json: userId
x-order: 11
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
createdAt:
description: Timestamp when the connection was created.
x-oapi-codegen-extra-tags:
db: created_at
json: createdAt
x-order: 12
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the connection was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
json: updatedAt
x-order: 13
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the connection was soft-deleted, if applicable.
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-order: 14
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: '*environmentv1beta3.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta3/environment
name: environmentv1beta3
$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/v1beta3
name: Production Environment
description: Connections and credentials for the production cluster.
organizationId: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
createdAt: '0001-01-01T00:00:00Z'
metadata: {}
updatedAt: '0001-01-01T00:00:00Z'
deletedAt: null
required:
- id
- schemaVersion
- name
- description
- organizationId
properties:
id:
description: ID
x-order: 1
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
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
json: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta3
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
json: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
json: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organizationId:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
json: organizationId
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
json: 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
createdAt:
description: Timestamp when the environment was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt
x-order: 7
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updatedAt:
description: Timestamp when the environment was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt
x-order: 9
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 15
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 16
x-oapi-codegen-extra-tags:
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta3
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:
x-internal:
- cloud
- meshery
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
- subType
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
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:
x-oapi-codegen-extra-tags:
db: name
x-order: 2
type: string
description: Connection Name
minLength: 1
maxLength: 255
description:
x-oapi-codegen-extra-tags:
db: description
json: description
x-order: 3
type: string
description: Human-readable description of the connection and its purpose.
maxLength: 1000
url:
x-oapi-codegen-extra-tags:
db: url
json: url
x-order: 4
type: string
format: uri
description: >-
URL of the remote resource this connection points to (e.g. the Helm repository URL, the Kubernetes
API server endpoint, the Grafana instance URL).
maxLength: 2048
credentialId:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
json: credentialId
x-order: 5
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
x-order: 6
type: string
description: Connection Type (platform, telemetry, collaboration)
maxLength: 255
subType:
x-oapi-codegen-extra-tags:
db: sub_type
json: subType
x-order: 7
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
maxLength: 255
kind:
x-oapi-codegen-extra-tags:
db: kind
x-order: 8
type: string
description: Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github)
maxLength: 255
metadata:
x-oapi-codegen-extra-tags:
db: metadata
x-order: 9
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
x-order: 10
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
userId:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
json: userId
x-order: 11
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
createdAt:
description: Timestamp when the connection was created.
x-oapi-codegen-extra-tags:
db: created_at
json: createdAt
x-order: 12
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the connection was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
json: updatedAt
x-order: 13
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the connection was soft-deleted, if applicable.
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-order: 14
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: '*environmentv1beta3.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta3/environment
name: environmentv1beta3
$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/v1beta3
name: Production Environment
description: Connections and credentials for the production cluster.
organizationId: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
createdAt: '0001-01-01T00:00:00Z'
metadata: {}
updatedAt: '0001-01-01T00:00:00Z'
deletedAt: null
required:
- id
- schemaVersion
- name
- description
- organizationId
properties:
id:
description: ID
x-order: 1
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
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
json: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta3
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
json: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
json: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organizationId:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
json: organizationId
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
json: 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
createdAt:
description: Timestamp when the environment was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt
x-order: 7
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updatedAt:
description: Timestamp when the environment was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt
x-order: 9
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 15
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 16
x-oapi-codegen-extra-tags:
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta3
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:
x-internal:
- cloud
- meshery
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
- subType
- kind
- status
properties:
id:
description: Connection ID
x-order: 1
x-go-name: ID
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:
x-oapi-codegen-extra-tags:
db: name
x-order: 2
type: string
description: Connection Name
minLength: 1
maxLength: 255
description:
x-oapi-codegen-extra-tags:
db: description
json: description
x-order: 3
type: string
description: Human-readable description of the connection and its purpose.
maxLength: 1000
url:
x-oapi-codegen-extra-tags:
db: url
json: url
x-order: 4
type: string
format: uri
description: >-
URL of the remote resource this connection points to (e.g. the Helm repository URL, the Kubernetes
API server endpoint, the Grafana instance URL).
maxLength: 2048
credentialId:
x-go-name: CredentialID
x-oapi-codegen-extra-tags:
db: credential_id
json: credentialId
x-order: 5
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
x-order: 6
type: string
description: Connection Type (platform, telemetry, collaboration)
maxLength: 255
subType:
x-oapi-codegen-extra-tags:
db: sub_type
json: subType
x-order: 7
type: string
description: Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
maxLength: 255
kind:
x-oapi-codegen-extra-tags:
db: kind
x-order: 8
type: string
description: Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github)
maxLength: 255
metadata:
x-oapi-codegen-extra-tags:
db: metadata
x-order: 9
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
x-order: 10
description: Connection Status
type: string
enum:
- discovered
- registered
- connected
- ignored
- maintenance
- disconnected
- deleted
- not found
userId:
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
json: userId
x-order: 11
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
createdAt:
description: Timestamp when the connection was created.
x-oapi-codegen-extra-tags:
db: created_at
json: createdAt
x-order: 12
type: string
format: date-time
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the connection was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
json: updatedAt
x-order: 13
type: string
format: date-time
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the connection was soft-deleted, if applicable.
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-order: 14
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: '*environmentv1beta3.Environment'
x-go-type-import:
path: github.com/meshery/schemas/models/v1beta3/environment
name: environmentv1beta3
$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/v1beta3
name: Production Environment
description: Connections and credentials for the production cluster.
organizationId: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
createdAt: '0001-01-01T00:00:00Z'
metadata: {}
updatedAt: '0001-01-01T00:00:00Z'
deletedAt: null
required:
- id
- schemaVersion
- name
- description
- organizationId
properties:
id:
description: ID
x-order: 1
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
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
json: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta3
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
json: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
json: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organizationId:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
json: organizationId
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
json: 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
createdAt:
description: Timestamp when the environment was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt
x-order: 7
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updatedAt:
description: Timestamp when the environment was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt
x-order: 9
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
type: string
format: date-time
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: '-'
gorm: '-'
x-go-type-skip-optional-pointer: true
x-order: 15
schemaVersion:
description: Specifies the version of the schema used for the definition.
x-order: 16
x-oapi-codegen-extra-tags:
db: '-'
gorm: '-'
default: connections.meshery.io/v1beta3
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:
x-internal:
- cloud
- meshery
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:
x-internal:
- cloud
- meshery
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:
x-internal:
- cloud
- meshery
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:
x-internal:
- cloud
- meshery
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:
x-internal:
- cloud
- meshery
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/pattern/import:
post:
x-internal:
- cloud
- meshery
tags:
- Design_designs
summary: Import Design
operationId: importDesign
requestBody:
required: true
content:
application/json:
schema:
description: >-
Body for POST /api/pattern/import. Consumed by the server as application/json. Exactly one of two
variants must be supplied: a File Import carrying base64-encoded bytes plus a file name, or a URL Import
naming a remote location the server will fetch. Sending both variants at once, or neither, is rejected
with 400.
oneOf:
- type: object
title: File Import
description: >-
Upload a design file from the local system. Both `file` and `fileName` are required; the server uses
the file name to identify the file type (Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery
Design).
required:
- file
- fileName
properties:
file:
type: string
format: byte
description: >-
Base64-encoded file bytes. 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. Include the extension (e.g. `design.yaml`), as the
server uses it to identify the file type.
maxLength: 500
name:
type: string
default: Untitled Design
description: >-
Provide a name for your design. This name will help you identify the design later. You can also
change the name of your design after importing it.
minLength: 1
maxLength: 255
- type: object
title: URL Import
description: >-
Import a design by URL. The server will fetch the resource and derive the file type from the
response.
required:
- url
properties:
url:
type: string
format: uri
description: >-
A direct URL to a single file, for example: https://raw.github.com/your-design-file.yaml. Ensure
the resource 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.
name:
type: string
default: Untitled Design
description: >-
Provide a name for your design. This name will help you identify the design later. You can also
change the name of your design after importing it.
minLength: 1
maxLength: 255
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/environments:
post:
x-internal:
- cloud
- meshery
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:
type: object
description: Payload for creating or updating an environment.
required:
- name
- organizationId
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 & credentials. 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
organizationId:
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: organizationId
maxLength: 500
format: uuid
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/v1beta3
name: Production Environment
description: Connections and credentials for the production cluster.
organizationId: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
createdAt: '0001-01-01T00:00:00Z'
metadata: {}
updatedAt: '0001-01-01T00:00:00Z'
deletedAt: null
required:
- id
- schemaVersion
- name
- description
- organizationId
properties:
id:
description: ID
x-order: 1
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
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
json: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta3
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
json: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
json: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organizationId:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
json: organizationId
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
json: 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
createdAt:
description: Timestamp when the environment was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt
x-order: 7
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updatedAt:
description: Timestamp when the environment was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt
x-order: 9
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
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
- meshery
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
format: uuid
maxLength: 36
required: true
responses:
'200':
description: Environments
content:
application/json:
schema:
type: object
description: Paginated list of environments.
properties:
page:
description: Zero-based page index returned in this response.
minimum: 0
type: integer
x-go-type-skip-optional-pointer: true
pageSize:
description: Maximum number of items returned on each page.
minimum: 1
x-oapi-codegen-extra-tags:
json: pageSize
type: integer
x-go-type-skip-optional-pointer: true
totalCount:
description: Total number of items across all pages.
minimum: 0
x-oapi-codegen-extra-tags:
json: totalCount
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/v1beta3
name: Production Environment
description: Connections and credentials for the production cluster.
organizationId: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
createdAt: '0001-01-01T00:00:00Z'
metadata: {}
updatedAt: '0001-01-01T00:00:00Z'
deletedAt: null
required:
- id
- schemaVersion
- name
- description
- organizationId
properties:
id:
description: ID
x-order: 1
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
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
json: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta3
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
json: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
json: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organizationId:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
json: organizationId
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
json: 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
createdAt:
description: Timestamp when the environment was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt
x-order: 7
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updatedAt:
description: Timestamp when the environment was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt
x-order: 9
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
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:
x-internal:
- cloud
- meshery
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
format: uuid
maxLength: 36
required: true
responses:
'200':
description: Environment page
content:
application/json:
schema:
type: object
description: Paginated list of environments.
properties:
page:
description: Zero-based page index returned in this response.
minimum: 0
type: integer
x-go-type-skip-optional-pointer: true
pageSize:
description: Maximum number of items returned on each page.
minimum: 1
x-oapi-codegen-extra-tags:
json: pageSize
type: integer
x-go-type-skip-optional-pointer: true
totalCount:
description: Total number of items across all pages.
minimum: 0
x-oapi-codegen-extra-tags:
json: totalCount
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/v1beta3
name: Production Environment
description: Connections and credentials for the production cluster.
organizationId: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
createdAt: '0001-01-01T00:00:00Z'
metadata: {}
updatedAt: '0001-01-01T00:00:00Z'
deletedAt: null
required:
- id
- schemaVersion
- name
- description
- organizationId
properties:
id:
description: ID
x-order: 1
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
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
json: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta3
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
json: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
json: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organizationId:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
json: organizationId
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
json: 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
createdAt:
description: Timestamp when the environment was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt
x-order: 7
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updatedAt:
description: Timestamp when the environment was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt
x-order: 9
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
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:
x-internal:
- cloud
- meshery
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:
type: object
description: Payload for creating or updating an environment.
required:
- name
- organizationId
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 & credentials. 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
organizationId:
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: organizationId
maxLength: 500
format: uuid
responses:
'200':
description: Environment page
content:
application/json:
schema:
type: object
description: Paginated list of environments.
properties:
page:
description: Zero-based page index returned in this response.
minimum: 0
type: integer
x-go-type-skip-optional-pointer: true
pageSize:
description: Maximum number of items returned on each page.
minimum: 1
x-oapi-codegen-extra-tags:
json: pageSize
type: integer
x-go-type-skip-optional-pointer: true
totalCount:
description: Total number of items across all pages.
minimum: 0
x-oapi-codegen-extra-tags:
json: totalCount
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/v1beta3
name: Production Environment
description: Connections and credentials for the production cluster.
organizationId: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
createdAt: '0001-01-01T00:00:00Z'
metadata: {}
updatedAt: '0001-01-01T00:00:00Z'
deletedAt: null
required:
- id
- schemaVersion
- name
- description
- organizationId
properties:
id:
description: ID
x-order: 1
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
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
json: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta3
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
json: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
json: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organizationId:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
json: organizationId
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
json: 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
createdAt:
description: Timestamp when the environment was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt
x-order: 7
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updatedAt:
description: Timestamp when the environment was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt
x-order: 9
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
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:
x-internal:
- cloud
- meshery
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:
x-internal:
- cloud
- meshery
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
description: JSON-encoded filter string used to scope the connection listing.
schema:
type: string
maxLength: 4096
responses:
'200':
description: Environment connections
content:
application/json:
schema:
type: object
description: Paginated list of connections associated with an environment.
properties:
page:
type: integer
description: Current page number of the result set.
minimum: 0
pageSize:
type: integer
description: Number of items per page.
minimum: 1
x-oapi-codegen-extra-tags:
json: pageSize
totalCount:
type: integer
description: Total number of items available.
minimum: 0
x-oapi-codegen-extra-tags:
json: totalCount
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
/events/{eventId}:
delete:
x-internal:
- cloud
- meshery
tags:
- Events_events
operationId: deleteEvent
summary: Delete a single event
parameters:
- name: eventId
in: path
description: ID of the event.
required: true
schema:
type: string
format: uuid
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:
x-internal:
- cloud
- meshery
tags:
- Events_events
operationId: createEvent
summary: Create a new event
requestBody:
required: true
content:
application/json:
schema:
type: object
description: Payload for creating a new event.
additionalProperties: true
properties:
userId:
type: string
format: uuid
description: UUID of the user associated with the event.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
x-go-name: UserID
x-oapi-codegen-extra-tags:
json: userId,omitempty
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
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:
x-internal:
- cloud
- meshery
tags:
- Events_events
operationId: bulkDeleteEvents
summary: Bulk delete events
requestBody:
required: true
content:
application/json:
schema:
type: object
description: Payload for bulk-deleting events by ID.
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: UUIDs of the events to delete.
responses:
'200':
description: Events deleted
content:
application/json:
schema:
type: object
description: Response body returned after bulk event deletion.
properties:
deleted:
type: array
items:
type: string
format: uuid
description: UUIDs of events that were 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
/events/status:
put:
x-internal:
- cloud
- meshery
tags:
- Events_events
operationId: bulkUpdateEventStatus
summary: Bulk update event status
requestBody:
required: true
content:
application/json:
schema:
type: object
description: Payload for bulk-updating the status of events.
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: UUIDs of the events to update.
status:
type: string
example: failed
description: New status to apply to the selected events.
maxLength: 255
responses:
'200':
description: Events updated
content:
application/json:
schema:
type: object
description: Response body returned after bulk event status update.
properties:
updated:
type: array
items:
type: string
format: uuid
description: UUIDs of events whose status was 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
'500':
description: Internal server error
content:
text/plain:
schema:
type: string
/events/{eventId}/status:
put:
x-internal:
- cloud
- meshery
tags:
- Events_events
operationId: updateEventStatus
summary: Update status of a single event
parameters:
- name: eventId
in: path
description: ID of the event.
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
type: object
description: Payload for updating the status of a single event.
required:
- status
properties:
status:
type: string
example: completed
description: Current status of the event.
maxLength: 255
responses:
'200':
description: Event status updated
content:
application/json:
schema:
type: object
description: Response body returned after updating an event's status.
properties:
message:
type: string
description: Human-readable status message.
maxLength: 500
eventId:
type: string
format: uuid
description: UUID of the event whose status was updated.
x-oapi-codegen-extra-tags:
json: eventId,omitempty
status:
type: string
description: Updated status of the event.
maxLength: 255
'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/performance/profiles:
get:
x-internal:
- cloud
- meshery
tags:
- Performance_Profile_performance
operationId: getPerformanceProfiles
summary: List performance profiles
description: Returns the performance profiles owned by the authenticated user, with pagination, search, and ordering.
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: Performance profiles
content:
application/json:
schema:
type: object
description: Paginated list of performance profiles.
required:
- page
- pageSize
- totalCount
- profiles
properties:
page:
type: integer
description: Zero-based page index returned in this response.
minimum: 0
maximum: 1000000
x-go-type-skip-optional-pointer: true
pageSize:
type: integer
description: Maximum number of items returned on each page.
minimum: 1
maximum: 1000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: pageSize
totalCount:
type: integer
description: Total number of performance profiles across all pages.
minimum: 0
maximum: 100000000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: totalCount
profiles:
type: array
description: Performance profiles in this page.
x-go-type-skip-optional-pointer: true
items:
x-go-type: PerformanceProfile
$id: https://schemas.meshery.io/performance_profile.yaml
$schema: http://json-schema.org/draft-07/schema#
title: PerformanceProfile
description: >-
A performance profile captures the configuration for a load test run by Meshery against one or
more service-mesh endpoints. Profiles are owned by a user and can optionally be associated with
a recurring schedule. Learn more at https://docs.meshery.io/tasks/performance-management
additionalProperties: false
type: object
required:
- id
- name
- userId
- createdAt
- updatedAt
properties:
id:
description: Unique identifier for the performance profile.
x-order: 1
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
name:
type: string
description: Human-readable name of the performance profile.
minLength: 1
maxLength: 255
x-order: 2
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name
userId:
description: User ID of the profile owner.
x-order: 3
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
json: userId
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schedule:
description: >-
Optional schedule ID associated with this performance profile. Null when the profile is not
bound to a recurring schedule.
nullable: true
x-order: 4
x-oapi-codegen-extra-tags:
db: schedule
json: schedule,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
loadGenerators:
type: array
description: Load generators (e.g. fortio, wrk2, nighthawk) to drive the profile's load test.
minItems: 1
items:
type: string
description: Identifier of a single load generator.
minLength: 1
maxLength: 64
x-order: 5
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: load_generators
gorm: type:text[]
json: loadGenerators
endpoints:
type: array
description: Endpoints (URLs) targeted by the performance profile's load test.
minItems: 1
items:
type: string
description: A single endpoint URL targeted by the load test.
minLength: 1
maxLength: 2048
x-order: 6
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: endpoints
gorm: type:text[]
json: endpoints
serviceMesh:
type: string
description: >-
Service mesh under test for the profile (e.g. istio, linkerd, consul). Empty string when the
profile is mesh-agnostic.
maxLength: 100
x-order: 7
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: service_mesh
json: serviceMesh
concurrentRequest:
type: integer
description: Number of concurrent requests issued by the load generator.
minimum: 1
maximum: 100000
x-order: 8
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: concurrent_request
json: concurrentRequest
qps:
type: integer
description: >-
Target queries-per-second rate for the load generator. Zero indicates the generator runs
unthrottled.
minimum: 0
maximum: 1000000
x-order: 9
x-go-name: QPS
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: qps
json: qps
duration:
type: string
description: Duration of the load test, expressed as a Go duration string (e.g. "30s", "5m", "1h").
minLength: 1
maxLength: 32
pattern: ^[0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h)([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))*$
x-order: 10
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: duration
json: duration
requestHeaders:
type: string
description: >-
HTTP request headers, serialized as JSON, sent on each load-test request. Empty string when
no headers are configured.
maxLength: 16384
x-order: 11
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: request_headers
json: requestHeaders
requestCookies:
type: string
description: >-
HTTP request cookies, serialized as JSON, sent on each load-test request. Empty string when
no cookies are configured.
maxLength: 16384
x-order: 12
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: request_cookies
json: requestCookies
requestBody:
type: string
description: HTTP request body sent on each load-test request. Empty string when no body is configured.
maxLength: 1048576
x-order: 13
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: request_body
json: requestBody
contentType:
type: string
description: >-
Content-Type header value applied to each load-test request body (e.g. "application/json").
Empty string when no body is configured.
maxLength: 255
x-order: 14
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: content_type
json: contentType
metadata:
type: object
description: Free-form metadata associated with the performance profile.
additionalProperties: true
x-order: 15
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
lastRun:
description: >-
Server-computed timestamp of the most recent load-test run that used this profile. Null
until the first run completes. Server-managed; clients must not set this on create/update.
nullable: true
x-order: 16
x-oapi-codegen-extra-tags:
db: last_run
json: lastRun,omitempty
x-go-type: NullTime
type: string
format: date-time
x-go-type-skip-optional-pointer: true
totalResults:
type: integer
description: >-
Server-computed count of load-test results recorded for this profile. Server-managed;
clients must not set this on create/update.
minimum: 0
x-order: 17
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: total_results
json: totalResults
createdAt:
description: Timestamp when the performance profile was created.
x-order: 18
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the performance profile was last updated.
x-order: 19
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
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
post:
x-internal:
- cloud
- meshery
tags:
- Performance_Profile_performance
operationId: upsertPerformanceProfile
summary: Create or update a performance profile
description: >-
Creates a new performance profile when the body omits id, or updates the matching existing profile when an id is
provided.
requestBody:
description: Body for creating or updating a performance profile.
required: true
content:
application/json:
schema:
type: object
description: >-
Payload for creating or updating a performance profile. Includes only client-settable fields;
server-generated fields (id on create, createdAt, updatedAt, lastRun, totalResults) are populated by the
server.
required:
- name
- loadGenerators
- endpoints
- duration
properties:
id:
description: Existing performance-profile ID for updates; omit on create.
x-go-name: ID
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
name:
type: string
description: Human-readable name of the performance profile.
minLength: 1
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: name
userId:
description: Owner user ID. When omitted, the server infers it from the authenticated user.
x-go-name: UserID
x-oapi-codegen-extra-tags:
json: userId,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schedule:
description: Optional schedule ID associating the profile with a recurring run.
nullable: true
x-oapi-codegen-extra-tags:
json: schedule,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
loadGenerators:
type: array
description: Load generators (e.g. fortio, wrk2, nighthawk) to drive the profile's load test.
minItems: 1
items:
type: string
description: Identifier of a single load generator.
minLength: 1
maxLength: 64
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: loadGenerators
endpoints:
type: array
description: Endpoints (URLs) targeted by the performance profile's load test.
minItems: 1
items:
type: string
description: A single endpoint URL targeted by the load test.
minLength: 1
maxLength: 2048
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: endpoints
serviceMesh:
type: string
description: >-
Service mesh under test for the profile (e.g. istio, linkerd, consul). Empty string when the profile
is mesh-agnostic.
maxLength: 100
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: serviceMesh,omitempty
concurrentRequest:
type: integer
description: Number of concurrent requests issued by the load generator.
minimum: 1
maximum: 100000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: concurrentRequest,omitempty
qps:
type: integer
description: >-
Target queries-per-second rate for the load generator. Zero indicates the generator runs
unthrottled.
minimum: 0
maximum: 1000000
x-go-name: QPS
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: qps,omitempty
duration:
type: string
description: Duration of the load test, expressed as a Go duration string (e.g. "30s", "5m", "1h").
minLength: 1
maxLength: 32
pattern: ^[0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h)([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))*$
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: duration
requestHeaders:
type: string
description: HTTP request headers, serialized as JSON, sent on each load-test request.
maxLength: 16384
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: requestHeaders,omitempty
requestCookies:
type: string
description: HTTP request cookies, serialized as JSON, sent on each load-test request.
maxLength: 16384
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: requestCookies,omitempty
requestBody:
type: string
description: HTTP request body sent on each load-test request.
maxLength: 1048576
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: requestBody,omitempty
contentType:
type: string
description: Content-Type header value applied to each load-test request body (e.g. "application/json").
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: contentType,omitempty
metadata:
type: object
description: Free-form metadata associated with the performance profile.
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: metadata,omitempty
responses:
'200':
description: Performance profile upserted
content:
application/json:
schema:
$id: https://schemas.meshery.io/performance_profile.yaml
$schema: http://json-schema.org/draft-07/schema#
title: PerformanceProfile
description: >-
A performance profile captures the configuration for a load test run by Meshery against one or more
service-mesh endpoints. Profiles are owned by a user and can optionally be associated with a recurring
schedule. Learn more at https://docs.meshery.io/tasks/performance-management
additionalProperties: false
type: object
required:
- id
- name
- userId
- createdAt
- updatedAt
properties:
id:
description: Unique identifier for the performance profile.
x-order: 1
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
name:
type: string
description: Human-readable name of the performance profile.
minLength: 1
maxLength: 255
x-order: 2
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name
userId:
description: User ID of the profile owner.
x-order: 3
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
json: userId
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schedule:
description: >-
Optional schedule ID associated with this performance profile. Null when the profile is not bound
to a recurring schedule.
nullable: true
x-order: 4
x-oapi-codegen-extra-tags:
db: schedule
json: schedule,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
loadGenerators:
type: array
description: Load generators (e.g. fortio, wrk2, nighthawk) to drive the profile's load test.
minItems: 1
items:
type: string
description: Identifier of a single load generator.
minLength: 1
maxLength: 64
x-order: 5
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: load_generators
gorm: type:text[]
json: loadGenerators
endpoints:
type: array
description: Endpoints (URLs) targeted by the performance profile's load test.
minItems: 1
items:
type: string
description: A single endpoint URL targeted by the load test.
minLength: 1
maxLength: 2048
x-order: 6
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: endpoints
gorm: type:text[]
json: endpoints
serviceMesh:
type: string
description: >-
Service mesh under test for the profile (e.g. istio, linkerd, consul). Empty string when the
profile is mesh-agnostic.
maxLength: 100
x-order: 7
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: service_mesh
json: serviceMesh
concurrentRequest:
type: integer
description: Number of concurrent requests issued by the load generator.
minimum: 1
maximum: 100000
x-order: 8
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: concurrent_request
json: concurrentRequest
qps:
type: integer
description: >-
Target queries-per-second rate for the load generator. Zero indicates the generator runs
unthrottled.
minimum: 0
maximum: 1000000
x-order: 9
x-go-name: QPS
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: qps
json: qps
duration:
type: string
description: Duration of the load test, expressed as a Go duration string (e.g. "30s", "5m", "1h").
minLength: 1
maxLength: 32
pattern: ^[0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h)([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))*$
x-order: 10
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: duration
json: duration
requestHeaders:
type: string
description: >-
HTTP request headers, serialized as JSON, sent on each load-test request. Empty string when no
headers are configured.
maxLength: 16384
x-order: 11
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: request_headers
json: requestHeaders
requestCookies:
type: string
description: >-
HTTP request cookies, serialized as JSON, sent on each load-test request. Empty string when no
cookies are configured.
maxLength: 16384
x-order: 12
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: request_cookies
json: requestCookies
requestBody:
type: string
description: HTTP request body sent on each load-test request. Empty string when no body is configured.
maxLength: 1048576
x-order: 13
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: request_body
json: requestBody
contentType:
type: string
description: >-
Content-Type header value applied to each load-test request body (e.g. "application/json"). Empty
string when no body is configured.
maxLength: 255
x-order: 14
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: content_type
json: contentType
metadata:
type: object
description: Free-form metadata associated with the performance profile.
additionalProperties: true
x-order: 15
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
lastRun:
description: >-
Server-computed timestamp of the most recent load-test run that used this profile. Null until the
first run completes. Server-managed; clients must not set this on create/update.
nullable: true
x-order: 16
x-oapi-codegen-extra-tags:
db: last_run
json: lastRun,omitempty
x-go-type: NullTime
type: string
format: date-time
x-go-type-skip-optional-pointer: true
totalResults:
type: integer
description: >-
Server-computed count of load-test results recorded for this profile. Server-managed; clients must
not set this on create/update.
minimum: 0
x-order: 17
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: total_results
json: totalResults
createdAt:
description: Timestamp when the performance profile was created.
x-order: 18
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the performance profile was last updated.
x-order: 19
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
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/performance/profiles/{performanceProfileId}:
get:
x-internal:
- cloud
- meshery
tags:
- Performance_Profile_performance
operationId: getPerformanceProfile
summary: Get a performance profile by ID
description: Returns a single performance profile owned by (or visible to) the authenticated user.
parameters:
- name: performanceProfileId
in: path
description: Performance profile 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
required: true
responses:
'200':
description: Performance profile
content:
application/json:
schema:
$id: https://schemas.meshery.io/performance_profile.yaml
$schema: http://json-schema.org/draft-07/schema#
title: PerformanceProfile
description: >-
A performance profile captures the configuration for a load test run by Meshery against one or more
service-mesh endpoints. Profiles are owned by a user and can optionally be associated with a recurring
schedule. Learn more at https://docs.meshery.io/tasks/performance-management
additionalProperties: false
type: object
required:
- id
- name
- userId
- createdAt
- updatedAt
properties:
id:
description: Unique identifier for the performance profile.
x-order: 1
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
name:
type: string
description: Human-readable name of the performance profile.
minLength: 1
maxLength: 255
x-order: 2
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name
userId:
description: User ID of the profile owner.
x-order: 3
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
json: userId
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schedule:
description: >-
Optional schedule ID associated with this performance profile. Null when the profile is not bound
to a recurring schedule.
nullable: true
x-order: 4
x-oapi-codegen-extra-tags:
db: schedule
json: schedule,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
loadGenerators:
type: array
description: Load generators (e.g. fortio, wrk2, nighthawk) to drive the profile's load test.
minItems: 1
items:
type: string
description: Identifier of a single load generator.
minLength: 1
maxLength: 64
x-order: 5
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: load_generators
gorm: type:text[]
json: loadGenerators
endpoints:
type: array
description: Endpoints (URLs) targeted by the performance profile's load test.
minItems: 1
items:
type: string
description: A single endpoint URL targeted by the load test.
minLength: 1
maxLength: 2048
x-order: 6
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: endpoints
gorm: type:text[]
json: endpoints
serviceMesh:
type: string
description: >-
Service mesh under test for the profile (e.g. istio, linkerd, consul). Empty string when the
profile is mesh-agnostic.
maxLength: 100
x-order: 7
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: service_mesh
json: serviceMesh
concurrentRequest:
type: integer
description: Number of concurrent requests issued by the load generator.
minimum: 1
maximum: 100000
x-order: 8
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: concurrent_request
json: concurrentRequest
qps:
type: integer
description: >-
Target queries-per-second rate for the load generator. Zero indicates the generator runs
unthrottled.
minimum: 0
maximum: 1000000
x-order: 9
x-go-name: QPS
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: qps
json: qps
duration:
type: string
description: Duration of the load test, expressed as a Go duration string (e.g. "30s", "5m", "1h").
minLength: 1
maxLength: 32
pattern: ^[0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h)([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))*$
x-order: 10
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: duration
json: duration
requestHeaders:
type: string
description: >-
HTTP request headers, serialized as JSON, sent on each load-test request. Empty string when no
headers are configured.
maxLength: 16384
x-order: 11
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: request_headers
json: requestHeaders
requestCookies:
type: string
description: >-
HTTP request cookies, serialized as JSON, sent on each load-test request. Empty string when no
cookies are configured.
maxLength: 16384
x-order: 12
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: request_cookies
json: requestCookies
requestBody:
type: string
description: HTTP request body sent on each load-test request. Empty string when no body is configured.
maxLength: 1048576
x-order: 13
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: request_body
json: requestBody
contentType:
type: string
description: >-
Content-Type header value applied to each load-test request body (e.g. "application/json"). Empty
string when no body is configured.
maxLength: 255
x-order: 14
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: content_type
json: contentType
metadata:
type: object
description: Free-form metadata associated with the performance profile.
additionalProperties: true
x-order: 15
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
lastRun:
description: >-
Server-computed timestamp of the most recent load-test run that used this profile. Null until the
first run completes. Server-managed; clients must not set this on create/update.
nullable: true
x-order: 16
x-oapi-codegen-extra-tags:
db: last_run
json: lastRun,omitempty
x-go-type: NullTime
type: string
format: date-time
x-go-type-skip-optional-pointer: true
totalResults:
type: integer
description: >-
Server-computed count of load-test results recorded for this profile. Server-managed; clients must
not set this on create/update.
minimum: 0
x-order: 17
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: total_results
json: totalResults
createdAt:
description: Timestamp when the performance profile was created.
x-order: 18
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the performance profile was last updated.
x-order: 19
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
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
- meshery
tags:
- Performance_Profile_performance
operationId: updatePerformanceProfile
summary: Update a performance profile
description: Updates the performance profile identified by the path parameter.
parameters:
- name: performanceProfileId
in: path
description: Performance profile 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
required: true
requestBody:
description: Body for creating or updating a performance profile.
required: true
content:
application/json:
schema:
type: object
description: >-
Payload for creating or updating a performance profile. Includes only client-settable fields;
server-generated fields (id on create, createdAt, updatedAt, lastRun, totalResults) are populated by the
server.
required:
- name
- loadGenerators
- endpoints
- duration
properties:
id:
description: Existing performance-profile ID for updates; omit on create.
x-go-name: ID
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
name:
type: string
description: Human-readable name of the performance profile.
minLength: 1
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: name
userId:
description: Owner user ID. When omitted, the server infers it from the authenticated user.
x-go-name: UserID
x-oapi-codegen-extra-tags:
json: userId,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schedule:
description: Optional schedule ID associating the profile with a recurring run.
nullable: true
x-oapi-codegen-extra-tags:
json: schedule,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
loadGenerators:
type: array
description: Load generators (e.g. fortio, wrk2, nighthawk) to drive the profile's load test.
minItems: 1
items:
type: string
description: Identifier of a single load generator.
minLength: 1
maxLength: 64
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: loadGenerators
endpoints:
type: array
description: Endpoints (URLs) targeted by the performance profile's load test.
minItems: 1
items:
type: string
description: A single endpoint URL targeted by the load test.
minLength: 1
maxLength: 2048
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: endpoints
serviceMesh:
type: string
description: >-
Service mesh under test for the profile (e.g. istio, linkerd, consul). Empty string when the profile
is mesh-agnostic.
maxLength: 100
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: serviceMesh,omitempty
concurrentRequest:
type: integer
description: Number of concurrent requests issued by the load generator.
minimum: 1
maximum: 100000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: concurrentRequest,omitempty
qps:
type: integer
description: >-
Target queries-per-second rate for the load generator. Zero indicates the generator runs
unthrottled.
minimum: 0
maximum: 1000000
x-go-name: QPS
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: qps,omitempty
duration:
type: string
description: Duration of the load test, expressed as a Go duration string (e.g. "30s", "5m", "1h").
minLength: 1
maxLength: 32
pattern: ^[0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h)([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))*$
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: duration
requestHeaders:
type: string
description: HTTP request headers, serialized as JSON, sent on each load-test request.
maxLength: 16384
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: requestHeaders,omitempty
requestCookies:
type: string
description: HTTP request cookies, serialized as JSON, sent on each load-test request.
maxLength: 16384
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: requestCookies,omitempty
requestBody:
type: string
description: HTTP request body sent on each load-test request.
maxLength: 1048576
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: requestBody,omitempty
contentType:
type: string
description: Content-Type header value applied to each load-test request body (e.g. "application/json").
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: contentType,omitempty
metadata:
type: object
description: Free-form metadata associated with the performance profile.
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: metadata,omitempty
responses:
'200':
description: Performance profile
content:
application/json:
schema:
$id: https://schemas.meshery.io/performance_profile.yaml
$schema: http://json-schema.org/draft-07/schema#
title: PerformanceProfile
description: >-
A performance profile captures the configuration for a load test run by Meshery against one or more
service-mesh endpoints. Profiles are owned by a user and can optionally be associated with a recurring
schedule. Learn more at https://docs.meshery.io/tasks/performance-management
additionalProperties: false
type: object
required:
- id
- name
- userId
- createdAt
- updatedAt
properties:
id:
description: Unique identifier for the performance profile.
x-order: 1
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
name:
type: string
description: Human-readable name of the performance profile.
minLength: 1
maxLength: 255
x-order: 2
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name
userId:
description: User ID of the profile owner.
x-order: 3
x-go-name: UserID
x-oapi-codegen-extra-tags:
db: user_id
json: userId
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
schedule:
description: >-
Optional schedule ID associated with this performance profile. Null when the profile is not bound
to a recurring schedule.
nullable: true
x-order: 4
x-oapi-codegen-extra-tags:
db: schedule
json: schedule,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
loadGenerators:
type: array
description: Load generators (e.g. fortio, wrk2, nighthawk) to drive the profile's load test.
minItems: 1
items:
type: string
description: Identifier of a single load generator.
minLength: 1
maxLength: 64
x-order: 5
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: load_generators
gorm: type:text[]
json: loadGenerators
endpoints:
type: array
description: Endpoints (URLs) targeted by the performance profile's load test.
minItems: 1
items:
type: string
description: A single endpoint URL targeted by the load test.
minLength: 1
maxLength: 2048
x-order: 6
x-go-type: pq.StringArray
x-go-type-import:
path: github.com/lib/pq
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: endpoints
gorm: type:text[]
json: endpoints
serviceMesh:
type: string
description: >-
Service mesh under test for the profile (e.g. istio, linkerd, consul). Empty string when the
profile is mesh-agnostic.
maxLength: 100
x-order: 7
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: service_mesh
json: serviceMesh
concurrentRequest:
type: integer
description: Number of concurrent requests issued by the load generator.
minimum: 1
maximum: 100000
x-order: 8
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: concurrent_request
json: concurrentRequest
qps:
type: integer
description: >-
Target queries-per-second rate for the load generator. Zero indicates the generator runs
unthrottled.
minimum: 0
maximum: 1000000
x-order: 9
x-go-name: QPS
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: qps
json: qps
duration:
type: string
description: Duration of the load test, expressed as a Go duration string (e.g. "30s", "5m", "1h").
minLength: 1
maxLength: 32
pattern: ^[0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h)([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))*$
x-order: 10
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: duration
json: duration
requestHeaders:
type: string
description: >-
HTTP request headers, serialized as JSON, sent on each load-test request. Empty string when no
headers are configured.
maxLength: 16384
x-order: 11
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: request_headers
json: requestHeaders
requestCookies:
type: string
description: >-
HTTP request cookies, serialized as JSON, sent on each load-test request. Empty string when no
cookies are configured.
maxLength: 16384
x-order: 12
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: request_cookies
json: requestCookies
requestBody:
type: string
description: HTTP request body sent on each load-test request. Empty string when no body is configured.
maxLength: 1048576
x-order: 13
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: request_body
json: requestBody
contentType:
type: string
description: >-
Content-Type header value applied to each load-test request body (e.g. "application/json"). Empty
string when no body is configured.
maxLength: 255
x-order: 14
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: content_type
json: contentType
metadata:
type: object
description: Free-form metadata associated with the performance profile.
additionalProperties: true
x-order: 15
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
lastRun:
description: >-
Server-computed timestamp of the most recent load-test run that used this profile. Null until the
first run completes. Server-managed; clients must not set this on create/update.
nullable: true
x-order: 16
x-oapi-codegen-extra-tags:
db: last_run
json: lastRun,omitempty
x-go-type: NullTime
type: string
format: date-time
x-go-type-skip-optional-pointer: true
totalResults:
type: integer
description: >-
Server-computed count of load-test results recorded for this profile. Server-managed; clients must
not set this on create/update.
minimum: 0
x-order: 17
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: total_results
json: totalResults
createdAt:
description: Timestamp when the performance profile was created.
x-order: 18
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the performance profile was last updated.
x-order: 19
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
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
- meshery
tags:
- Performance_Profile_performance
operationId: deletePerformanceProfile
summary: Delete a performance profile
description: Deletes the performance profile identified by the path parameter and any associated performance results.
parameters:
- name: performanceProfileId
in: path
description: Performance profile 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
required: true
responses:
'204':
description: Performance profile 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/performance/profiles/{performanceProfileId}/results:
get:
x-internal:
- cloud
- meshery
tags:
- Performance_Profile_performance
operationId: getPerformanceProfileResults
summary: List performance results for a profile
description: Returns paginated load-test results associated with the performance profile identified by the path parameter.
parameters:
- name: performanceProfileId
in: path
description: Performance profile 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
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: Performance results
content:
application/json:
schema:
type: object
description: Paginated list of performance results.
required:
- page
- pageSize
- totalCount
- results
properties:
page:
type: integer
description: Zero-based page index returned in this response.
minimum: 0
maximum: 1000000
x-go-type-skip-optional-pointer: true
pageSize:
type: integer
description: Maximum number of items returned on each page.
minimum: 1
maximum: 1000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: pageSize
totalCount:
type: integer
description: Total number of performance results across all pages.
minimum: 0
maximum: 100000000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: totalCount
results:
type: array
description: Performance results in this page.
x-go-type-skip-optional-pointer: true
items:
x-go-type: PerformanceResult
type: object
description: Load-test result captured for a Meshery performance profile.
additionalProperties: false
properties:
mesheryId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. 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: mesheryId,omitempty
name:
type: string
description: Human-readable name of the performance result.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name,omitempty
mesh:
type: string
description: Service mesh under test for this result.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: mesh
json: mesh,omitempty
performanceProfile:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
nullable: true
x-oapi-codegen-extra-tags:
db: performance_profile
json: performanceProfile,omitempty
testId:
type: string
description: Provider-assigned test identifier for this result.
maxLength: 255
x-go-name: TestID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: testId,omitempty
runnerResults:
type: object
description: Raw load-generator output for this performance result.
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: runner_results
json: runnerResults,omitempty
serverMetrics:
type: object
description: Server-side metrics collected for this performance result.
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: server_metrics
json: serverMetrics,omitempty
serverBoardConfig:
type: object
description: Server board configuration associated with this performance result.
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: server_board_config
json: serverBoardConfig,omitempty
testStartTime:
type: string
format: date-time
description: Time when the load test started.
x-oapi-codegen-extra-tags:
db: test_start_time
json: testStartTime,omitempty
userId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. 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
json: userId,omitempty
createdAt:
description: Timestamp when the performance result was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt,omitempty
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the performance result was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt,omitempty
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
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/performance/results:
get:
x-internal:
- cloud
- meshery
tags:
- Performance_Profile_performance
operationId: getPerformanceResults
summary: List all performance results
description: Returns paginated load-test results visible 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
- name: from
in: query
description: Start date for filtering results by test start time, in YYYY-MM-DD format.
schema:
type: string
format: date
- name: to
in: query
description: End date for filtering results by test start time, in YYYY-MM-DD format.
schema:
type: string
format: date
responses:
'200':
description: Performance results
content:
application/json:
schema:
type: object
description: Paginated list of performance results.
required:
- page
- pageSize
- totalCount
- results
properties:
page:
type: integer
description: Zero-based page index returned in this response.
minimum: 0
maximum: 1000000
x-go-type-skip-optional-pointer: true
pageSize:
type: integer
description: Maximum number of items returned on each page.
minimum: 1
maximum: 1000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: pageSize
totalCount:
type: integer
description: Total number of performance results across all pages.
minimum: 0
maximum: 100000000
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: totalCount
results:
type: array
description: Performance results in this page.
x-go-type-skip-optional-pointer: true
items:
x-go-type: PerformanceResult
type: object
description: Load-test result captured for a Meshery performance profile.
additionalProperties: false
properties:
mesheryId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. 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: mesheryId,omitempty
name:
type: string
description: Human-readable name of the performance result.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: name
json: name,omitempty
mesh:
type: string
description: Service mesh under test for this result.
maxLength: 255
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: mesh
json: mesh,omitempty
performanceProfile:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core
definition is used across different schemas.
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
nullable: true
x-oapi-codegen-extra-tags:
db: performance_profile
json: performanceProfile,omitempty
testId:
type: string
description: Provider-assigned test identifier for this result.
maxLength: 255
x-go-name: TestID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
json: testId,omitempty
runnerResults:
type: object
description: Raw load-generator output for this performance result.
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: runner_results
json: runnerResults,omitempty
serverMetrics:
type: object
description: Server-side metrics collected for this performance result.
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: server_metrics
json: serverMetrics,omitempty
serverBoardConfig:
type: object
description: Server board configuration associated with this performance result.
additionalProperties: true
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: server_board_config
json: serverBoardConfig,omitempty
testStartTime:
type: string
format: date-time
description: Time when the load test started.
x-oapi-codegen-extra-tags:
db: test_start_time
json: testStartTime,omitempty
userId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. 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
json: userId,omitempty
createdAt:
description: Timestamp when the performance result was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt,omitempty
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the performance result was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt,omitempty
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
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:
get:
x-internal:
- cloud
- meshery
tags:
- Workspace_workspaces
operationId: getWorkspaces
summary: Get all workspaces
description: Gets all workspaces accessible to the current user, optionally scoped to a specific organization.
parameters:
- name: orgId
in: query
description: Organization ID used to scope the workspace listing.
schema:
type: string
format: uuid
maxLength: 36
required: false
- 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
maxLength: 4096
responses:
'200':
description: Workspaces
content:
application/json:
schema:
type: object
description: Paginated list of workspaces.
properties:
page:
description: Zero-based page index returned in this response.
minimum: 0
type: integer
x-go-type-skip-optional-pointer: true
pageSize:
description: Maximum number of items returned on each page.
minimum: 1
x-oapi-codegen-extra-tags:
json: pageSize,omitempty
type: integer
x-go-type-skip-optional-pointer: true
totalCount:
description: Total number of items across all pages.
minimum: 0
x-oapi-codegen-extra-tags:
json: totalCount,omitempty
type: integer
x-go-type-skip-optional-pointer: true
workspaces:
type: array
description: List of workspaces with resolved owner details.
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
orgName:
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: orgName,omitempty
owner:
type: string
description: Display name of the workspace owner.
maxLength: 255
x-oapi-codegen-extra-tags:
db: owner
json: owner,omitempty
ownerId:
description: User ID of the workspace owner.
x-go-name: OwnerId
x-oapi-codegen-extra-tags:
db: owner_id
json: ownerId,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
ownerEmail:
type: string
description: Email address of the workspace owner.
format: email
maxLength: 320
x-oapi-codegen-extra-tags:
db: owner_email
json: ownerEmail,omitempty
ownerAvatar:
type: string
description: Avatar URL of the workspace owner.
format: uri
maxLength: 2048
x-oapi-codegen-extra-tags:
db: owner_avatar
json: ownerAvatar,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
organizationId:
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: organizationId,omitempty
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
createdAt:
description: Timestamp when the workspace was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt,omitempty
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the workspace was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt,omitempty
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the workspace was soft-deleted. Null while the workspace is active.
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
json: deletedAt,omitempty
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
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
post:
x-internal:
- cloud
- meshery
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
- organizationId
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
organizationId:
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: organizationId,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
- organizationId
- createdAt
- updatedAt
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
organizationId:
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: organizationId,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
createdAt:
description: Timestamp when the workspace was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the workspace was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the workspace was soft-deleted. Null while the workspace is active.
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
json: deletedAt,omitempty
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
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
- meshery
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
- organizationId
- createdAt
- updatedAt
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
organizationId:
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: organizationId,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
createdAt:
description: Timestamp when the workspace was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the workspace was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the workspace was soft-deleted. Null while the workspace is active.
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
json: deletedAt,omitempty
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
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
- meshery
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:
- organizationId
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
organizationId:
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: organizationId,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
- organizationId
- createdAt
- updatedAt
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
organizationId:
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: organizationId,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
createdAt:
description: Timestamp when the workspace was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the workspace was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the workspace was soft-deleted. Null while the workspace is active.
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
json: deletedAt,omitempty
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
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
- meshery
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
- meshery
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
maxLength: 4096
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
- meshery
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
description: Zero-based page index returned in this response.
minimum: 0
pageSize:
type: integer
x-go-type-skip-optional-pointer: true
description: Maximum number of items returned on each page.
minimum: 1
x-oapi-codegen-extra-tags:
json: pageSize,omitempty
totalCount:
type: integer
x-go-type-skip-optional-pointer: true
description: Total number of items across all pages.
minimum: 0
x-oapi-codegen-extra-tags:
json: totalCount,omitempty
workspacesTeamsMapping:
type: array
description: Workspace-team mapping entries.
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
required:
- id
- workspaceId
- teamId
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
workspaceId:
description: Workspace ID for this mapping.
x-go-name: WorkspaceID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspaceId
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
teamId:
description: Team ID for this mapping.
x-go-name: TeamID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: team_id
json: teamId
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
createdAt:
description: Timestamp when the mapping was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt,omitempty
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the mapping was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt,omitempty
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the mapping was soft-deleted.
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
json: deletedAt,omitempty
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
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
- meshery
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
- meshery
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
maxLength: 4096
responses:
'200':
description: Environments
content:
application/json:
schema:
type: object
description: Paginated list of environments.
properties:
page:
description: Zero-based page index returned in this response.
minimum: 0
type: integer
x-go-type-skip-optional-pointer: true
pageSize:
description: Maximum number of items returned on each page.
minimum: 1
x-oapi-codegen-extra-tags:
json: pageSize
type: integer
x-go-type-skip-optional-pointer: true
totalCount:
description: Total number of items across all pages.
minimum: 0
x-oapi-codegen-extra-tags:
json: totalCount
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/v1beta3
name: Production Environment
description: Connections and credentials for the production cluster.
organizationId: 00000000-0000-0000-0000-000000000000
owner: 00000000-0000-0000-0000-000000000000
createdAt: '0001-01-01T00:00:00Z'
metadata: {}
updatedAt: '0001-01-01T00:00:00Z'
deletedAt: null
required:
- id
- schemaVersion
- name
- description
- organizationId
properties:
id:
description: ID
x-order: 1
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
schemaVersion:
description: Specifies the version of the schema to which the environment conforms.
x-order: 2
x-oapi-codegen-extra-tags:
json: schemaVersion
db: '-'
gorm: '-'
default: environments.meshery.io/v1beta3
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
json: name
x-order: 3
type: string
maxLength: 100
description: Environment name
description:
x-oapi-codegen-extra-tags:
db: description
json: description
x-order: 4
type: string
maxLength: 1000
description: Environment description
organizationId:
x-go-name: OrganizationID
x-oapi-codegen-extra-tags:
db: organization_id
json: organizationId
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
json: 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
createdAt:
description: Timestamp when the environment was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt
x-order: 7
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
metadata:
description: Additional metadata associated with the environment.
x-oapi-codegen-extra-tags:
db: metadata
json: metadata
x-order: 8
x-go-type: core.Map
x-go-type-skip-optional-pointer: true
type: object
updatedAt:
description: Timestamp when the environment was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt
x-order: 9
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the environment was soft deleted. Null while the environment remains active.
nullable: true
x-oapi-codegen-extra-tags:
db: deleted_at
json: deletedAt
x-go-type: core.NullTime
x-go-import: database/sql
x-order: 10
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
- meshery
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
description: Zero-based page index returned in this response.
minimum: 0
pageSize:
type: integer
x-go-type-skip-optional-pointer: true
description: Maximum number of items returned on each page.
minimum: 1
x-oapi-codegen-extra-tags:
json: pageSize,omitempty
totalCount:
type: integer
x-go-type-skip-optional-pointer: true
description: Total number of items across all pages.
minimum: 0
x-oapi-codegen-extra-tags:
json: totalCount,omitempty
workspacesEnvironmentsMapping:
type: array
description: Workspace-environment mapping entries.
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
required:
- id
- workspaceId
- environmentId
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
workspaceId:
description: Workspace ID for this mapping.
x-go-name: WorkspaceID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspaceId
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
environmentId:
description: Environment ID for this mapping.
x-go-name: EnvironmentID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: environment_id
json: environmentId
type: string
format: uuid
x-go-type: uuid.UUID
x-go-type-import:
path: github.com/gofrs/uuid
createdAt:
description: Timestamp when the mapping was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt,omitempty
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the mapping was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt,omitempty
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the mapping was soft-deleted.
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
json: deletedAt,omitempty
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
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
- meshery
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
- meshery
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
maxLength: 4096
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
description: Zero-based page index returned in this response.
minimum: 0
pageSize:
type: integer
x-go-type-skip-optional-pointer: true
description: Maximum number of items returned on each page.
minimum: 1
x-oapi-codegen-extra-tags:
json: pageSize,omitempty
totalCount:
type: integer
x-go-type-skip-optional-pointer: true
description: Total number of items across all pages.
minimum: 0
x-oapi-codegen-extra-tags:
json: totalCount,omitempty
designs:
type: array
description: Designs in this page.
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:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify
entities in Meshery. 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
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/workspaces/{workspaceId}/designs/{designId}:
post:
x-internal:
- cloud
- meshery
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
description: Zero-based page index returned in this response.
minimum: 0
pageSize:
type: integer
x-go-type-skip-optional-pointer: true
description: Maximum number of items returned on each page.
minimum: 1
x-oapi-codegen-extra-tags:
json: pageSize,omitempty
totalCount:
type: integer
x-go-type-skip-optional-pointer: true
description: Total number of items across all pages.
minimum: 0
x-oapi-codegen-extra-tags:
json: totalCount,omitempty
workspacesDesignsMapping:
type: array
description: Workspace-design mapping entries.
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
required:
- id
- workspaceId
- designId
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
workspaceId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. 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: WorkspaceID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspaceId
designId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. 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: DesignID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: design_id
json: designId
createdAt:
description: Timestamp when the mapping was created.
x-oapi-codegen-extra-tags:
db: created_at
yaml: created_at
json: createdAt,omitempty
x-go-type: time.Time
type: string
format: date-time
x-go-name: CreatedAt
x-go-type-skip-optional-pointer: true
updatedAt:
description: Timestamp when the mapping was last updated.
x-oapi-codegen-extra-tags:
db: updated_at
yaml: updated_at
json: updatedAt,omitempty
x-go-type: time.Time
type: string
format: date-time
x-go-name: UpdatedAt
x-go-type-skip-optional-pointer: true
deletedAt:
description: Timestamp when the mapping was soft-deleted.
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
json: deletedAt,omitempty
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
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
- meshery
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
- meshery
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
maxLength: 4096
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: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. 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-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: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. 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: 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: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. 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-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
- meshery
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
description: Zero-based page index returned in this response.
minimum: 0
pageSize:
type: integer
x-go-type-skip-optional-pointer: true
description: Maximum number of items returned on each page.
minimum: 1
x-oapi-codegen-extra-tags:
json: pageSize,omitempty
totalCount:
type: integer
x-go-type-skip-optional-pointer: true
description: Total number of items across all pages.
minimum: 0
x-oapi-codegen-extra-tags:
json: totalCount,omitempty
workspacesViewsMapping:
type: array
description: Workspace-view mapping entries.
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
required:
- id
- workspaceId
- viewId
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
workspaceId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. 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: WorkspaceID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: workspace_id
json: workspaceId
viewId:
type: string
format: uuid
description: >-
A Universally Unique Identifier used to uniquely identify entities in Meshery. 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: ViewID
x-go-type-skip-optional-pointer: true
x-oapi-codegen-extra-tags:
db: view_id
json: viewId
createdAt:
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
updatedAt:
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
deletedAt:
description: Timestamp when the mapping was soft-deleted.
x-oapi-codegen-extra-tags:
db: deleted_at
yaml: deleted_at
json: deletedAt,omitempty
x-go-type: NullTime
type: string
format: date-time
x-go-name: DeletedAt
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
- meshery
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
components:
securitySchemes:
Organization_jwt:
type: http
scheme: bearer
bearerFormat: JWT