From 08c39143246eaa88aa58d399f532d2401a004c8e Mon Sep 17 00:00:00 2001 From: Ayush-kr-giga Date: Mon, 20 Jul 2026 02:37:57 +0530 Subject: [PATCH 1/2] refactor: rename models/meshmodel to models/registry, add compat shim for schemas@v1.3.26 Signed-off-by: Ayush-kr-giga --- models/meshmodel/entity/error.go | 16 ++---- models/meshmodel/entity/status.go | 18 +++--- models/meshmodel/entity/types.go | 57 ++++++++++--------- models/patterns/pattern.go | 4 +- models/registration/dir.go | 2 +- models/registration/interface.go | 2 +- models/registration/register.go | 6 +- models/registration/utils.go | 2 +- models/registration/utils_test.go | 2 +- .../core/policies/error.go | 0 .../core/policies/rego_policy_relationship.go | 4 +- .../core/v1beta1/error.go | 0 .../core/v1beta1/host.go | 8 ++- .../core/v1beta1/policy.go | 2 +- models/registry/entity/error.go | 15 +++++ models/registry/entity/status.go | 15 +++++ models/registry/entity/types.go | 38 +++++++++++++ .../registry => registry/manager}/error.go | 0 .../registry => registry/manager}/registry.go | 22 +++---- .../manager}/registry_test.go | 2 +- .../manager}/v1alpha3/relationship_filter.go | 4 +- .../manager}/v1beta1/category_filter.go | 4 +- .../manager}/v1beta1/component_filter.go | 4 +- .../manager}/v1beta1/component_filter_test.go | 2 +- .../manager}/v1beta1/connection_filter.go | 4 +- .../manager}/v1beta1/model_filter.go | 4 +- .../manager}/v1beta1/policy_filter.go | 6 +- registry/component.go | 2 +- registry/model.go | 2 +- utils/utils.go | 2 +- 30 files changed, 162 insertions(+), 87 deletions(-) rename models/{meshmodel => registry}/core/policies/error.go (100%) rename models/{meshmodel => registry}/core/policies/rego_policy_relationship.go (97%) rename models/{meshmodel => registry}/core/v1beta1/error.go (100%) rename models/{meshmodel => registry}/core/v1beta1/host.go (91%) rename models/{meshmodel => registry}/core/v1beta1/policy.go (97%) create mode 100644 models/registry/entity/error.go create mode 100644 models/registry/entity/status.go create mode 100644 models/registry/entity/types.go rename models/{meshmodel/registry => registry/manager}/error.go (100%) rename models/{meshmodel/registry => registry/manager}/registry.go (94%) rename models/{meshmodel/registry => registry/manager}/registry_test.go (96%) rename models/{meshmodel/registry => registry/manager}/v1alpha3/relationship_filter.go (97%) rename models/{meshmodel/registry => registry/manager}/v1beta1/category_filter.go (94%) rename models/{meshmodel/registry => registry/manager}/v1beta1/component_filter.go (98%) rename models/{meshmodel/registry => registry/manager}/v1beta1/component_filter_test.go (98%) rename models/{meshmodel/registry => registry/manager}/v1beta1/connection_filter.go (97%) rename models/{meshmodel/registry => registry/manager}/v1beta1/model_filter.go (98%) rename models/{meshmodel/registry => registry/manager}/v1beta1/policy_filter.go (89%) diff --git a/models/meshmodel/entity/error.go b/models/meshmodel/entity/error.go index 1f0ee1d36..9376d0281 100644 --- a/models/meshmodel/entity/error.go +++ b/models/meshmodel/entity/error.go @@ -1,15 +1,11 @@ package entity -import ( - "fmt" +import registryentity "github.com/meshery/meshkit/models/registry/entity" - "github.com/meshery/meshkit/errors" -) - -const ( - ErrUpdateEntityStatusCode = "meshkit-11243" -) +const ErrUpdateEntityStatusCode = registryentity.ErrUpdateEntityStatusCode +// ErrUpdateEntityStatus is a deprecated wrapper for registryentity.ErrUpdateEntityStatus. +// Deprecated: use registryentity.ErrUpdateEntityStatus instead. func ErrUpdateEntityStatus(err error, entity string, status EntityStatus) error { - return errors.New(ErrUpdateEntityStatusCode, errors.Alert, []string{fmt.Sprintf("unable to update %s to %s", entity, status)}, []string{err.Error()}, []string{}, []string{}) -} + return registryentity.ErrUpdateEntityStatus(err, entity, status) +} \ No newline at end of file diff --git a/models/meshmodel/entity/status.go b/models/meshmodel/entity/status.go index 7e1fb028e..3ae54c49a 100644 --- a/models/meshmodel/entity/status.go +++ b/models/meshmodel/entity/status.go @@ -1,15 +1,17 @@ package entity -import "github.com/meshery/meshkit/database" +import registryentity "github.com/meshery/meshkit/models/registry/entity" -type EntityStatus string +// EntityStatus is a deprecated alias for registryentity.EntityStatus. +// Deprecated: use registryentity.EntityStatus instead. +type EntityStatus = registryentity.EntityStatus const ( - Ignored EntityStatus = "ignored" - Enabled EntityStatus = "enabled" - Duplicate EntityStatus = "duplicate" + Ignored = registryentity.Ignored + Enabled = registryentity.Enabled + Duplicate = registryentity.Duplicate ) -type Status interface { - UpdateStatus(db *database.Handler, status EntityStatus) error -} +// Status is a deprecated alias for registryentity.Status. +// Deprecated: use registryentity.Status instead. +type Status = registryentity.Status \ No newline at end of file diff --git a/models/meshmodel/entity/types.go b/models/meshmodel/entity/types.go index ed2732987..bab633f0b 100644 --- a/models/meshmodel/entity/types.go +++ b/models/meshmodel/entity/types.go @@ -1,38 +1,39 @@ +// Package entity is a deprecated compatibility shim for the registry entity +// package. +// +// It exists solely because github.com/meshery/schemas@v1.3.26 (our currently +// pinned dependency) has helper files that import this path directly by +// convention. All types here are pure aliases (type X = Y) of their +// counterparts in github.com/meshery/meshkit/models/registry/entity, so +// nothing drifts between the two paths. +// +// Deprecated: import github.com/meshery/meshkit/models/registry/entity +// directly. This shim should be deleted once meshkit's go.mod pin on +// github.com/meshery/schemas is bumped past v1.3.26 to a version that no +// longer references the old meshmodel path. Tracked in . package entity import ( - "github.com/meshery/meshkit/database" - core "github.com/meshery/schemas/models/core" + registryentity "github.com/meshery/meshkit/models/registry/entity" ) -type EntityType string +// EntityType is a deprecated alias for registryentity.EntityType. +// Deprecated: use registryentity.EntityType instead. +type EntityType = registryentity.EntityType const ( - ComponentDefinition EntityType = "component" - PolicyDefinition EntityType = "policy" - RelationshipDefinition EntityType = "relationship" - Model EntityType = "model" - Category EntityType = "category" - // ConnectionDefinition is the registry entity type for connection - // definitions: uninitialized, per-model connection templates registered - // alongside components and relationships. The schemas connection helper - // (github.com/meshery/schemas/models/v1beta3/connection) reports this type. - ConnectionDefinition EntityType = "connection" + ComponentDefinition = registryentity.ComponentDefinition + PolicyDefinition = registryentity.PolicyDefinition + RelationshipDefinition = registryentity.RelationshipDefinition + Model = registryentity.Model + Category = registryentity.Category + ConnectionDefinition = registryentity.ConnectionDefinition ) -// Each entity will have it's own Filter implementation via which it exposes the nobs and dials to fetch entities -type Filter interface { - Create(map[string]interface{}) - Get(db *database.Handler) (entities []Entity, count int64, unique int, err error) - GetById(db *database.Handler) (entity Entity, err error) -} +// Filter is a deprecated alias for registryentity.Filter. +// Deprecated: use registryentity.Filter instead. +type Filter = registryentity.Filter -type Entity interface { - // Entity is referred as any type of schema managed by the registry - // ComponentDefinitions and PolicyDefinitions are examples of entities - Type() EntityType - GetEntityDetail() string - GenerateID() (core.Uuid, error) - GetID() core.Uuid - Create(db *database.Handler, hostID core.Uuid) (entityID core.Uuid, err error) -} +// Entity is a deprecated alias for registryentity.Entity. +// Deprecated: use registryentity.Entity instead. +type Entity = registryentity.Entity \ No newline at end of file diff --git a/models/patterns/pattern.go b/models/patterns/pattern.go index 86c52846e..87e06537c 100644 --- a/models/patterns/pattern.go +++ b/models/patterns/pattern.go @@ -6,8 +6,8 @@ import ( "github.com/Masterminds/semver/v3" "github.com/meshery/meshkit/encoding" - "github.com/meshery/meshkit/models/meshmodel/registry" - regv1beta1 "github.com/meshery/meshkit/models/meshmodel/registry/v1beta1" + "github.com/meshery/meshkit/models/registry/manager" + regv1beta1 "github.com/meshery/meshkit/models/registry/manager/v1beta1" "github.com/meshery/meshkit/utils" component "github.com/meshery/schemas/models/v1beta2/component" registrycomponent "github.com/meshery/schemas/models/v1beta3/component" diff --git a/models/registration/dir.go b/models/registration/dir.go index 7273df093..066c3d22e 100644 --- a/models/registration/dir.go +++ b/models/registration/dir.go @@ -6,7 +6,7 @@ import ( "path/filepath" "reflect" - "github.com/meshery/meshkit/models/meshmodel/entity" + "github.com/meshery/meshkit/models/registry/entity" "github.com/meshery/meshkit/models/oci" meshkitFileUtils "github.com/meshery/meshkit/files" diff --git a/models/registration/interface.go b/models/registration/interface.go index 0e3965d81..f2ea06bcc 100644 --- a/models/registration/interface.go +++ b/models/registration/interface.go @@ -1,7 +1,7 @@ package registration import ( - "github.com/meshery/meshkit/models/meshmodel/entity" + "github.com/meshery/meshkit/models/registry/entity" ) /* diff --git a/models/registration/register.go b/models/registration/register.go index 5381c3fef..10c2609f7 100644 --- a/models/registration/register.go +++ b/models/registration/register.go @@ -1,9 +1,9 @@ package registration import ( - "github.com/meshery/meshkit/models/meshmodel/core/v1beta1" - "github.com/meshery/meshkit/models/meshmodel/entity" - meshmodel "github.com/meshery/meshkit/models/meshmodel/registry" + "github.com/meshery/meshkit/models/registry/core/v1beta1" + "github.com/meshery/meshkit/models/registry/entity" + meshmodel "github.com/meshery/meshkit/models/registry/manager" "github.com/meshery/schemas/models/v1alpha3/relationship" "github.com/meshery/schemas/models/v1beta1/connection" "github.com/meshery/schemas/models/v1beta1/model" diff --git a/models/registration/utils.go b/models/registration/utils.go index 876c23b6a..ecbebdfe8 100644 --- a/models/registration/utils.go +++ b/models/registration/utils.go @@ -4,7 +4,7 @@ import ( "fmt" "github.com/meshery/meshkit/encoding" - "github.com/meshery/meshkit/models/meshmodel/entity" + "github.com/meshery/meshkit/models/registry/entity" "github.com/meshery/meshkit/schema" "github.com/meshery/schemas/models/v1alpha3" "github.com/meshery/schemas/models/v1alpha3/relationship" diff --git a/models/registration/utils_test.go b/models/registration/utils_test.go index dddd947b2..51edbc5ce 100644 --- a/models/registration/utils_test.go +++ b/models/registration/utils_test.go @@ -3,7 +3,7 @@ package registration import ( "testing" - "github.com/meshery/meshkit/models/meshmodel/entity" + "github.com/meshery/meshkit/models/registry/entity" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/models/meshmodel/core/policies/error.go b/models/registry/core/policies/error.go similarity index 100% rename from models/meshmodel/core/policies/error.go rename to models/registry/core/policies/error.go diff --git a/models/meshmodel/core/policies/rego_policy_relationship.go b/models/registry/core/policies/rego_policy_relationship.go similarity index 97% rename from models/meshmodel/core/policies/rego_policy_relationship.go rename to models/registry/core/policies/rego_policy_relationship.go index d28f9a1b0..d10ff4677 100644 --- a/models/meshmodel/core/policies/rego_policy_relationship.go +++ b/models/registry/core/policies/rego_policy_relationship.go @@ -5,8 +5,8 @@ import ( "fmt" "sync" - "github.com/meshery/meshkit/models/meshmodel/registry" - "github.com/meshery/meshkit/models/meshmodel/registry/v1alpha3" + "github.com/meshery/meshkit/models/registry/manager" + "github.com/meshery/meshkit/models/registry/manager/v1alpha3" "github.com/meshery/meshkit/utils" patching "github.com/meshery/meshkit/utils/patching" // NOTE: This file continues to reference v1beta1/pattern for `PatternFile` diff --git a/models/meshmodel/core/v1beta1/error.go b/models/registry/core/v1beta1/error.go similarity index 100% rename from models/meshmodel/core/v1beta1/error.go rename to models/registry/core/v1beta1/error.go diff --git a/models/meshmodel/core/v1beta1/host.go b/models/registry/core/v1beta1/host.go similarity index 91% rename from models/meshmodel/core/v1beta1/host.go rename to models/registry/core/v1beta1/host.go index 76cca8b01..a95a65236 100644 --- a/models/meshmodel/core/v1beta1/host.go +++ b/models/registry/core/v1beta1/host.go @@ -9,10 +9,16 @@ import ( "github.com/meshery/schemas/models/v1beta3/component" ) -type MeshModelHostsWithEntitySummary struct { +// RegistryHostsWithEntitySummary represents a registry host along with a summary of its entities. +type RegistryHostsWithEntitySummary struct { connection.Connection Summary EntitySummary `json:"summary"` } + +// MeshModelHostsWithEntitySummary is a deprecated alias for RegistryHostsWithEntitySummary. +// Deprecated: use RegistryHostsWithEntitySummary instead. +type MeshModelHostsWithEntitySummary = RegistryHostsWithEntitySummary + type EntitySummary struct { Models int64 `json:"models"` Components int64 `json:"components"` diff --git a/models/meshmodel/core/v1beta1/policy.go b/models/registry/core/v1beta1/policy.go similarity index 97% rename from models/meshmodel/core/v1beta1/policy.go rename to models/registry/core/v1beta1/policy.go index 9abdf0c8f..d5102fc2d 100644 --- a/models/meshmodel/core/v1beta1/policy.go +++ b/models/registry/core/v1beta1/policy.go @@ -12,7 +12,7 @@ import ( modelv1beta2 "github.com/meshery/schemas/models/v1beta2/model" "gorm.io/gorm/clause" - "github.com/meshery/meshkit/models/meshmodel/entity" + "github.com/meshery/meshkit/models/registry/entity" ) // swagger:response PolicyDefinition diff --git a/models/registry/entity/error.go b/models/registry/entity/error.go new file mode 100644 index 000000000..1f0ee1d36 --- /dev/null +++ b/models/registry/entity/error.go @@ -0,0 +1,15 @@ +package entity + +import ( + "fmt" + + "github.com/meshery/meshkit/errors" +) + +const ( + ErrUpdateEntityStatusCode = "meshkit-11243" +) + +func ErrUpdateEntityStatus(err error, entity string, status EntityStatus) error { + return errors.New(ErrUpdateEntityStatusCode, errors.Alert, []string{fmt.Sprintf("unable to update %s to %s", entity, status)}, []string{err.Error()}, []string{}, []string{}) +} diff --git a/models/registry/entity/status.go b/models/registry/entity/status.go new file mode 100644 index 000000000..7e1fb028e --- /dev/null +++ b/models/registry/entity/status.go @@ -0,0 +1,15 @@ +package entity + +import "github.com/meshery/meshkit/database" + +type EntityStatus string + +const ( + Ignored EntityStatus = "ignored" + Enabled EntityStatus = "enabled" + Duplicate EntityStatus = "duplicate" +) + +type Status interface { + UpdateStatus(db *database.Handler, status EntityStatus) error +} diff --git a/models/registry/entity/types.go b/models/registry/entity/types.go new file mode 100644 index 000000000..ed2732987 --- /dev/null +++ b/models/registry/entity/types.go @@ -0,0 +1,38 @@ +package entity + +import ( + "github.com/meshery/meshkit/database" + core "github.com/meshery/schemas/models/core" +) + +type EntityType string + +const ( + ComponentDefinition EntityType = "component" + PolicyDefinition EntityType = "policy" + RelationshipDefinition EntityType = "relationship" + Model EntityType = "model" + Category EntityType = "category" + // ConnectionDefinition is the registry entity type for connection + // definitions: uninitialized, per-model connection templates registered + // alongside components and relationships. The schemas connection helper + // (github.com/meshery/schemas/models/v1beta3/connection) reports this type. + ConnectionDefinition EntityType = "connection" +) + +// Each entity will have it's own Filter implementation via which it exposes the nobs and dials to fetch entities +type Filter interface { + Create(map[string]interface{}) + Get(db *database.Handler) (entities []Entity, count int64, unique int, err error) + GetById(db *database.Handler) (entity Entity, err error) +} + +type Entity interface { + // Entity is referred as any type of schema managed by the registry + // ComponentDefinitions and PolicyDefinitions are examples of entities + Type() EntityType + GetEntityDetail() string + GenerateID() (core.Uuid, error) + GetID() core.Uuid + Create(db *database.Handler, hostID core.Uuid) (entityID core.Uuid, err error) +} diff --git a/models/meshmodel/registry/error.go b/models/registry/manager/error.go similarity index 100% rename from models/meshmodel/registry/error.go rename to models/registry/manager/error.go diff --git a/models/meshmodel/registry/registry.go b/models/registry/manager/registry.go similarity index 94% rename from models/meshmodel/registry/registry.go rename to models/registry/manager/registry.go index 6b7b81a72..ccd14ba7a 100644 --- a/models/meshmodel/registry/registry.go +++ b/models/registry/manager/registry.go @@ -8,8 +8,8 @@ import ( "github.com/gofrs/uuid" "github.com/meshery/meshkit/database" - models "github.com/meshery/meshkit/models/meshmodel/core/v1beta1" - "github.com/meshery/meshkit/models/meshmodel/entity" + models "github.com/meshery/meshkit/models/registry/core/v1beta1" + "github.com/meshery/meshkit/models/registry/entity" core "github.com/meshery/schemas/models/core" "github.com/meshery/schemas/models/v1alpha3/relationship" "github.com/meshery/schemas/models/v1beta1/category" @@ -22,19 +22,21 @@ import ( "gorm.io/gorm/clause" ) -// MeshModelRegistrantData struct defines the body of the POST request that is sent to the capability -// registry (Meshery) -// -// The body contains the +// RegistryRegistrantData defines the body of the POST request sent to the capability +// registry (Meshery). It contains: // 1. Host information // 2. Entity type // 3. Entity -type MeshModelRegistrantData struct { +type RegistryRegistrantData struct { Connection connectionv1beta3.Connection `json:"connection"` EntityType entity.EntityType `json:"entityType"` Entity []byte `json:"entity"` //This will be type converted to appropriate entity on server based on passed entity type } +// MeshModelRegistrantData is a deprecated alias for RegistryRegistrantData. +// Deprecated: use RegistryRegistrantData instead. +type MeshModelRegistrantData = RegistryRegistrantData + type EntityCacheValue struct { Entities []entity.Entity Count int64 @@ -229,7 +231,7 @@ func RegistrantHostToV1beta1(h connectionv1beta3.Connection) connectionv1beta1.C } // to be removed -func (rm *RegistryManager) GetRegistrants(f *models.HostFilter) ([]models.MeshModelHostsWithEntitySummary, int64, error) { +func (rm *RegistryManager) GetRegistrants(f *models.HostFilter) ([]models.RegistryHostsWithEntitySummary, int64, error) { var result []models.MesheryHostSummaryDB var totalConnectionsCount int64 db := rm.db @@ -269,7 +271,7 @@ func (rm *RegistryManager) GetRegistrants(f *models.HostFilter) ([]models.MeshMo return nil, 0, err } - var response []models.MeshModelHostsWithEntitySummary + var response []models.RegistryHostsWithEntitySummary nonRegistantCount := int64(0) for _, r := range result { @@ -278,7 +280,7 @@ func (rm *RegistryManager) GetRegistrants(f *models.HostFilter) ([]models.MeshMo continue } - res := models.MeshModelHostsWithEntitySummary{ + res := models.RegistryHostsWithEntitySummary{ Connection: r.Connection, Summary: models.EntitySummary{ Models: r.Models, diff --git a/models/meshmodel/registry/registry_test.go b/models/registry/manager/registry_test.go similarity index 96% rename from models/meshmodel/registry/registry_test.go rename to models/registry/manager/registry_test.go index 5ba383b4d..dfee9cc23 100644 --- a/models/meshmodel/registry/registry_test.go +++ b/models/registry/manager/registry_test.go @@ -5,7 +5,7 @@ import ( "github.com/gofrs/uuid" "github.com/meshery/meshkit/database" - "github.com/meshery/meshkit/models/meshmodel/entity" + "github.com/meshery/meshkit/models/registry/entity" "github.com/meshery/schemas/models/v1beta1" "github.com/meshery/schemas/models/v1beta1/category" "github.com/meshery/schemas/models/v1beta1/model" diff --git a/models/meshmodel/registry/v1alpha3/relationship_filter.go b/models/registry/manager/v1alpha3/relationship_filter.go similarity index 97% rename from models/meshmodel/registry/v1alpha3/relationship_filter.go rename to models/registry/manager/v1alpha3/relationship_filter.go index f74be193a..4e3880130 100644 --- a/models/meshmodel/registry/v1alpha3/relationship_filter.go +++ b/models/registry/manager/v1alpha3/relationship_filter.go @@ -2,8 +2,8 @@ package v1alpha3 import ( "github.com/meshery/meshkit/database" - "github.com/meshery/meshkit/models/meshmodel/entity" - "github.com/meshery/meshkit/models/meshmodel/registry" + "github.com/meshery/meshkit/models/registry/entity" + "github.com/meshery/meshkit/models/registry/manager" "github.com/meshery/schemas/models/v1alpha3/relationship" "gorm.io/gorm/clause" diff --git a/models/meshmodel/registry/v1beta1/category_filter.go b/models/registry/manager/v1beta1/category_filter.go similarity index 94% rename from models/meshmodel/registry/v1beta1/category_filter.go rename to models/registry/manager/v1beta1/category_filter.go index e0964605b..75f439a5a 100644 --- a/models/meshmodel/registry/v1beta1/category_filter.go +++ b/models/registry/manager/v1beta1/category_filter.go @@ -2,8 +2,8 @@ package v1beta1 import ( "github.com/meshery/meshkit/database" - "github.com/meshery/meshkit/models/meshmodel/entity" - "github.com/meshery/meshkit/models/meshmodel/registry" + "github.com/meshery/meshkit/models/registry/entity" + "github.com/meshery/meshkit/models/registry/manager" "github.com/meshery/schemas/models/v1beta1/category" "gorm.io/gorm/clause" ) diff --git a/models/meshmodel/registry/v1beta1/component_filter.go b/models/registry/manager/v1beta1/component_filter.go similarity index 98% rename from models/meshmodel/registry/v1beta1/component_filter.go rename to models/registry/manager/v1beta1/component_filter.go index 93d1487d0..8cc22c5da 100644 --- a/models/meshmodel/registry/v1beta1/component_filter.go +++ b/models/registry/manager/v1beta1/component_filter.go @@ -2,8 +2,8 @@ package v1beta1 import ( "github.com/meshery/meshkit/database" - "github.com/meshery/meshkit/models/meshmodel/entity" - "github.com/meshery/meshkit/models/meshmodel/registry" + "github.com/meshery/meshkit/models/registry/entity" + "github.com/meshery/meshkit/models/registry/manager" "github.com/meshery/schemas/models/core" "github.com/meshery/schemas/models/v1beta1/category" "github.com/meshery/schemas/models/v1beta1/connection" diff --git a/models/meshmodel/registry/v1beta1/component_filter_test.go b/models/registry/manager/v1beta1/component_filter_test.go similarity index 98% rename from models/meshmodel/registry/v1beta1/component_filter_test.go rename to models/registry/manager/v1beta1/component_filter_test.go index 8b1f1f6f6..928958421 100644 --- a/models/meshmodel/registry/v1beta1/component_filter_test.go +++ b/models/registry/manager/v1beta1/component_filter_test.go @@ -5,7 +5,7 @@ import ( "github.com/gofrs/uuid" "github.com/meshery/meshkit/database" - "github.com/meshery/meshkit/models/meshmodel/entity" + "github.com/meshery/meshkit/models/registry/entity" "github.com/meshery/schemas/models/core" "github.com/meshery/schemas/models/v1beta3/component" "github.com/stretchr/testify/assert" diff --git a/models/meshmodel/registry/v1beta1/connection_filter.go b/models/registry/manager/v1beta1/connection_filter.go similarity index 97% rename from models/meshmodel/registry/v1beta1/connection_filter.go rename to models/registry/manager/v1beta1/connection_filter.go index cfb73643a..966e3d136 100644 --- a/models/meshmodel/registry/v1beta1/connection_filter.go +++ b/models/registry/manager/v1beta1/connection_filter.go @@ -2,8 +2,8 @@ package v1beta1 import ( "github.com/meshery/meshkit/database" - "github.com/meshery/meshkit/models/meshmodel/entity" - "github.com/meshery/meshkit/models/meshmodel/registry" + "github.com/meshery/meshkit/models/registry/entity" + "github.com/meshery/meshkit/models/registry/manager" connectionv1beta3 "github.com/meshery/schemas/models/v1beta3/connection" "gorm.io/gorm/clause" ) diff --git a/models/meshmodel/registry/v1beta1/model_filter.go b/models/registry/manager/v1beta1/model_filter.go similarity index 98% rename from models/meshmodel/registry/v1beta1/model_filter.go rename to models/registry/manager/v1beta1/model_filter.go index 7025f7808..e4bf8901c 100644 --- a/models/meshmodel/registry/v1beta1/model_filter.go +++ b/models/registry/manager/v1beta1/model_filter.go @@ -2,8 +2,8 @@ package v1beta1 import ( "github.com/meshery/meshkit/database" - "github.com/meshery/meshkit/models/meshmodel/entity" - "github.com/meshery/meshkit/models/meshmodel/registry" + "github.com/meshery/meshkit/models/registry/entity" + "github.com/meshery/meshkit/models/registry/manager" "github.com/meshery/schemas/models/v1alpha3/relationship" "github.com/meshery/schemas/models/v1beta1/model" "github.com/meshery/schemas/models/v1beta3/component" diff --git a/models/meshmodel/registry/v1beta1/policy_filter.go b/models/registry/manager/v1beta1/policy_filter.go similarity index 89% rename from models/meshmodel/registry/v1beta1/policy_filter.go rename to models/registry/manager/v1beta1/policy_filter.go index b83edb6df..691885ca2 100644 --- a/models/meshmodel/registry/v1beta1/policy_filter.go +++ b/models/registry/manager/v1beta1/policy_filter.go @@ -2,9 +2,9 @@ package v1beta1 import ( "github.com/meshery/meshkit/database" - "github.com/meshery/meshkit/models/meshmodel/core/v1beta1" - "github.com/meshery/meshkit/models/meshmodel/entity" - "github.com/meshery/meshkit/models/meshmodel/registry" + "github.com/meshery/meshkit/models/registry/core/v1beta1" + "github.com/meshery/meshkit/models/registry/entity" + "github.com/meshery/meshkit/models/registry/manager" ) type PolicyFilter struct { diff --git a/registry/component.go b/registry/component.go index c578d6d35..610bec5bd 100644 --- a/registry/component.go +++ b/registry/component.go @@ -10,7 +10,7 @@ import ( "github.com/meshery/meshkit/encoding" "github.com/meshery/meshkit/files" - "github.com/meshery/meshkit/models/meshmodel/entity" + "github.com/meshery/meshkit/models/registry/entity" "github.com/meshery/meshkit/utils" "github.com/meshery/meshkit/utils/csv" "github.com/meshery/meshkit/utils/manifests" diff --git a/registry/model.go b/registry/model.go index 281a26daf..581c0d51d 100644 --- a/registry/model.go +++ b/registry/model.go @@ -18,7 +18,7 @@ import ( "github.com/meshery/meshkit/files" "github.com/meshery/meshkit/generators" "github.com/meshery/meshkit/generators/models" - "github.com/meshery/meshkit/models/meshmodel/entity" + "github.com/meshery/meshkit/models/registry/entity" "github.com/meshery/meshkit/utils" "github.com/meshery/meshkit/utils/csv" "github.com/meshery/meshkit/utils/store" diff --git a/utils/utils.go b/utils/utils.go index 1599183ab..c894550e6 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -24,7 +24,7 @@ import ( "unicode" "github.com/meshery/meshkit/logger" - "github.com/meshery/meshkit/models/meshmodel/entity" + "github.com/meshery/meshkit/models/registry/entity" log "github.com/sirupsen/logrus" "gopkg.in/yaml.v3" From 265bf221288c320a0d57e0472c4bcd8ef4d688d4 Mon Sep 17 00:00:00 2001 From: Ayush-kr-giga Date: Mon, 20 Jul 2026 22:36:04 +0530 Subject: [PATCH 2/2] fix: address review feedback Signed-off-by: Ayush-kr-giga --- AGENTS.md | 2 +- docs/agent-instructions/registration.md | 4 ++-- models/meshmodel/entity/error.go | 2 +- models/meshmodel/entity/status.go | 2 +- models/meshmodel/entity/types.go | 4 ++-- models/registration/dir.go | 2 +- models/registry/core/v1beta1/host.go | 6 +++--- models/registry/core/v1beta1/policy.go | 16 ++++++++-------- 8 files changed, 19 insertions(+), 19 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 5c164ee11..d2da725a1 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -57,7 +57,7 @@ Meshery Cloud, adapters, operators, CLIs) depends on it, so changes fan out down - [architecture](docs/agent-instructions/architecture.md) - orientation: package map, the two core pipelines, cross-cutting packages. - [errors](docs/agent-instructions/errors.md) - read before adding or changing any error: conventions, errorutil workflow, code allocation. -- [registration](docs/agent-instructions/registration.md) - read before touching `models/registration/` or `models/meshmodel/registry/`. +- [registration](docs/agent-instructions/registration.md) - read before touching `models/registration/` or `models/registry/manager/`. - [testing](docs/agent-instructions/testing.md) - make targets, flags, single-test forms, lint and tidy discipline. - [naming-conventions](docs/agent-instructions/naming-conventions.md) - full identifier-naming contract and authority links. - [event-streaming](docs/event-streaming.md) - read when working on events, broadcasters, or the `Event`/`EventBuilder` types shared with Meshery Server. diff --git a/docs/agent-instructions/registration.md b/docs/agent-instructions/registration.md index 3c3e8cf12..b300ae4ae 100644 --- a/docs/agent-instructions/registration.md +++ b/docs/agent-instructions/registration.md @@ -1,6 +1,6 @@ # MeshModel Registration Pipeline -Read this before touching `models/registration/` or `models/meshmodel/registry/`. +Read this before touching `models/registration/` or `models/registry/manager/`. ## Shape of the pipeline @@ -11,7 +11,7 @@ Read this before touching `models/registration/` or `models/meshmodel/registry/` and a `RegistrationErrorStore`) drives `Register(entity)` for each `RegisterableEntity` - currently directory (`dir.go`), tar (`tar.go`), and OCI (`oci.go`) sources. -- `models/meshmodel/registry/` persists registrants, models, components, and +- `models/registry/manager/` persists registrants, models, components, and relationships through GORM-backed helpers (`RegistryManager`), with versioned entity handling under `registry/v1alpha3` and `registry/v1beta1`. diff --git a/models/meshmodel/entity/error.go b/models/meshmodel/entity/error.go index 9376d0281..0d8c5eccd 100644 --- a/models/meshmodel/entity/error.go +++ b/models/meshmodel/entity/error.go @@ -8,4 +8,4 @@ const ErrUpdateEntityStatusCode = registryentity.ErrUpdateEntityStatusCode // Deprecated: use registryentity.ErrUpdateEntityStatus instead. func ErrUpdateEntityStatus(err error, entity string, status EntityStatus) error { return registryentity.ErrUpdateEntityStatus(err, entity, status) -} \ No newline at end of file +} diff --git a/models/meshmodel/entity/status.go b/models/meshmodel/entity/status.go index 3ae54c49a..45ff8c161 100644 --- a/models/meshmodel/entity/status.go +++ b/models/meshmodel/entity/status.go @@ -14,4 +14,4 @@ const ( // Status is a deprecated alias for registryentity.Status. // Deprecated: use registryentity.Status instead. -type Status = registryentity.Status \ No newline at end of file +type Status = registryentity.Status diff --git a/models/meshmodel/entity/types.go b/models/meshmodel/entity/types.go index bab633f0b..7123159c7 100644 --- a/models/meshmodel/entity/types.go +++ b/models/meshmodel/entity/types.go @@ -10,7 +10,7 @@ // Deprecated: import github.com/meshery/meshkit/models/registry/entity // directly. This shim should be deleted once meshkit's go.mod pin on // github.com/meshery/schemas is bumped past v1.3.26 to a version that no -// longer references the old meshmodel path. Tracked in . +// longer references the old meshmodel path. package entity import ( @@ -36,4 +36,4 @@ type Filter = registryentity.Filter // Entity is a deprecated alias for registryentity.Entity. // Deprecated: use registryentity.Entity instead. -type Entity = registryentity.Entity \ No newline at end of file +type Entity = registryentity.Entity diff --git a/models/registration/dir.go b/models/registration/dir.go index 066c3d22e..b41e19b49 100644 --- a/models/registration/dir.go +++ b/models/registration/dir.go @@ -6,8 +6,8 @@ import ( "path/filepath" "reflect" - "github.com/meshery/meshkit/models/registry/entity" "github.com/meshery/meshkit/models/oci" + "github.com/meshery/meshkit/models/registry/entity" meshkitFileUtils "github.com/meshery/meshkit/files" "github.com/meshery/meshkit/utils" diff --git a/models/registry/core/v1beta1/host.go b/models/registry/core/v1beta1/host.go index a95a65236..c76ed65a0 100644 --- a/models/registry/core/v1beta1/host.go +++ b/models/registry/core/v1beta1/host.go @@ -132,10 +132,10 @@ func (k Kubernetes) String() string { type GitHub struct{} -func(gh GitHub) HandleDependents(_ component.ComponentDefinition, _ *kubernetes.Client, _, _ bool) (summary string, err error) { +func (gh GitHub) HandleDependents(_ component.ComponentDefinition, _ *kubernetes.Client, _, _ bool) (summary string, err error) { return summary, err } -func(gh GitHub) String() string { +func (gh GitHub) String() string { return "github" -} \ No newline at end of file +} diff --git a/models/registry/core/v1beta1/policy.go b/models/registry/core/v1beta1/policy.go index d5102fc2d..280427f45 100644 --- a/models/registry/core/v1beta1/policy.go +++ b/models/registry/core/v1beta1/policy.go @@ -17,15 +17,15 @@ import ( // swagger:response PolicyDefinition type PolicyDefinition struct { - ID core.Uuid `json:"-"` - Kind string `json:"kind,omitempty" yaml:"kind"` - Version string `json:"version,omitempty" yaml:"version"` - ModelID core.Uuid `json:"-" gorm:"column:modelID"` + ID core.Uuid `json:"-"` + Kind string `json:"kind,omitempty" yaml:"kind"` + Version string `json:"version,omitempty" yaml:"version"` + ModelID core.Uuid `json:"-" gorm:"column:modelID"` Model modelv1beta2.ModelDefinition `json:"model"` - SubType string `json:"subType" yaml:"subType"` - Expression map[string]interface{} `json:"expression" yaml:"expression" gorm:"type:bytes;serializer:json"` - CreatedAt time.Time `json:"-"` - UpdatedAt time.Time `json:"-"` + SubType string `json:"subType" yaml:"subType"` + Expression map[string]interface{} `json:"expression" yaml:"expression" gorm:"type:bytes;serializer:json"` + CreatedAt time.Time `json:"-"` + UpdatedAt time.Time `json:"-"` } func (p PolicyDefinition) GetID() core.Uuid {