v1

package
v2.0.0-...-98cc131 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 26, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ExcludeFromSignature used in digest field for normalisationAlgorithm (in combination with NoDigest for hashAlgorithm and value)
	// to indicate the resource content should not be part of the signature.
	ExcludeFromSignature = "EXCLUDE-FROM-SIGNATURE"

	// NoDigest used in digest field for hashAlgorithm and value (in combination with ExcludeFromSignature for normalisationAlgorithm)
	// to indicate the resource content should not be part of the signature.
	NoDigest = "NO-DIGEST"
)
View Source
const (
	SystemIdentityName    = "name"
	SystemIdentityVersion = "version"
)
View Source
const (
	GROUP = "ocm.software"
	KIND  = "ComponentVersion"
)
View Source
const IdentityKeyValidationErrMsg string = "" /* 147-byte string literal not displayed */

Variables

This section is empty.

Functions

func CheckLabelVersion

func CheckLabelVersion(v string) bool

func IsASCII

func IsASCII(s string) bool

IsAscii checks whether a string only contains ascii characters.

func IsIdentity

func IsIdentity(s string) bool

func ValidateIdentity

func ValidateIdentity(fldPath *field.Path, id Identity) field.ErrorList

ValidateIdentity validates the identity of object.

func ValidateLabels

func ValidateLabels(fldPath *field.Path, labels Labels) field.ErrorList

ValidateLabels validates a list of labels.

func ValidateRelation

func ValidateRelation(fldPath *field.Path, relation ResourceRelation) *field.Error

Types

type ArtefactDigest

type ArtefactDigest struct {
	Name          string     `json:"name"`
	Version       string     `json:"version"`
	ExtraIdentity Identity   `json:"extraIdentity,omitempty"`
	Digest        DigestSpec `json:"digest"`
}

ArtefactDigest defines artefact digest information. +k8s:deepcopy-gen=true +k8s:openapi-gen=true

func (*ArtefactDigest) Copy

func (d *ArtefactDigest) Copy() *ArtefactDigest

func (*ArtefactDigest) DeepCopy

func (in *ArtefactDigest) DeepCopy() *ArtefactDigest

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArtefactDigest.

func (*ArtefactDigest) DeepCopyInto

func (in *ArtefactDigest) DeepCopyInto(out *ArtefactDigest)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ArtefactDigest) String

func (d *ArtefactDigest) String() string

type ArtefactDigests

type ArtefactDigests []ArtefactDigest

ArtefactDigests defines a list of artefact digest information. +k8s:deepcopy-gen=true +k8s:openapi-gen=true

func (ArtefactDigests) DeepCopy

func (in ArtefactDigests) DeepCopy() ArtefactDigests

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArtefactDigests.

func (ArtefactDigests) DeepCopyInto

func (in ArtefactDigests) DeepCopyInto(out *ArtefactDigests)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ArtefactDigests) Lookup

func (d ArtefactDigests) Lookup(name, version string, extra Identity) *ArtefactDigest

func (ArtefactDigests) Match

type DigestSpec

type DigestSpec struct {
	HashAlgorithm          string `json:"hashAlgorithm"`
	NormalisationAlgorithm string `json:"normalisationAlgorithm"`
	Value                  string `json:"value"`
}

DigestSpec defines a digest. +k8s:deepcopy-gen=true +k8s:openapi-gen=true

func NewExcludeFromSignatureDigest

func NewExcludeFromSignatureDigest() *DigestSpec

NewExcludeFromSignatureDigest returns the special digest notation to indicate the resource content should not be part of the signature.

func (*DigestSpec) Copy

func (d *DigestSpec) Copy() *DigestSpec

Copy provides a copy of the digest spec.

func (*DigestSpec) DeepCopy

func (in *DigestSpec) DeepCopy() *DigestSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DigestSpec.

func (*DigestSpec) DeepCopyInto

func (in *DigestSpec) DeepCopyInto(out *DigestSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DigestSpec) String

func (d *DigestSpec) String() string

type Identity

type Identity map[string]string

Identity describes the identity of an object. Only ascii characters are allowed +k8s:deepcopy-gen=true +k8s:openapi-gen=true

func NewIdentity

func NewIdentity(name string, extras ...string) Identity

NewIdentity return a simple name identity.

func (Identity) Copy

func (i Identity) Copy() Identity

Copy copies identity.

func (Identity) DeepCopy

func (in Identity) DeepCopy() Identity

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Identity.

func (Identity) DeepCopyInto

func (in Identity) DeepCopyInto(out *Identity)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Identity) Digest

func (i Identity) Digest() []byte

Digest returns the object digest of an identity.

func (Identity) Equals

func (i Identity) Equals(o Identity) bool

Equals compares two identities.

func (Identity) Get

func (i Identity) Get(name string) string

func (Identity) Match

func (i Identity) Match(obj map[string]string) (bool, error)

Match implements the selector interface.

func (Identity) Remove

func (i Identity) Remove(name string) bool

func (*Identity) Set

func (i *Identity) Set(name, value string)

func (Identity) String

func (i Identity) String() string

type Label

type Label struct {
	// Name is the unique name of the label.
	Name string `json:"name"`
	// Value is the json/yaml data of the label
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	Value json.RawMessage `json:"value"`

	// Version is the optional specification version of the attribute value
	Version string `json:"version,omitempty"`
	// Signing describes whether the label should be included into the signature
	Signing bool `json:"signing,omitempty"`
}

Label is a label that can be set on objects. +k8s:deepcopy-gen=true +k8s:openapi-gen=true

func NewLabel

func NewLabel(name string, value interface{}, opts ...LabelOption) (*Label, error)

func (*Label) DeepCopy

func (in *Label) DeepCopy() *Label

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Label.

func (*Label) DeepCopyInto

func (in *Label) DeepCopyInto(out *Label)

DeepCopyInto copies labels.

type LabelOption

type LabelOption interface {
	ApplyToLabel(l *Label) error
}

func WithSigning

func WithSigning(b ...bool) LabelOption

func WithVersion

func WithVersion(v string) LabelOption

type Labels

type Labels []Label

Labels describe a list of labels +k8s:deepcopy-gen=true +k8s:openapi-gen=true

func (*Labels) AsMap

func (l *Labels) AsMap() map[string]interface{}

AsMap return an unmarshalled map representation.

func (Labels) Copy

func (l Labels) Copy() Labels

Copy copies labels.

func (Labels) DeepCopy

func (in Labels) DeepCopy() Labels

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Labels.

func (Labels) DeepCopyInto

func (in Labels) DeepCopyInto(out *Labels)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Labels) Get

func (l Labels) Get(name string) ([]byte, bool)

Get returns the label value with the given name as json string.

func (Labels) GetValue

func (l Labels) GetValue(name string, dest interface{}) (bool, error)

GetValue returns the label value with the given name as parsed object.

func (*Labels) Remove

func (l *Labels) Remove(name string) bool

func (*Labels) Set

func (l *Labels) Set(name string, value interface{}, opts ...LabelOption) error

type Metadata

type Metadata struct {
	// Version is the schema version of the component descriptor.
	Version string `json:"schemaVersion"`
}

Metadata defines the metadata of the component descriptor. +k8s:deepcopy-gen=true +k8s:openapi-gen=true

func (*Metadata) DeepCopy

func (in *Metadata) DeepCopy() *Metadata

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metadata.

func (*Metadata) DeepCopyInto

func (in *Metadata) DeepCopyInto(out *Metadata)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NestedComponentDigests

type NestedComponentDigests struct {
	Name      string          `json:"name"`
	Version   string          `json:"version"`
	Digest    *DigestSpec     `json:"digest,omitempty"`
	Resources ArtefactDigests `json:"resourceDigests,omitempty"`
}

NestedComponentDigests defines nested components. +k8s:deepcopy-gen=true +k8s:openapi-gen=true

func (*NestedComponentDigests) Copy

func (*NestedComponentDigests) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NestedComponentDigests.

func (*NestedComponentDigests) DeepCopyInto

func (in *NestedComponentDigests) DeepCopyInto(out *NestedComponentDigests)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NestedComponentDigests) Lookup

func (d *NestedComponentDigests) Lookup(name, version string, extra Identity) *ArtefactDigest

func (*NestedComponentDigests) String

func (d *NestedComponentDigests) String() string

type NestedDigests

type NestedDigests []NestedComponentDigests

NestedDigests defines a list of nested components. +k8s:deepcopy-gen=true +k8s:openapi-gen=true

func (NestedDigests) Copy

func (d NestedDigests) Copy() NestedDigests

func (NestedDigests) DeepCopy

func (in NestedDigests) DeepCopy() NestedDigests

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NestedDigests.

func (NestedDigests) DeepCopyInto

func (in NestedDigests) DeepCopyInto(out *NestedDigests)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (NestedDigests) Lookup

func (d NestedDigests) Lookup(name, version string) *NestedComponentDigests

func (NestedDigests) String

func (d NestedDigests) String() string

type ObjectMeta

type ObjectMeta struct {
	// Name is the name of the component.
	Name string `json:"name"`
	// Version is the version of the component.
	Version string `json:"version"`
	// Labels describe additional properties of the component version
	Labels Labels `json:"labels,omitempty"`
	// Provider described the component provider
	Provider Provider `json:"provider"`
	// CreationTime is the creation time of component version
	// +optional
	CreationTime *Timestamp `json:"creationTime,omitempty"`
}

ObjectMeta defines the metadata of the component descriptor.

func (*ObjectMeta) Copy

func (o *ObjectMeta) Copy() *ObjectMeta

GetName returns the name of the object.

func (ObjectMeta) GetLabels

func (o ObjectMeta) GetLabels() Labels

GetLabels returns the label of the object.

func (ObjectMeta) GetName

func (o ObjectMeta) GetName() string

GetName returns the name of the object.

func (ObjectMeta) GetVersion

func (o ObjectMeta) GetVersion() string

GetVersion returns the version of the object.

func (*ObjectMeta) SetLabels

func (o *ObjectMeta) SetLabels(labels []Label)

SetLabels sets the labels of the object.

func (*ObjectMeta) SetName

func (o *ObjectMeta) SetName(name string)

SetName sets the name of the object.

func (*ObjectMeta) SetVersion

func (o *ObjectMeta) SetVersion(version string)

SetVersion sets the version of the object.

type Provider

type Provider struct {
	Name ProviderName `json:"name"`
	// Labels describe additional properties of provider
	Labels Labels `json:"labels,omitempty"`
}

Provider describes the provider information of a component version.

func (*Provider) Copy

func (o *Provider) Copy() *Provider

Copy copies the provider info.

func (Provider) GetLabels

func (o Provider) GetLabels() Labels

GetLabels returns the label of the provider.

func (Provider) GetName

func (o Provider) GetName() ProviderName

GetName returns the name of the provider.

func (*Provider) SetLabels

func (o *Provider) SetLabels(labels []Label)

SetLabels sets the labels of the provider.

func (*Provider) SetName

func (o *Provider) SetName(name ProviderName)

SetName sets the name of the provider.

type ProviderName

type ProviderName string

ProviderName describes the provider type of component in the origin's context. Defines whether the component is created by a third party or internally. +k8s:deepcopy-gen=true +k8s:openapi-gen=true

type ResourceReference

type ResourceReference struct {
	Resource      Identity   `json:"resource,omitempty"`
	ReferencePath []Identity `json:"referencePath,omitempty"`
}

ResourceReference describes re resource identity relative to an (aggregation) component version.

func NewNestedResourceRef

func NewNestedResourceRef(id Identity, path []Identity) ResourceReference

func NewResourceRef

func NewResourceRef(id Identity) ResourceReference

func (*ResourceReference) String

func (r *ResourceReference) String() string

type ResourceRelation

type ResourceRelation string

ResourceRelation describes the type of a resource. Defines whether the component is created by a third party or internally. +k8s:deepcopy-gen=true +k8s:openapi-gen=true

const (
	// LocalRelation defines a internal relation
	// which describes a internally maintained resource in the origin's context.
	LocalRelation ResourceRelation = "local"
	// ExternalRelation defines a external relation
	// which describes a resource maintained by a third party vendor in the origin's context.
	ExternalRelation ResourceRelation = "external"
)

type Signature

type Signature struct {
	Name      string        `json:"name"`
	Digest    DigestSpec    `json:"digest"`
	Signature SignatureSpec `json:"signature"`
}

Signature defines a digest and corresponding signature, identifiable by name. +k8s:deepcopy-gen=true +k8s:openapi-gen=true

func (*Signature) ConvertToSigning

func (s *Signature) ConvertToSigning() *signing.Signature

ConvertToSigning converts a cd signature to a signing signature.

func (*Signature) Copy

func (s *Signature) Copy() *Signature

Copy provides a copy of the signature data.

func (*Signature) DeepCopy

func (in *Signature) DeepCopy() *Signature

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Signature.

func (*Signature) DeepCopyInto

func (in *Signature) DeepCopyInto(out *Signature)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SignatureSpec

type SignatureSpec struct {
	Algorithm string `json:"algorithm"`
	Value     string `json:"value"`
	MediaType string `json:"mediaType"`
	Issuer    string `json:"issuer,omitempty"`
}

SignatureSpec defines a signature. +k8s:deepcopy-gen=true +k8s:openapi-gen=true

func (*SignatureSpec) DeepCopy

func (in *SignatureSpec) DeepCopy() *SignatureSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SignatureSpec.

func (*SignatureSpec) DeepCopyInto

func (in *SignatureSpec) DeepCopyInto(out *SignatureSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Signatures

type Signatures []Signature

Signatures is a list of signatures.

func (Signatures) Copy

func (s Signatures) Copy() Signatures

func (Signatures) Get

func (s Signatures) Get(i int) *Signature

func (Signatures) Len

func (s Signatures) Len() int

type StringMap

type StringMap map[string]string

func (StringMap) Copy

func (l StringMap) Copy() StringMap

Copy copies map.

type Timestamp

type Timestamp struct {
	// contains filtered or unexported fields
}

Timestamp is time rounded to seconds. +k8s:deepcopy-gen=true

func NewTimestamp

func NewTimestamp() Timestamp

func NewTimestampFor

func NewTimestampFor(t time.Time) Timestamp

func NewTimestampP

func NewTimestampP() *Timestamp

func (*Timestamp) Add

func (t *Timestamp) Add(d time.Duration) Timestamp

func (*Timestamp) DeepCopy

func (in *Timestamp) DeepCopy() *Timestamp

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Timestamp.

func (*Timestamp) DeepCopyInto

func (in *Timestamp) DeepCopyInto(out *Timestamp)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Timestamp) Equal

func (t *Timestamp) Equal(o Timestamp) bool

func (Timestamp) MarshalJSON

func (t Timestamp) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface. The time is a quoted string in RFC 3339 format, with sub-second precision added if present.

func (*Timestamp) Time

func (t *Timestamp) Time() time.Time

func (*Timestamp) UTC

func (t *Timestamp) UTC() Timestamp

func (*Timestamp) UnmarshalJSON

func (t *Timestamp) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface. The time is expected to be a quoted string in RFC 3339 format.

type TypeMeta

type TypeMeta struct {
	APIVersion string `json:"apiVersion"`
	Kind       string `json:"kind"`
}

TypeMeta describes the schema of a descriptor.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL