Documentation
¶
Index ¶
- type CombinedRegistryProvider
- func (p *CombinedRegistryProvider) DiscoverComponents(ctx context.Context, language string) ([]RegistryComponent, error)
- func (p *CombinedRegistryProvider) GetComponentByName(ctx context.Context, name string) (*RegistryComponent, error)
- func (p *CombinedRegistryProvider) GetLanguage() types.ComponentLanguage
- func (p *CombinedRegistryProvider) GetName() string
- func (p *CombinedRegistryProvider) GetRegistryType() string
- func (p *CombinedRegistryProvider) IsHealthy(ctx context.Context) bool
- type CompositeProvider
- func (p *CompositeProvider) DiscoverComponents(ctx context.Context) ([]types.Component, error)
- func (p *CompositeProvider) GetComponentMetadata(ctx context.Context, name string) (*types.Component, error)
- func (p *CompositeProvider) GetComponentVersions(ctx context.Context, name string) ([]types.Version, error)
- func (p *CompositeProvider) GetLanguage() types.ComponentLanguage
- func (p *CompositeProvider) GetName() string
- func (p *CompositeProvider) GetPackageManagerType() string
- func (p *CompositeProvider) GetRegistryType() string
- func (p *CompositeProvider) IsHealthy(ctx context.Context) bool
- type CorePackage
- type DefaultProviderFactory
- func (f *DefaultProviderFactory) GetPackageManagerProvider(language types.ComponentLanguage) (PackageManagerProvider, error)
- func (f *DefaultProviderFactory) GetProvider(language types.ComponentLanguage) (Provider, error)
- func (f *DefaultProviderFactory) GetRegistryProvider(language types.ComponentLanguage) (RegistryProvider, error)
- func (f *DefaultProviderFactory) ListSupportedLanguages() []types.ComponentLanguage
- func (f *DefaultProviderFactory) RegisterProvider(provider Provider) error
- type GenericLanguageProvider
- func (p *GenericLanguageProvider) DiscoverComponents(ctx context.Context) ([]types.Component, error)
- func (p *GenericLanguageProvider) GetComponentMetadata(ctx context.Context, name string) (*types.Component, error)
- func (p *GenericLanguageProvider) GetComponentVersions(ctx context.Context, name string) ([]types.Version, error)
- func (p *GenericLanguageProvider) GetLanguage() types.ComponentLanguage
- func (p *GenericLanguageProvider) GetName() string
- func (p *GenericLanguageProvider) GetPackageManagerProvider() PackageManagerProvider
- func (p *GenericLanguageProvider) GetPackageManagerType() string
- func (p *GenericLanguageProvider) GetRegistryProvider() RegistryProvider
- func (p *GenericLanguageProvider) GetRegistryType() string
- func (p *GenericLanguageProvider) IsHealthy(ctx context.Context) bool
- type GenericPackageManagerProvider
- func (p *GenericPackageManagerProvider) GetLanguage() types.ComponentLanguage
- func (p *GenericPackageManagerProvider) GetLatestVersion(ctx context.Context, name string) (*VersionMetadata, error)
- func (p *GenericPackageManagerProvider) GetName() string
- func (p *GenericPackageManagerProvider) GetPackage(ctx context.Context, name string) (*PackageMetadata, error)
- func (p *GenericPackageManagerProvider) GetPackageManagerType() string
- func (p *GenericPackageManagerProvider) GetPackageVersion(ctx context.Context, name, version string) (*VersionMetadata, error)
- func (p *GenericPackageManagerProvider) IsHealthy(ctx context.Context) bool
- type GenericRegistryProvider
- func (p *GenericRegistryProvider) DiscoverComponents(ctx context.Context, language string) ([]RegistryComponent, error)
- func (p *GenericRegistryProvider) GetComponentByName(ctx context.Context, name string) (*RegistryComponent, error)
- func (p *GenericRegistryProvider) GetLanguage() types.ComponentLanguage
- func (p *GenericRegistryProvider) GetName() string
- func (p *GenericRegistryProvider) GetRegistryType() string
- func (p *GenericRegistryProvider) IsHealthy(ctx context.Context) bool
- type GitHubClient
- func (g *GitHubClient) ExtractOwnerAndRepo(repositoryURL string) (string, string, error)
- func (g *GitHubClient) FetchReleases(ctx context.Context, owner, repo string) ([]GitHubRelease, error)
- func (g *GitHubClient) GetReleaseNotes(ctx context.Context, repositoryURL, version string) (*ReleaseNotes, error)
- type GitHubRelease
- type GoModuleProxyClient
- type GoPackageManagerProvider
- func (p *GoPackageManagerProvider) GetLanguage() types.ComponentLanguage
- func (p *GoPackageManagerProvider) GetLatestVersion(ctx context.Context, name string) (*VersionMetadata, error)
- func (p *GoPackageManagerProvider) GetName() string
- func (p *GoPackageManagerProvider) GetPackage(ctx context.Context, name string) (*PackageMetadata, error)
- func (p *GoPackageManagerProvider) GetPackageManagerType() string
- func (p *GoPackageManagerProvider) GetPackageVersion(ctx context.Context, name, version string) (*VersionMetadata, error)
- func (p *GoPackageManagerProvider) IsHealthy(ctx context.Context) bool
- type GoProvider
- func (p *GoProvider) DiscoverComponents(ctx context.Context) ([]types.Component, error)
- func (p *GoProvider) GetComponentMetadata(ctx context.Context, name string) (*types.Component, error)
- func (p *GoProvider) GetComponentVersions(ctx context.Context, name string) ([]types.Version, error)
- func (p *GoProvider) GetLanguage() types.ComponentLanguage
- func (p *GoProvider) GetName() string
- func (p *GoProvider) GetPackageManagerProvider() PackageManagerProvider
- func (p *GoProvider) GetPackageManagerType() string
- func (p *GoProvider) GetRegistryType() string
- func (p *GoProvider) IsHealthy(ctx context.Context) bool
- type GoRegistryProvider
- func (p *GoRegistryProvider) DiscoverComponents(ctx context.Context, language string) ([]RegistryComponent, error)
- func (p *GoRegistryProvider) GetComponentByName(ctx context.Context, name string) (*RegistryComponent, error)
- func (p *GoRegistryProvider) GetLanguage() types.ComponentLanguage
- func (p *GoRegistryProvider) GetName() string
- func (p *GoRegistryProvider) GetRegistryType() string
- func (p *GoRegistryProvider) IsHealthy(ctx context.Context) bool
- type JavaScriptPackageManagerProvider
- func (p *JavaScriptPackageManagerProvider) GetLanguage() types.ComponentLanguage
- func (p *JavaScriptPackageManagerProvider) GetLatestVersion(ctx context.Context, name string) (*VersionMetadata, error)
- func (p *JavaScriptPackageManagerProvider) GetName() string
- func (p *JavaScriptPackageManagerProvider) GetPackage(ctx context.Context, name string) (*PackageMetadata, error)
- func (p *JavaScriptPackageManagerProvider) GetPackageManagerType() string
- func (p *JavaScriptPackageManagerProvider) GetPackageVersion(ctx context.Context, name, version string) (*VersionMetadata, error)
- func (p *JavaScriptPackageManagerProvider) IsHealthy(ctx context.Context) bool
- type JavaScriptProvider
- func (p *JavaScriptProvider) DiscoverComponents(ctx context.Context) ([]types.Component, error)
- func (p *JavaScriptProvider) GetComponentMetadata(ctx context.Context, name string) (*types.Component, error)
- func (p *JavaScriptProvider) GetComponentVersions(ctx context.Context, name string) ([]types.Version, error)
- func (p *JavaScriptProvider) GetLanguage() types.ComponentLanguage
- func (p *JavaScriptProvider) GetName() string
- func (p *JavaScriptProvider) GetPackageManagerProvider() PackageManagerProvider
- func (p *JavaScriptProvider) GetPackageManagerType() string
- func (p *JavaScriptProvider) GetRegistryProvider() RegistryProvider
- func (p *JavaScriptProvider) GetRegistryType() string
- func (p *JavaScriptProvider) IsHealthy(ctx context.Context) bool
- type JavaScriptRegistryProvider
- func (p *JavaScriptRegistryProvider) DiscoverComponents(ctx context.Context, language string) ([]RegistryComponent, error)
- func (p *JavaScriptRegistryProvider) GetComponentByName(ctx context.Context, name string) (*RegistryComponent, error)
- func (p *JavaScriptRegistryProvider) GetLanguage() types.ComponentLanguage
- func (p *JavaScriptRegistryProvider) GetName() string
- func (p *JavaScriptRegistryProvider) GetRegistryType() string
- func (p *JavaScriptRegistryProvider) IsHealthy(ctx context.Context) bool
- type OTELCoreProvider
- func (p *OTELCoreProvider) CheckSpecificationCompliance(specVersion string) (*SpecificationCompliance, error)
- func (p *OTELCoreProvider) CheckVersionCompatibility(packages map[string]string) (bool, []string)
- func (p *OTELCoreProvider) DiscoverComponents(ctx context.Context, language string) ([]RegistryComponent, error)
- func (p *OTELCoreProvider) DiscoverComponentsForRegistry(ctx context.Context, language string) ([]RegistryComponent, error)
- func (p *OTELCoreProvider) GetComplianceReport() map[string]interface{}
- func (p *OTELCoreProvider) GetComponentByName(ctx context.Context, name string) (*RegistryComponent, error)
- func (p *OTELCoreProvider) GetLanguage() types.ComponentLanguage
- func (p *OTELCoreProvider) GetMainSDKs() []CorePackage
- func (p *OTELCoreProvider) GetName() string
- func (p *OTELCoreProvider) GetRegistryType() string
- func (p *OTELCoreProvider) IsHealthy(ctx context.Context) bool
- func (p *OTELCoreProvider) IsMainSDK(packageName string) bool
- type PackageManagerProvider
- type PackageMetadata
- type PackageVersionInfo
- type Provider
- type ProviderFactory
- type PyPIClient
- func (p *PyPIClient) GetLanguage() types.ComponentLanguage
- func (p *PyPIClient) GetLatestVersion(ctx context.Context, name string) (*VersionMetadata, error)
- func (p *PyPIClient) GetName() string
- func (p *PyPIClient) GetPackage(ctx context.Context, name string) (*PackageMetadata, error)
- func (p *PyPIClient) GetPackageManagerType() string
- func (p *PyPIClient) GetPackageVersion(ctx context.Context, name, version string) (*VersionMetadata, error)
- func (p *PyPIClient) IsHealthy(ctx context.Context) bool
- type PythonProvider
- func (p *PythonProvider) DiscoverComponents(ctx context.Context) ([]types.Component, error)
- func (p *PythonProvider) GetComponentMetadata(ctx context.Context, name string) (*types.Component, error)
- func (p *PythonProvider) GetComponentVersions(ctx context.Context, name string) ([]types.Version, error)
- func (p *PythonProvider) GetLanguage() types.ComponentLanguage
- func (p *PythonProvider) GetName() string
- func (p *PythonProvider) GetPackageManagerProvider() PackageManagerProvider
- func (p *PythonProvider) GetPackageManagerType() string
- func (p *PythonProvider) GetRegistryProvider() RegistryProvider
- func (p *PythonProvider) GetRegistryType() string
- func (p *PythonProvider) IsHealthy(ctx context.Context) bool
- type PythonRegistryClient
- func (p *PythonRegistryClient) DiscoverComponents(ctx context.Context, language string) ([]RegistryComponent, error)
- func (p *PythonRegistryClient) GetComponentByName(ctx context.Context, name string) (*RegistryComponent, error)
- func (p *PythonRegistryClient) GetLanguage() types.ComponentLanguage
- func (p *PythonRegistryClient) GetName() string
- func (p *PythonRegistryClient) GetRegistryType() string
- func (p *PythonRegistryClient) IsHealthy(ctx context.Context) bool
- type PythonRegistryProvider
- func (p *PythonRegistryProvider) DiscoverComponents(ctx context.Context, language string) ([]RegistryComponent, error)
- func (p *PythonRegistryProvider) GetComponentByName(ctx context.Context, name string) (*RegistryComponent, error)
- func (p *PythonRegistryProvider) GetLanguage() types.ComponentLanguage
- func (p *PythonRegistryProvider) GetName() string
- func (p *PythonRegistryProvider) GetRegistryType() string
- func (p *PythonRegistryProvider) IsHealthy(ctx context.Context) bool
- type RegistryComponent
- type RegistryProvider
- type ReleaseNotes
- type SpecificationCompliance
- type VersionCompatibilityMatrix
- type VersionMetadata
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CombinedRegistryProvider ¶
type CombinedRegistryProvider struct {
// contains filtered or unexported fields
}
CombinedRegistryProvider combines multiple registry providers to provide a unified view
func NewCombinedRegistryProvider ¶
func NewCombinedRegistryProvider(providers ...RegistryProvider) *CombinedRegistryProvider
NewCombinedRegistryProvider creates a new combined registry provider
func (*CombinedRegistryProvider) DiscoverComponents ¶
func (p *CombinedRegistryProvider) DiscoverComponents(ctx context.Context, language string) ([]RegistryComponent, error)
DiscoverComponents discovers all components from all providers
func (*CombinedRegistryProvider) GetComponentByName ¶
func (p *CombinedRegistryProvider) GetComponentByName(ctx context.Context, name string) (*RegistryComponent, error)
GetComponentByName gets a specific component by name from any provider
func (*CombinedRegistryProvider) GetLanguage ¶
func (p *CombinedRegistryProvider) GetLanguage() types.ComponentLanguage
GetLanguage returns the language this registry supports
func (*CombinedRegistryProvider) GetName ¶
func (p *CombinedRegistryProvider) GetName() string
GetName returns the provider name
func (*CombinedRegistryProvider) GetRegistryType ¶
func (p *CombinedRegistryProvider) GetRegistryType() string
GetRegistryType returns the type of registry
type CompositeProvider ¶
type CompositeProvider struct {
// contains filtered or unexported fields
}
CompositeProvider combines a registry provider and package manager provider
func NewCompositeProvider ¶
func NewCompositeProvider(name string, language types.ComponentLanguage, registry RegistryProvider, packageManager PackageManagerProvider) *CompositeProvider
NewCompositeProvider creates a new composite provider
func (*CompositeProvider) DiscoverComponents ¶
DiscoverComponents implements the Provider interface
func (*CompositeProvider) GetComponentMetadata ¶
func (p *CompositeProvider) GetComponentMetadata(ctx context.Context, name string) (*types.Component, error)
GetComponentMetadata implements the Provider interface
func (*CompositeProvider) GetComponentVersions ¶
func (p *CompositeProvider) GetComponentVersions(ctx context.Context, name string) ([]types.Version, error)
GetComponentVersions implements the Provider interface
func (*CompositeProvider) GetLanguage ¶
func (p *CompositeProvider) GetLanguage() types.ComponentLanguage
GetLanguage returns the language this provider supports
func (*CompositeProvider) GetName ¶
func (p *CompositeProvider) GetName() string
GetName returns the provider name
func (*CompositeProvider) GetPackageManagerType ¶
func (p *CompositeProvider) GetPackageManagerType() string
GetPackageManagerType returns the type of package manager
func (*CompositeProvider) GetRegistryType ¶
func (p *CompositeProvider) GetRegistryType() string
GetRegistryType returns the type of registry
type CorePackage ¶
type CorePackage struct {
Name string
Type string
MinVersion string
MaxVersion string
Stability string // stable, experimental, deprecated
Lifecycle string // alpha, beta, stable, deprecated
SpecCompliance string // v1.0, v1.1, v1.2, etc.
BreakingChanges []string
}
CorePackage represents a core OTEL package
type DefaultProviderFactory ¶
type DefaultProviderFactory struct {
// contains filtered or unexported fields
}
DefaultProviderFactory implements the ProviderFactory interface
func NewProviderFactory ¶
func NewProviderFactory(path string, logger logger.Logger) *DefaultProviderFactory
NewProviderFactory creates a new provider factory with default providers
func (*DefaultProviderFactory) GetPackageManagerProvider ¶
func (f *DefaultProviderFactory) GetPackageManagerProvider(language types.ComponentLanguage) (PackageManagerProvider, error)
GetPackageManagerProvider returns a package manager provider for the specified language
func (*DefaultProviderFactory) GetProvider ¶
func (f *DefaultProviderFactory) GetProvider(language types.ComponentLanguage) (Provider, error)
GetProvider returns a provider for the specified language
func (*DefaultProviderFactory) GetRegistryProvider ¶
func (f *DefaultProviderFactory) GetRegistryProvider(language types.ComponentLanguage) (RegistryProvider, error)
GetRegistryProvider returns a registry provider for the specified language
func (*DefaultProviderFactory) ListSupportedLanguages ¶
func (f *DefaultProviderFactory) ListSupportedLanguages() []types.ComponentLanguage
ListSupportedLanguages returns all supported languages
func (*DefaultProviderFactory) RegisterProvider ¶
func (f *DefaultProviderFactory) RegisterProvider(provider Provider) error
RegisterProvider registers a custom provider
type GenericLanguageProvider ¶
type GenericLanguageProvider struct {
// contains filtered or unexported fields
}
GenericLanguageProvider implements Provider for any language using the registry client
func NewGenericLanguageProvider ¶
func NewGenericLanguageProvider(language types.ComponentLanguage, githubToken string, logger logger.Logger) *GenericLanguageProvider
NewGenericLanguageProvider creates a new generic language provider
func (*GenericLanguageProvider) DiscoverComponents ¶
func (p *GenericLanguageProvider) DiscoverComponents(ctx context.Context) ([]types.Component, error)
DiscoverComponents discovers all components for the language
func (*GenericLanguageProvider) GetComponentMetadata ¶
func (p *GenericLanguageProvider) GetComponentMetadata(ctx context.Context, name string) (*types.Component, error)
GetComponentMetadata gets metadata for a specific component
func (*GenericLanguageProvider) GetComponentVersions ¶
func (p *GenericLanguageProvider) GetComponentVersions(ctx context.Context, name string) ([]types.Version, error)
GetComponentVersions gets versions for a specific component
func (*GenericLanguageProvider) GetLanguage ¶
func (p *GenericLanguageProvider) GetLanguage() types.ComponentLanguage
GetLanguage returns the language this provider supports
func (*GenericLanguageProvider) GetName ¶
func (p *GenericLanguageProvider) GetName() string
GetName returns the provider name
func (*GenericLanguageProvider) GetPackageManagerProvider ¶
func (p *GenericLanguageProvider) GetPackageManagerProvider() PackageManagerProvider
GetPackageManagerProvider returns the package manager provider
func (*GenericLanguageProvider) GetPackageManagerType ¶
func (p *GenericLanguageProvider) GetPackageManagerType() string
GetPackageManagerType returns the type of package manager
func (*GenericLanguageProvider) GetRegistryProvider ¶
func (p *GenericLanguageProvider) GetRegistryProvider() RegistryProvider
GetRegistryProvider returns the registry provider
func (*GenericLanguageProvider) GetRegistryType ¶
func (p *GenericLanguageProvider) GetRegistryType() string
GetRegistryType returns the type of registry
type GenericPackageManagerProvider ¶
type GenericPackageManagerProvider struct {
// contains filtered or unexported fields
}
GenericPackageManagerProvider implements PackageManagerProvider for any language
func NewGenericPackageManagerProvider ¶
func NewGenericPackageManagerProvider(language types.ComponentLanguage) *GenericPackageManagerProvider
NewGenericPackageManagerProvider creates a new generic package manager provider
func (*GenericPackageManagerProvider) GetLanguage ¶
func (p *GenericPackageManagerProvider) GetLanguage() types.ComponentLanguage
GetLanguage returns the language this package manager supports
func (*GenericPackageManagerProvider) GetLatestVersion ¶
func (p *GenericPackageManagerProvider) GetLatestVersion(ctx context.Context, name string) (*VersionMetadata, error)
GetLatestVersion gets the latest version of a package
func (*GenericPackageManagerProvider) GetName ¶
func (p *GenericPackageManagerProvider) GetName() string
GetName returns the provider name
func (*GenericPackageManagerProvider) GetPackage ¶
func (p *GenericPackageManagerProvider) GetPackage(ctx context.Context, name string) (*PackageMetadata, error)
GetPackage gets package metadata by name
func (*GenericPackageManagerProvider) GetPackageManagerType ¶
func (p *GenericPackageManagerProvider) GetPackageManagerType() string
GetPackageManagerType returns the type of package manager
func (*GenericPackageManagerProvider) GetPackageVersion ¶
func (p *GenericPackageManagerProvider) GetPackageVersion(ctx context.Context, name, version string) (*VersionMetadata, error)
GetPackageVersion gets specific version metadata
type GenericRegistryProvider ¶
type GenericRegistryProvider struct {
// contains filtered or unexported fields
}
GenericRegistryProvider implements RegistryProvider for any language
func NewGenericRegistryProvider ¶
func NewGenericRegistryProvider(language types.ComponentLanguage, path string, logger logger.Logger) *GenericRegistryProvider
NewGenericRegistryProvider creates a new generic registry provider
func (*GenericRegistryProvider) DiscoverComponents ¶
func (p *GenericRegistryProvider) DiscoverComponents(ctx context.Context, language string) ([]RegistryComponent, error)
DiscoverComponents discovers all components for the language
func (*GenericRegistryProvider) GetComponentByName ¶
func (p *GenericRegistryProvider) GetComponentByName(ctx context.Context, name string) (*RegistryComponent, error)
GetComponentByName gets a specific component by name
func (*GenericRegistryProvider) GetLanguage ¶
func (p *GenericRegistryProvider) GetLanguage() types.ComponentLanguage
GetLanguage returns the language this registry supports
func (*GenericRegistryProvider) GetName ¶
func (p *GenericRegistryProvider) GetName() string
GetName returns the provider name
func (*GenericRegistryProvider) GetRegistryType ¶
func (p *GenericRegistryProvider) GetRegistryType() string
GetRegistryType returns the type of registry
type GitHubClient ¶
type GitHubClient struct {
// contains filtered or unexported fields
}
GitHubClient represents a client for GitHub API operations
func NewGitHubClient ¶
func NewGitHubClient(githubToken string) *GitHubClient
NewGitHubClient creates a new GitHub client with all parameters explicitly declared
func (*GitHubClient) ExtractOwnerAndRepo ¶
func (g *GitHubClient) ExtractOwnerAndRepo(repositoryURL string) (string, string, error)
ExtractOwnerAndRepo extracts the owner and repository name from a GitHub URL
func (*GitHubClient) FetchReleases ¶
func (g *GitHubClient) FetchReleases(ctx context.Context, owner, repo string) ([]GitHubRelease, error)
FetchReleases fetches all releases from a GitHub repository
func (*GitHubClient) GetReleaseNotes ¶
func (g *GitHubClient) GetReleaseNotes(ctx context.Context, repositoryURL, version string) (*ReleaseNotes, error)
GetReleaseNotes fetches release notes for a specific version from a GitHub repository
type GitHubRelease ¶
type GitHubRelease struct {
TagName string `json:"tag_name"`
Name string `json:"name"`
Body string `json:"body"`
PublishedAt time.Time `json:"published_at"`
Prerelease bool `json:"prerelease"`
URL string `json:"url"`
HTMLURL string `json:"html_url"`
AssetsURL string `json:"assets_url"`
UploadURL string `json:"upload_url"`
TarballURL string `json:"tarball_url"`
ZipballURL string `json:"zipball_url"`
}
GitHubRelease represents a GitHub release
type GoModuleProxyClient ¶
type GoModuleProxyClient struct {
// contains filtered or unexported fields
}
GoModuleProxyClient provides access to Go module proxy
func NewGoModuleProxyClient ¶
func NewGoModuleProxyClient() *GoModuleProxyClient
NewGoModuleProxyClient creates a new Go module proxy client
type GoPackageManagerProvider ¶
type GoPackageManagerProvider struct {
// contains filtered or unexported fields
}
GoPackageManagerProvider implements PackageManagerProvider for Go modules
func NewGoPackageManagerProvider ¶
func NewGoPackageManagerProvider() *GoPackageManagerProvider
NewGoPackageManagerProvider creates a new Go package manager provider
func (*GoPackageManagerProvider) GetLanguage ¶
func (p *GoPackageManagerProvider) GetLanguage() types.ComponentLanguage
GetLanguage returns the language this package manager supports
func (*GoPackageManagerProvider) GetLatestVersion ¶
func (p *GoPackageManagerProvider) GetLatestVersion(ctx context.Context, name string) (*VersionMetadata, error)
GetLatestVersion gets the latest version of a package
func (*GoPackageManagerProvider) GetName ¶
func (p *GoPackageManagerProvider) GetName() string
GetName returns the provider name
func (*GoPackageManagerProvider) GetPackage ¶
func (p *GoPackageManagerProvider) GetPackage(ctx context.Context, name string) (*PackageMetadata, error)
GetPackage gets package metadata by name
func (*GoPackageManagerProvider) GetPackageManagerType ¶
func (p *GoPackageManagerProvider) GetPackageManagerType() string
GetPackageManagerType returns the type of package manager
func (*GoPackageManagerProvider) GetPackageVersion ¶
func (p *GoPackageManagerProvider) GetPackageVersion(ctx context.Context, name, version string) (*VersionMetadata, error)
GetPackageVersion gets specific version metadata
type GoProvider ¶
type GoProvider struct {
// contains filtered or unexported fields
}
GoProvider implements the Provider interface for Go
func (*GoProvider) DiscoverComponents ¶
DiscoverComponents discovers all Go components
func (*GoProvider) GetComponentMetadata ¶
func (p *GoProvider) GetComponentMetadata(ctx context.Context, name string) (*types.Component, error)
GetComponentMetadata gets metadata for a specific Go component
func (*GoProvider) GetComponentVersions ¶
func (p *GoProvider) GetComponentVersions(ctx context.Context, name string) ([]types.Version, error)
GetComponentVersions gets versions for a specific Go component
func (*GoProvider) GetLanguage ¶
func (p *GoProvider) GetLanguage() types.ComponentLanguage
GetLanguage returns the language this provider supports
func (*GoProvider) GetName ¶
func (p *GoProvider) GetName() string
GetName returns the provider name
func (*GoProvider) GetPackageManagerProvider ¶
func (p *GoProvider) GetPackageManagerProvider() PackageManagerProvider
GetPackageManagerProvider returns the package manager provider
func (*GoProvider) GetPackageManagerType ¶
func (p *GoProvider) GetPackageManagerType() string
GetPackageManagerType returns the type of package manager
func (*GoProvider) GetRegistryType ¶
func (p *GoProvider) GetRegistryType() string
GetRegistryType returns the type of registry
type GoRegistryProvider ¶
type GoRegistryProvider struct {
// contains filtered or unexported fields
}
GoRegistryProvider implements RegistryProvider for Go OpenTelemetry registry
func NewGoRegistryProvider ¶
func NewGoRegistryProvider() *GoRegistryProvider
NewGoRegistryProvider creates a new Go registry provider
func (*GoRegistryProvider) DiscoverComponents ¶
func (p *GoRegistryProvider) DiscoverComponents(ctx context.Context, language string) ([]RegistryComponent, error)
DiscoverComponents discovers all Go components from the registry
func (*GoRegistryProvider) GetComponentByName ¶
func (p *GoRegistryProvider) GetComponentByName(ctx context.Context, name string) (*RegistryComponent, error)
GetComponentByName gets a specific Go component by name
func (*GoRegistryProvider) GetLanguage ¶
func (p *GoRegistryProvider) GetLanguage() types.ComponentLanguage
GetLanguage returns the language this registry supports
func (*GoRegistryProvider) GetName ¶
func (p *GoRegistryProvider) GetName() string
GetName returns the provider name
func (*GoRegistryProvider) GetRegistryType ¶
func (p *GoRegistryProvider) GetRegistryType() string
GetRegistryType returns the type of registry
type JavaScriptPackageManagerProvider ¶
type JavaScriptPackageManagerProvider struct {
// contains filtered or unexported fields
}
JavaScriptPackageManagerProvider implements PackageManagerProvider for JavaScript
func (*JavaScriptPackageManagerProvider) GetLanguage ¶
func (p *JavaScriptPackageManagerProvider) GetLanguage() types.ComponentLanguage
GetLanguage returns the language this package manager supports
func (*JavaScriptPackageManagerProvider) GetLatestVersion ¶
func (p *JavaScriptPackageManagerProvider) GetLatestVersion(ctx context.Context, name string) (*VersionMetadata, error)
GetLatestVersion gets the latest version of a package
func (*JavaScriptPackageManagerProvider) GetName ¶
func (p *JavaScriptPackageManagerProvider) GetName() string
GetName returns the provider name
func (*JavaScriptPackageManagerProvider) GetPackage ¶
func (p *JavaScriptPackageManagerProvider) GetPackage(ctx context.Context, name string) (*PackageMetadata, error)
GetPackage gets package metadata by name
func (*JavaScriptPackageManagerProvider) GetPackageManagerType ¶
func (p *JavaScriptPackageManagerProvider) GetPackageManagerType() string
GetPackageManagerType returns the type of package manager
func (*JavaScriptPackageManagerProvider) GetPackageVersion ¶
func (p *JavaScriptPackageManagerProvider) GetPackageVersion(ctx context.Context, name, version string) (*VersionMetadata, error)
GetPackageVersion gets specific version metadata
type JavaScriptProvider ¶
type JavaScriptProvider struct {
// contains filtered or unexported fields
}
JavaScriptProvider implements the Provider interface for JavaScript
func NewJavaScriptProvider ¶
func NewJavaScriptProvider() *JavaScriptProvider
NewJavaScriptProvider creates a new JavaScript provider
func (*JavaScriptProvider) DiscoverComponents ¶
DiscoverComponents discovers all JavaScript components
func (*JavaScriptProvider) GetComponentMetadata ¶
func (p *JavaScriptProvider) GetComponentMetadata(ctx context.Context, name string) (*types.Component, error)
GetComponentMetadata gets metadata for a specific JavaScript component
func (*JavaScriptProvider) GetComponentVersions ¶
func (p *JavaScriptProvider) GetComponentVersions(ctx context.Context, name string) ([]types.Version, error)
GetComponentVersions gets versions for a specific JavaScript component
func (*JavaScriptProvider) GetLanguage ¶
func (p *JavaScriptProvider) GetLanguage() types.ComponentLanguage
GetLanguage returns the language this provider supports
func (*JavaScriptProvider) GetName ¶
func (p *JavaScriptProvider) GetName() string
GetName returns the provider name
func (*JavaScriptProvider) GetPackageManagerProvider ¶
func (p *JavaScriptProvider) GetPackageManagerProvider() PackageManagerProvider
GetPackageManagerProvider returns the package manager provider
func (*JavaScriptProvider) GetPackageManagerType ¶
func (p *JavaScriptProvider) GetPackageManagerType() string
GetPackageManagerType returns the type of package manager
func (*JavaScriptProvider) GetRegistryProvider ¶
func (p *JavaScriptProvider) GetRegistryProvider() RegistryProvider
GetRegistryProvider returns the registry provider
func (*JavaScriptProvider) GetRegistryType ¶
func (p *JavaScriptProvider) GetRegistryType() string
GetRegistryType returns the type of registry
type JavaScriptRegistryProvider ¶
type JavaScriptRegistryProvider struct {
// contains filtered or unexported fields
}
JavaScriptRegistryProvider implements RegistryProvider for JavaScript
func (*JavaScriptRegistryProvider) DiscoverComponents ¶
func (p *JavaScriptRegistryProvider) DiscoverComponents(ctx context.Context, language string) ([]RegistryComponent, error)
DiscoverComponents discovers all components for JavaScript
func (*JavaScriptRegistryProvider) GetComponentByName ¶
func (p *JavaScriptRegistryProvider) GetComponentByName(ctx context.Context, name string) (*RegistryComponent, error)
GetComponentByName gets a specific component by name
func (*JavaScriptRegistryProvider) GetLanguage ¶
func (p *JavaScriptRegistryProvider) GetLanguage() types.ComponentLanguage
GetLanguage returns the language this registry supports
func (*JavaScriptRegistryProvider) GetName ¶
func (p *JavaScriptRegistryProvider) GetName() string
GetName returns the provider name
func (*JavaScriptRegistryProvider) GetRegistryType ¶
func (p *JavaScriptRegistryProvider) GetRegistryType() string
GetRegistryType returns the type of registry
type OTELCoreProvider ¶
type OTELCoreProvider struct {
// contains filtered or unexported fields
}
OTELCoreProvider implements both Provider and RegistryProvider to include both registry components and core packages
func NewOTELCoreProvider ¶
func NewOTELCoreProvider(language types.ComponentLanguage, logger logger.Logger) *OTELCoreProvider
NewOTELCoreProvider creates a new OTEL core provider
func (*OTELCoreProvider) CheckSpecificationCompliance ¶
func (p *OTELCoreProvider) CheckSpecificationCompliance(specVersion string) (*SpecificationCompliance, error)
CheckSpecificationCompliance checks if packages comply with a specific OTEL spec version
func (*OTELCoreProvider) CheckVersionCompatibility ¶
func (p *OTELCoreProvider) CheckVersionCompatibility(packages map[string]string) (bool, []string)
CheckVersionCompatibility checks if a set of package versions are compatible
func (*OTELCoreProvider) DiscoverComponents ¶
func (p *OTELCoreProvider) DiscoverComponents(ctx context.Context, language string) ([]RegistryComponent, error)
DiscoverComponentsForRegistryInterface implements the RegistryProvider interface
func (*OTELCoreProvider) DiscoverComponentsForRegistry ¶
func (p *OTELCoreProvider) DiscoverComponentsForRegistry(ctx context.Context, language string) ([]RegistryComponent, error)
DiscoverComponentsForRegistry discovers all components including core packages for the given language
func (*OTELCoreProvider) GetComplianceReport ¶
func (p *OTELCoreProvider) GetComplianceReport() map[string]interface{}
GetComplianceReport generates a comprehensive compliance report for a language
func (*OTELCoreProvider) GetComponentByName ¶
func (p *OTELCoreProvider) GetComponentByName(ctx context.Context, name string) (*RegistryComponent, error)
GetComponentByName gets a specific component by name
func (*OTELCoreProvider) GetLanguage ¶
func (p *OTELCoreProvider) GetLanguage() types.ComponentLanguage
GetLanguage returns the language this registry supports
func (*OTELCoreProvider) GetMainSDKs ¶
func (p *OTELCoreProvider) GetMainSDKs() []CorePackage
GetMainSDKs returns all main SDK packages for the language
func (*OTELCoreProvider) GetName ¶
func (p *OTELCoreProvider) GetName() string
GetName returns the provider name
func (*OTELCoreProvider) GetRegistryType ¶
func (p *OTELCoreProvider) GetRegistryType() string
GetRegistryType returns the type of registry
func (*OTELCoreProvider) IsHealthy ¶
func (p *OTELCoreProvider) IsHealthy(ctx context.Context) bool
IsHealthy checks if the registry is accessible
func (*OTELCoreProvider) IsMainSDK ¶
func (p *OTELCoreProvider) IsMainSDK(packageName string) bool
IsMainSDK checks if a package is a main SDK package (not framework-specific)
type PackageManagerProvider ¶
type PackageManagerProvider interface {
// GetName returns the provider name
GetName() string
// GetLanguage returns the language this package manager supports
GetLanguage() types.ComponentLanguage
// GetPackageManagerType returns the type of package manager (e.g., "npm", "pypi", "maven")
GetPackageManagerType() string
// GetPackage gets package metadata by name
GetPackage(ctx context.Context, name string) (*PackageMetadata, error)
// GetPackageVersion gets specific version metadata
GetPackageVersion(ctx context.Context, name, version string) (*VersionMetadata, error)
// GetLatestVersion gets the latest version of a package
GetLatestVersion(ctx context.Context, name string) (*VersionMetadata, error)
// IsHealthy checks if the package manager is accessible
IsHealthy(ctx context.Context) bool
}
PackageManagerProvider represents a package manager for enriching component metadata
type PackageMetadata ¶
type PackageMetadata struct {
Name string `json:"name"`
Description string `json:"description"`
Version string `json:"version"`
Homepage string `json:"homepage"`
Repository string `json:"repository"`
Author interface{} `json:"author"`
License string `json:"license"`
Keywords []string `json:"keywords"`
Main string `json:"main,omitempty"`
Types string `json:"types,omitempty"`
Scripts map[string]string `json:"scripts,omitempty"`
Dependencies map[string]string `json:"dependencies,omitempty"`
DevDependencies map[string]string `json:"devDependencies,omitempty"`
PeerDependencies map[string]string `json:"peerDependencies,omitempty"`
OptionalDependencies map[string]string `json:"optionalDependencies,omitempty"`
Engines map[string]string `json:"engines,omitempty"`
OS []string `json:"os,omitempty"`
CPU []string `json:"cpu,omitempty"`
DistTags map[string]string `json:"dist-tags,omitempty"`
Time map[string]time.Time `json:"time,omitempty"`
Versions map[string]VersionMetadata `json:"versions,omitempty"`
Maintainers []string `json:"maintainers,omitempty"`
Contributors []string `json:"contributors,omitempty"`
Bugs string `json:"bugs,omitempty"`
Readme string `json:"readme,omitempty"`
ID string `json:"_id,omitempty"`
Rev string `json:"_rev,omitempty"`
}
PackageMetadata represents package metadata from any package manager
type PackageVersionInfo ¶
type PackageVersionInfo struct {
Version string
ReleaseDate time.Time
Stability string
Lifecycle string
SpecCompliance string
BreakingChanges []string
Deprecated bool
MinCompatible map[string]string // e.g., {"api": "1.0.0", "sdk": "1.0.0"}
}
PackageVersionInfo represents detailed version information
type Provider ¶
type Provider interface {
// Metadata about the provider
GetName() string
GetLanguage() types.ComponentLanguage
GetRegistryType() string
GetPackageManagerType() string
// Core functionality
DiscoverComponents(ctx context.Context) ([]types.Component, error)
GetComponentMetadata(ctx context.Context, name string) (*types.Component, error)
GetComponentVersions(ctx context.Context, name string) ([]types.Version, error)
// Health check
IsHealthy(ctx context.Context) bool
}
Provider represents a language/registry provider for OpenTelemetry components
type ProviderFactory ¶
type ProviderFactory interface {
// GetProvider returns a provider for the specified language
GetProvider(language types.ComponentLanguage) (Provider, error)
// GetRegistryProvider returns a registry provider for the specified language
GetRegistryProvider(language types.ComponentLanguage) (RegistryProvider, error)
// GetPackageManagerProvider returns a package manager provider for the specified language
GetPackageManagerProvider(language types.ComponentLanguage) (PackageManagerProvider, error)
// ListSupportedLanguages returns all supported languages
ListSupportedLanguages() []types.ComponentLanguage
// RegisterProvider registers a custom provider
RegisterProvider(provider Provider) error
}
ProviderFactory creates and manages providers
type PyPIClient ¶
type PyPIClient struct {
// contains filtered or unexported fields
}
PyPIClient implements PackageManagerProvider for PyPI
func (*PyPIClient) GetLanguage ¶
func (p *PyPIClient) GetLanguage() types.ComponentLanguage
GetLanguage returns the language this package manager supports
func (*PyPIClient) GetLatestVersion ¶
func (p *PyPIClient) GetLatestVersion(ctx context.Context, name string) (*VersionMetadata, error)
GetLatestVersion gets the latest version of a package
func (*PyPIClient) GetName ¶
func (p *PyPIClient) GetName() string
GetName returns the provider name
func (*PyPIClient) GetPackage ¶
func (p *PyPIClient) GetPackage(ctx context.Context, name string) (*PackageMetadata, error)
GetPackage gets package metadata by name
func (*PyPIClient) GetPackageManagerType ¶
func (p *PyPIClient) GetPackageManagerType() string
GetPackageManagerType returns the type of package manager
func (*PyPIClient) GetPackageVersion ¶
func (p *PyPIClient) GetPackageVersion(ctx context.Context, name, version string) (*VersionMetadata, error)
GetPackageVersion gets specific version metadata
type PythonProvider ¶
type PythonProvider struct {
// contains filtered or unexported fields
}
PythonProvider implements the Provider interface for Python
func NewPythonProvider ¶
func NewPythonProvider() *PythonProvider
NewPythonProvider creates a new Python provider
func (*PythonProvider) DiscoverComponents ¶
DiscoverComponents discovers all Python components
func (*PythonProvider) GetComponentMetadata ¶
func (p *PythonProvider) GetComponentMetadata(ctx context.Context, name string) (*types.Component, error)
GetComponentMetadata gets metadata for a specific Python component
func (*PythonProvider) GetComponentVersions ¶
func (p *PythonProvider) GetComponentVersions(ctx context.Context, name string) ([]types.Version, error)
GetComponentVersions gets versions for a specific Python component
func (*PythonProvider) GetLanguage ¶
func (p *PythonProvider) GetLanguage() types.ComponentLanguage
GetLanguage returns the language this provider supports
func (*PythonProvider) GetName ¶
func (p *PythonProvider) GetName() string
GetName returns the provider name
func (*PythonProvider) GetPackageManagerProvider ¶
func (p *PythonProvider) GetPackageManagerProvider() PackageManagerProvider
GetPackageManagerProvider returns the package manager provider
func (*PythonProvider) GetPackageManagerType ¶
func (p *PythonProvider) GetPackageManagerType() string
GetPackageManagerType returns the type of package manager
func (*PythonProvider) GetRegistryProvider ¶
func (p *PythonProvider) GetRegistryProvider() RegistryProvider
GetRegistryProvider returns the registry provider
func (*PythonProvider) GetRegistryType ¶
func (p *PythonProvider) GetRegistryType() string
GetRegistryType returns the type of registry
type PythonRegistryClient ¶
type PythonRegistryClient struct {
// contains filtered or unexported fields
}
PythonRegistryClient implements RegistryProvider for Python OpenTelemetry components
func NewPythonRegistryClient ¶
func NewPythonRegistryClient() *PythonRegistryClient
NewPythonRegistryClient creates a new Python registry client
func (*PythonRegistryClient) DiscoverComponents ¶
func (p *PythonRegistryClient) DiscoverComponents(ctx context.Context, language string) ([]RegistryComponent, error)
DiscoverComponents discovers all components for Python
func (*PythonRegistryClient) GetComponentByName ¶
func (p *PythonRegistryClient) GetComponentByName(ctx context.Context, name string) (*RegistryComponent, error)
GetComponentByName gets a specific component by name
func (*PythonRegistryClient) GetLanguage ¶
func (p *PythonRegistryClient) GetLanguage() types.ComponentLanguage
GetLanguage returns the language this registry supports
func (*PythonRegistryClient) GetName ¶
func (p *PythonRegistryClient) GetName() string
GetName returns the provider name
func (*PythonRegistryClient) GetRegistryType ¶
func (p *PythonRegistryClient) GetRegistryType() string
GetRegistryType returns the type of registry
type PythonRegistryProvider ¶
type PythonRegistryProvider struct {
// contains filtered or unexported fields
}
PythonRegistryProvider implements RegistryProvider for Python using the main registry client
func NewPythonRegistryProvider ¶
func NewPythonRegistryProvider() *PythonRegistryProvider
NewPythonRegistryProvider creates a new Python registry provider
func (*PythonRegistryProvider) DiscoverComponents ¶
func (p *PythonRegistryProvider) DiscoverComponents(ctx context.Context, language string) ([]RegistryComponent, error)
DiscoverComponents discovers all components for Python
func (*PythonRegistryProvider) GetComponentByName ¶
func (p *PythonRegistryProvider) GetComponentByName(ctx context.Context, name string) (*RegistryComponent, error)
GetComponentByName gets a specific component by name
func (*PythonRegistryProvider) GetLanguage ¶
func (p *PythonRegistryProvider) GetLanguage() types.ComponentLanguage
GetLanguage returns the language this registry supports
func (*PythonRegistryProvider) GetName ¶
func (p *PythonRegistryProvider) GetName() string
GetName returns the provider name
func (*PythonRegistryProvider) GetRegistryType ¶
func (p *PythonRegistryProvider) GetRegistryType() string
GetRegistryType returns the type of registry
type RegistryComponent ¶
type RegistryComponent struct {
Name string `json:"name"`
Type string `json:"type"`
Language string `json:"language"`
Description string `json:"description"`
Repository string `json:"repository"`
RegistryURL string `json:"registry_url"`
Homepage string `json:"homepage"`
Tags []string `json:"tags"`
Maintainers []string `json:"maintainers"`
License string `json:"license"`
LastUpdated time.Time `json:"last_updated"`
Metadata map[string]interface{} `json:"metadata"`
}
RegistryComponent represents a component from any registry
type RegistryProvider ¶
type RegistryProvider interface {
// GetName returns the provider name
GetName() string
// GetLanguage returns the language this registry supports
GetLanguage() types.ComponentLanguage
// GetRegistryType returns the type of registry (e.g., "opentelemetry", "community")
GetRegistryType() string
// DiscoverComponents discovers all components for the given language
DiscoverComponents(ctx context.Context, language string) ([]RegistryComponent, error)
// GetComponentByName gets a specific component by name
GetComponentByName(ctx context.Context, name string) (*RegistryComponent, error)
// IsHealthy checks if the registry is accessible
IsHealthy(ctx context.Context) bool
}
RegistryProvider represents a registry for discovering OpenTelemetry components
type ReleaseNotes ¶
type ReleaseNotes struct {
Version string `json:"version"`
ReleaseDate time.Time `json:"release_date"`
Notes string `json:"notes"`
URL string `json:"url"`
Found bool `json:"found"`
}
ReleaseNotes represents release notes for a specific version
type SpecificationCompliance ¶
type SpecificationCompliance struct {
SpecVersion string // e.g., "v1.0", "v1.1", "v1.2"
Language string
ComplianceLevel string // "full", "partial", "minimal"
Features []string // List of implemented features
MissingFeatures []string // List of missing features
Notes string
}
SpecificationCompliance tracks compliance with OpenTelemetry specifications
type VersionCompatibilityMatrix ¶
type VersionCompatibilityMatrix struct {
Language string
APIVersion string
SDKVersion string
SemConvVersion string
ExporterVersions map[string]string
PropagatorVersions map[string]string
Compatible bool
Notes string
}
VersionCompatibilityMatrix tracks compatibility between different core packages
type VersionMetadata ¶
type VersionMetadata struct {
Name string `json:"name"`
Version string `json:"version"`
Description string `json:"description"`
Main string `json:"main,omitempty"`
Types string `json:"types,omitempty"`
Scripts map[string]string `json:"scripts,omitempty"`
Dependencies map[string]string `json:"dependencies,omitempty"`
DevDependencies map[string]string `json:"devDependencies,omitempty"`
PeerDependencies map[string]string `json:"peerDependencies,omitempty"`
OptionalDependencies map[string]string `json:"optionalDependencies,omitempty"`
Engines map[string]string `json:"engines,omitempty"`
OS []string `json:"os,omitempty"`
CPU []string `json:"cpu,omitempty"`
Repository string `json:"repository,omitempty"`
Homepage string `json:"homepage,omitempty"`
License string `json:"license,omitempty"`
Keywords []string `json:"keywords,omitempty"`
Author interface{} `json:"author,omitempty"`
Maintainers []string `json:"maintainers,omitempty"`
Contributors []string `json:"contributors,omitempty"`
Bugs string `json:"bugs,omitempty"`
Readme string `json:"readme,omitempty"`
ID string `json:"_id,omitempty"`
Rev string `json:"_rev,omitempty"`
}
VersionMetadata represents version metadata from any package manager