diff --git a/generators/artifacthub/package.go b/generators/artifacthub/package.go index a57d3605..0b45d6fc 100644 --- a/generators/artifacthub/package.go +++ b/generators/artifacthub/package.go @@ -72,7 +72,10 @@ func (pkg AhPackage) GenerateComponents(group string) ([]_component.ComponentDef comp.Model = &model.ModelDefinition{} } if comp.Model.Metadata == nil { - comp.Model.Metadata = &model.ModelDefinition_Metadata{} + now := time.Now() + comp.Model.Metadata = &model.ModelDefinition_Metadata{ + CreatedAt: &now, + } } if comp.Model.Metadata.AdditionalProperties == nil { diff --git a/generators/github/package.go b/generators/github/package.go index a15c7130..2a055454 100644 --- a/generators/github/package.go +++ b/generators/github/package.go @@ -4,6 +4,7 @@ import ( "fmt" "io" "os" + "time" "github.com/meshery/meshkit/utils" "github.com/meshery/meshkit/utils/component" @@ -96,7 +97,10 @@ func (gp GitHubPackage) GenerateComponents(group string) ([]_component.Component comp.Model = &model.ModelDefinition{} } if comp.Model.Metadata == nil { - comp.Model.Metadata = &model.ModelDefinition_Metadata{} + now := time.Now() + comp.Model.Metadata = &model.ModelDefinition_Metadata{ + CreatedAt: &now, + } } if comp.Model.Metadata.AdditionalProperties == nil { comp.Model.Metadata.AdditionalProperties = make(map[string]interface{}) diff --git a/go.mod b/go.mod index 04fb4f8f..41f95b9c 100644 --- a/go.mod +++ b/go.mod @@ -305,4 +305,7 @@ require ( sigs.k8s.io/structured-merge-diff/v6 v6.3.1 // indirect ) -replace github.com/meshery/meshkit => ../meshkit +replace ( + github.com/meshery/meshkit => ../meshkit + github.com/meshery/schemas => ../schemas +) diff --git a/go.sum b/go.sum index 590b4802..ded48454 100644 --- a/go.sum +++ b/go.sum @@ -428,8 +428,6 @@ github.com/mattn/go-sqlite3 v1.14.32 h1:JD12Ag3oLy1zQA+BNn74xRgaBbdhbNIDYvQUEuuE github.com/mattn/go-sqlite3 v1.14.32/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= github.com/meshery/meshery-operator v0.8.11 h1:eDo2Sw0jjVrXsvvhF8LenADM58pK+7Z68ROPVIejTPc= github.com/meshery/meshery-operator v0.8.11/go.mod h1:hQEtFKKa5Fr/Mskk6bV5ip3bQ0+3F0u1voYS3XisBp4= -github.com/meshery/schemas v0.8.94 h1:Xmjc0+MKUbvFPO/LmS4/0ncVqPpHqID3tuThn4QltQ0= -github.com/meshery/schemas v0.8.94/go.mod h1:1GRdkWXLCzL6Y664T8JWpGMW9EtLaaBMxYD+u4GMG1M= github.com/miekg/dns v1.1.57 h1:Jzi7ApEIzwEPLHWRcafCN9LZSBbqQpxjt/wpgvg7wcM= github.com/miekg/dns v1.1.57/go.mod h1:uqRjCRUuEAA6qsOiJvDd+CFo/vW+y5WR6SNmHE55hZk= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= diff --git a/registry/model.go b/registry/model.go index 6a84abed..2fcd9cd8 100644 --- a/registry/model.go +++ b/registry/model.go @@ -105,7 +105,10 @@ var modelMetadataValues = []string{ func (m *ModelCSV) UpdateModelDefinition(modelDef *_model.ModelDefinition) error { metadata := modelDef.Metadata if metadata == nil { - metadata = &_model.ModelDefinition_Metadata{} + now := time.Now() + metadata = &_model.ModelDefinition_Metadata{ + CreatedAt: &now, + } } if metadata.AdditionalProperties == nil { metadata.AdditionalProperties = make(map[string]interface{}) @@ -626,7 +629,10 @@ func GenerateComponentsFromPkg(pkg models.Package, compDirPath string, defVersio for _, comp := range comps { comp.Version = defVersion if modelDef.Metadata == nil { - modelDef.Metadata = &_model.ModelDefinition_Metadata{} + now := time.Now() + modelDef.Metadata = &_model.ModelDefinition_Metadata{ + CreatedAt: &now, + } } if modelDef.Metadata.AdditionalProperties == nil { modelDef.Metadata.AdditionalProperties = make(map[string]interface{}) @@ -918,7 +924,10 @@ func InvokeGenerationFromSheet(wg *sync.WaitGroup, path string, modelsheetID, co // i.e., If model is enabled, comps are also "enabled". Ultimately, all individual comps will have the ability to control their status. // The status "enabled" indicates that the component will be registered inside the registry. if modelDef.Metadata == nil { - modelDef.Metadata = &_model.ModelDefinition_Metadata{} + now := time.Now() + modelDef.Metadata = &_model.ModelDefinition_Metadata{ + CreatedAt: &now, + } } if modelDef.Metadata.AdditionalProperties == nil { modelDef.Metadata.AdditionalProperties = make(map[string]interface{}) diff --git a/utils/component/openapi_generator.go b/utils/component/openapi_generator.go index 540f7feb..24fc189c 100644 --- a/utils/component/openapi_generator.go +++ b/utils/component/openapi_generator.go @@ -5,6 +5,7 @@ import ( "errors" "fmt" "strings" + "time" "cuelang.org/go/cue" "cuelang.org/go/cue/cuecontext" @@ -121,6 +122,14 @@ func GenerateFromOpenAPI(resource string, pkg models.Package) ([]component.Compo } } + now := time.Now() + metadata := &model.ModelDefinition_Metadata{ + CreatedAt: &now, + } + if metadata.AdditionalProperties == nil { + metadata.AdditionalProperties = make(map[string]interface{}) + } + metadata.AdditionalProperties["source_uri"] = pkg.GetSourceURL() c := component.ComponentDefinition{ SchemaVersion: v1beta1.ComponentSchemaVersion, Format: component.JSON, @@ -140,11 +149,7 @@ func GenerateFromOpenAPI(resource string, pkg models.Package) ([]component.Compo }, Name: pkg.GetName(), DisplayName: manifests.FormatToReadableString(pkg.GetName()), - Metadata: &model.ModelDefinition_Metadata{ - AdditionalProperties: map[string]interface{}{ - "source_uri": pkg.GetSourceURL(), - }, - }, + Metadata: metadata, }, }