Skip to content

Commit

Permalink
correct links and markdown
Browse files Browse the repository at this point in the history
  • Loading branch information
morri-son committed Mar 12, 2024
1 parent 5c1c9ea commit af4fa7d
Show file tree
Hide file tree
Showing 58 changed files with 1,163 additions and 1,066 deletions.
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Welcome to the OCM community!
# Welcome to the OCM community

We welcome many different types of contributions.

Please refer to the [Contributing Guide in the Community repository](https://github.com/open-component-model/community/blob/main/CONTRIBUTING.md) for more information on how to get support from maintainers, find work to contribute, the Pull Request checklist, the Pull Request process, and other useful information on contributing to the OCM projects.
Please refer to the [Contributing Guide in the Community repository](https://github.com/open-component-model/community/blob/main/CONTRIBUTING.md) for more information on how to get support from maintainers, find work to contribute, the Pull Request checklist, the Pull Request process, and other useful information on contributing to the OCM projects.
172 changes: 87 additions & 85 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,90 +16,90 @@ The following chapters provide a formal description of the format to describe so

## Core Parts

* 1.[Model](doc/01-model/README.md)
* 1.1.[OCM Model](doc/01-model/01-model.md#ocm-model)
* 1.1.1.[Introduction](doc/01-model/01-model.md#introduction)
* 1.1.2.[Components and Component Versions](doc/01-model/01-model.md#components-and-component-versions)
* 1.1.3.[Component Repositories](doc/01-model/01-model.md#component-repositories)
* 1.1.4.[Summary](doc/01-model/01-model.md#summary)
* 1.2.[Model Elements](doc/01-model/02-elements-toplevel.md#model-elements)
* 1.2.1.[Components and Component Versions](doc/01-model/02-elements-toplevel.md#components-and-component-versions)
* 1.2.2.[Artifacts (Resources and Sources)](doc/01-model/02-elements-toplevel.md#artifacts-resources-and-sources)
* 1.2.3.[Sources](doc/01-model/02-elements-toplevel.md#sources)
* 1.2.4.[Resources](doc/01-model/02-elements-toplevel.md#resources)
* 1.2.5.[References](doc/01-model/02-elements-toplevel.md#references)
* 1.2.6.[Summary](doc/01-model/02-elements-toplevel.md#summary)
* 1.3.[Model Elements - Fundamentals](doc/01-model/03-elements-sub.md)
* 1.3.1.[Identifiers](doc/01-model/03-elements-sub.md#identifiers)
* 1.3.2.[Access Specification](doc/01-model/03-elements-sub.md#access-specification)
* 1.3.3.[Access Types](doc/01-model/03-elements-sub.md#access-types)
* 1.3.4.[Labels](doc/01-model/03-elements-sub.md#labels)
* 1.3.5.[Repository Contexts](doc/01-model/03-elements-sub.md#repository-contexts)
* 1.3.6.[Signatures](doc/01-model/03-elements-sub.md#signatures)
* 1.3.7.[Digest Info](doc/01-model/03-elements-sub.md#digest-info)
* 1.3.8.[Signature Info](doc/01-model/03-elements-sub.md#signature-info)
* 1.4.[Example of a complete Component Version](doc/01-model/04-example.md#example-of-a-complete-component-version)
* 1.5.[Conventions](doc/01-model/06-conventions.md#conventions)
* 1.5.1.[Intended Environments](doc/01-model/06-conventions.md#intended-environments)
* 1.5.2.[Selection of Usage Scenarios](doc/01-model/06-conventions.md#selection-of-usage-scenarios)
* 1.6.[Extending the Open Component Model](doc/01-model/07-extensions.md#extending-the-open-component-model)
* 1.6.1.[Functional extensions](doc/01-model/07-extensions.md#functional-extensions)
* 1.6.2.[Semantic extensions](doc/01-model/07-extensions.md#semantic-extensions)
* 2.[Processing](doc/02-processing/README.md)
* 2.1.[Referencing](doc/02-processing/01-references.md#referencing)
* 2.1.1.[Example](doc/02-processing/01-references.md#example)
* 2.2.[Signing](doc/02-processing/03-signing.md#signing)
* 2.2.1.[Verification Procedure](doc/02-processing/03-signing.md#verification-procedure)
* 2.3.[Normalization](doc/02-processing/04-digest.md#normalization)
* 2.3.1.[Artifact Digest](doc/02-processing/04-digest.md#artifact-digest)
* 2.3.2.[Normalization Types](doc/02-processing/04-digest.md#normalization-types)
* 2.3.3.[Serialization Format](doc/02-processing/04-digest.md#serialization-format)
* 2.3.4.[Recursive Digest Calculation](doc/02-processing/04-digest.md#recursive-digest-calculation)
* 2.4.[Example](doc/02-processing/04-digest.md#example)
* 2.4.1.[Simple Component-Version](doc/02-processing/04-digest.md#simple-component-version)
* 2.4.2.[Component-Version With Reference](doc/02-processing/04-digest.md#component-version-with-reference)
* 2.5.[Component Descriptor Normalization](doc/02-processing/04-digest.md#component-descriptor-normalization)
* 2.5.1.[Relevant information in Component Descriptors](doc/02-processing/04-digest.md#relevant-information-in-component-descriptors)
* 2.5.2.[Labels](doc/02-processing/04-digest.md#labels)
* 2.5.3.[Exclude Resources from Normalization/Signing](doc/02-processing/04-digest.md#exclude-resources-from-normalizationsigning)
* 2.5.4.[Generic Normalization Format](doc/02-processing/04-digest.md#generic-normalization-format)
* 2.6.[Artifact Normalization](doc/02-processing/04-digest.md#artifact-normalization)
* 2.6.1.[Blob Representation Format for Resource Types](doc/02-processing/04-digest.md#blob-representation-format-for-resource-types)
* 2.6.2.[Interaction of Local Blobs, Access Methods, Uploaders and Media Types](doc/02-processing/04-digest.md#interaction-of-local-blobs-access-methods-uploaders-and-media-types)
* 3.[Persistence](doc/03-persistence/README.md)
* 3.1.[Model Operations](doc/03-persistence/01-operations.md#model-operations)
* 3.2.[Abstract Operations defined by the Open Component Model](doc/03-persistence/01-operations.md#abstract-operations-defined-by-the-open-component-model)
* 3.2.1.[Repository Operations](doc/03-persistence/01-operations.md#repository-operations)
* 3.2.2.[Access Method Operations](doc/03-persistence/01-operations.md#access-method-operations)
* 3.3.[Mappings for OCM Persistence](doc/03-persistence/02-mappings.md#mappings-for-ocm-persistence)
* 3.3.1.[Storage Backend Mappings for the Open Component Model](doc/03-persistence/02-mappings.md#storage-backend-mappings-for-the-open-component-model)
* 1. [Model](doc/01-model/README.md)
* 1.1. [OCM Model](doc/01-model/01-model.md#ocm-model)
* 1.1.1. [Introduction](doc/01-model/01-model.md#introduction)
* 1.1.2. [Components and Component Versions](doc/01-model/01-model.md#components-and-component-versions)
* 1.1.3. [Component Repositories](doc/01-model/01-model.md#component-repositories)
* 1.1.4. [Summary](doc/01-model/01-model.md#summary)
* 1.2. [Model Elements](doc/01-model/02-elements-toplevel.md#model-elements)
* 1.2.1. [Components and Component Versions](doc/01-model/02-elements-toplevel.md#components-and-component-versions)
* 1.2.2. [Artifacts (Resources and Sources)](doc/01-model/02-elements-toplevel.md#artifacts-resources-and-sources)
* 1.2.3. [Sources](doc/01-model/02-elements-toplevel.md#sources)
* 1.2.4. [Resources](doc/01-model/02-elements-toplevel.md#resources)
* 1.2.5. [References](doc/01-model/02-elements-toplevel.md#references)
* 1.2.6. [Summary](doc/01-model/02-elements-toplevel.md#summary)
* 1.3. [Model Elements - Fundamentals](doc/01-model/03-elements-sub.md)
* 1.3.1. [Identifiers](doc/01-model/03-elements-sub.md#identifiers)
* 1.3.2. [Access Specification](doc/01-model/03-elements-sub.md#access-specification)
* 1.3.3. [Access Types](doc/01-model/03-elements-sub.md#access-types)
* 1.3.4. [Labels](doc/01-model/03-elements-sub.md#labels)
* 1.3.5. [Repository Contexts](doc/01-model/03-elements-sub.md#repository-contexts)
* 1.3.6. [Signatures](doc/01-model/03-elements-sub.md#signatures)
* 1.3.7. [Digest Info](doc/01-model/03-elements-sub.md#digest-info)
* 1.3.8. [Signature Info](doc/01-model/03-elements-sub.md#signature-info)
* 1.4. [Example of a complete Component Version](doc/01-model/04-example.md#example-of-a-complete-component-version)
* 1.5. [Conventions](doc/01-model/06-conventions.md#conventions)
* 1.5.1. [Intended Environments](doc/01-model/06-conventions.md#intended-environments)
* 1.5.2. [Selection of Usage Scenarios](doc/01-model/06-conventions.md#selection-of-usage-scenarios)
* 1.6. [Extending the Open Component Model](doc/01-model/07-extensions.md#extending-the-open-component-model)
* 1.6.1. [Functional extensions](doc/01-model/07-extensions.md#functional-extensions)
* 1.6.2. [Semantic extensions](doc/01-model/07-extensions.md#semantic-extensions)
* 2. [Processing](doc/02-processing/README.md)
* 2.1. [Referencing](doc/02-processing/01-references.md#referencing)
* 2.1.1. [Example](doc/02-processing/01-references.md#example)
* 2.2. [Signing](doc/02-processing/03-signing.md#signing)
* 2.2.1. [Verification Procedure](doc/02-processing/03-signing.md#verification-procedure)
* 2.3. [Normalization](doc/02-processing/04-digest.md#normalization)
* 2.3.1. [Artifact Digest](doc/02-processing/04-digest.md#artifact-digest)
* 2.3.2. [Normalization Types](doc/02-processing/04-digest.md#normalization-types)
* 2.3.3. [Serialization Format](doc/02-processing/04-digest.md#serialization-format)
* 2.3.4. [Recursive Digest Calculation](doc/02-processing/04-digest.md#recursive-digest-calculation)
* 2.4. [Example](doc/02-processing/04-digest.md#example)
* 2.4.1. [Simple Component-Version](doc/02-processing/04-digest.md#simple-component-version)
* 2.4.2. [Component-Version With Reference](doc/02-processing/04-digest.md#component-version-with-reference)
* 2.5. [Component Descriptor Normalization](doc/02-processing/04-digest.md#component-descriptor-normalization)
* 2.5.1. [Relevant information in Component Descriptors](doc/02-processing/04-digest.md#relevant-information-in-component-descriptors)
* 2.5.2. [Labels](doc/02-processing/04-digest.md#labels)
* 2.5.3. [Exclude Resources from Normalization/Signing](doc/02-processing/04-digest.md#exclude-resources-from-normalizationsigning)
* 2.5.4. [Generic Normalization Format](doc/02-processing/04-digest.md#generic-normalization-format)
* 2.6. [Artifact Normalization](doc/02-processing/04-digest.md#artifact-normalization)
* 2.6.1. [Blob Representation Format for Resource Types](doc/02-processing/04-digest.md#blob-representation-format-for-resource-types)
* 2.6.2. [Interaction of Local Blobs, Access Methods, Uploaders and Media Types](doc/02-processing/04-digest.md#interaction-of-local-blobs-access-methods-uploaders-and-media-types)
* 3. [Persistence](doc/03-persistence/README.md)
* 3.1. [Model Operations](doc/03-persistence/01-operations.md#model-operations)
* 3.2. [Abstract Operations defined by the Open Component Model](doc/03-persistence/01-operations.md#abstract-operations-defined-by-the-open-component-model)
* 3.2.1. [Repository Operations](doc/03-persistence/01-operations.md#repository-operations)
* 3.2.2. [Access Method Operations](doc/03-persistence/01-operations.md#access-method-operations)
* 3.3. [Mappings for OCM Persistence](doc/03-persistence/02-mappings.md#mappings-for-ocm-persistence)
* 3.3.1. [Storage Backend Mappings for the Open Component Model](doc/03-persistence/02-mappings.md#storage-backend-mappings-for-the-open-component-model)

## Extensible Parts

* 4 [Extensions](doc/04-extensions/README.md)
* 4.1 [Artifact Types](doc/04-extensions/01-artifact-types/README.md)
* 4.1.1 [blob](doc/04-extensions/01-artifact-types/blob.md)
* 4.1.2 [directoryTree, fileSystem](doc/04-extensions/01-artifact-types/file-system.md)
* 4.1.3 [gitOpsTemplate](doc/04-extensions/01-artifact-types/gitops.md)
* 4.1.4 [helmChart](doc/04-extensions/01-artifact-types/helmchart.md)
* 4.1.5 [npmPackage](doc/04-extensions/01-artifact-types/npm.md)
* 4.1.6 [ociArtifact](doc/04-extensions/01-artifact-types/oci-artifact.md)
* 4.1.7 [ociImage](doc/04-extensions/01-artifact-types/oci-image.md)
* 4.1.8 [executable](doc/04-extensions/01-artifact-types/executable.md)
* 4.1.1 [blob](doc/04-extensions/01-artifact-types/blob.md)
* 4.1.2 [directoryTree, fileSystem](doc/04-extensions/01-artifact-types/file-system.md)
* 4.1.3 [gitOpsTemplate](doc/04-extensions/01-artifact-types/gitops.md)
* 4.1.4 [helmChart](doc/04-extensions/01-artifact-types/helmchart.md)
* 4.1.5 [npmPackage](doc/04-extensions/01-artifact-types/npm.md)
* 4.1.6 [ociArtifact](doc/04-extensions/01-artifact-types/oci-artifact.md)
* 4.1.7 [ociImage](doc/04-extensions/01-artifact-types/oci-image.md)
* 4.1.8 [executable](doc/04-extensions/01-artifact-types/executable.md)
* 4.1.9 [sbom](doc/04-extensions/01-artifact-types/sbom.md)
* 4.2 [Access Method Types](doc/04-extensions/02-access-types/README.md)
* 4.2.1 [localBlob](doc/04-extensions/02-access-types/localblob.md)
* 4.2.2 [ociArtifact](doc/04-extensions/02-access-types/ociartifact.md)
* 4.2.3 [ociBlob](doc/04-extensions/02-access-types/ociblob.md)
* 4.2.4 [helm](doc/04-extensions/02-access-types/helm.md)
* 4.2.5 [gitHub](doc/04-extensions/02-access-types/github.md)
* 4.2.6 [s3](doc/04-extensions/02-access-types/s3.md)
* 4.2.7 [npm](doc/04-extensions/02-access-types/npm.md)
* 4.2.1 [localBlob](doc/04-extensions/02-access-types/localblob.md)
* 4.2.2 [ociArtifact](doc/04-extensions/02-access-types/ociartifact.md)
* 4.2.3 [ociBlob](doc/04-extensions/02-access-types/ociblob.md)
* 4.2.4 [helm](doc/04-extensions/02-access-types/helm.md)
* 4.2.5 [gitHub](doc/04-extensions/02-access-types/github.md)
* 4.2.6 [s3](doc/04-extensions/02-access-types/s3.md)
* 4.2.7 [npm](doc/04-extensions/02-access-types/npm.md)
* 4.3 [Storage Backend Mappings](doc/04-extensions/03-storage-backends/README.md)
* 4.3.1 [OCIRegistry](doc/04-extensions/03-storage-backend/soci.md)
* 4.3.2 [FileSystem (CTF)](doc/04-extensions/03-storage-backends/ctf.md)
* 4.3.3 [FileSystem (Component Archive)](doc/04-extensions/03-storage-backends/component-archive.md)
* 4.3.4 [AWS S3](doc/04-extensions/03-storage-backends/s3.md)
* 4.3.1 [OCIRegistry](doc/04-extensions/03-storage-backend/soci.md)
* 4.3.2 [FileSystem (CTF)](doc/04-extensions/03-storage-backends/ctf.md)
* 4.3.3 [FileSystem (Component Archive)](doc/04-extensions/03-storage-backends/component-archive.md)
* 4.3.4 [AWS S3](doc/04-extensions/03-storage-backends/s3.md)
* 4.4 [Algorithms](doc/04-extensions/04-algorithms/README.md)
* 4.4.1 [Artifact Normalization](doc/04-algorithms/04-algorithms/artifact-normalization-types.md)
* 4.4.2 [Digest Algorithms](doc/04-algorithms/04-algorithms/label-merge-algorithms.md)
Expand All @@ -109,16 +109,18 @@ The following chapters provide a formal description of the format to describe so

## Guidelines and Conventions

* 5.[Guidelines](doc/05-guidelines/README.md)
* 5.1.[Transport](doc/05-guidelines/01-transport.md#transport)
* 5.1.1.[Kinds of Transports](doc/05-guidelines/01-transport.md#kinds-of-transports)
* 5.2.[Model Contract](doc/05-guidelines/02-contract.md#model-contract)
* 5.2.1.[Example: Helm deployment](doc/05-guidelines/02-contract.md#example-helm-deployment)
* 5.3.[References](doc/05-guidelines/03-references.md#references)
* 5.3.1.[Relative Artifact References](doc/05-guidelines/03-references.md#relative-artifact-references)
* 5.3.2.[Absolute Artifact References](doc/05-guidelines/03-references.md#absolute-artifact-references)
* 5. [Guidelines](doc/05-guidelines/README.md)
* 5.1. [Transport](doc/05-guidelines/01-transport.md#transport)
* 5.1.1. [Kinds of Transports](doc/05-guidelines/01-transport.md#kinds-of-transports)
* 5.2. [Model Contract](doc/05-guidelines/02-contract.md#model-contract)
* 5.2.1. [Example: Helm deployment](doc/05-guidelines/02-contract.md#example-helm-deployment)
* 5.3. [References](doc/05-guidelines/03-references.md#references)
* 5.3.1. [Relative Artifact References](doc/05-guidelines/03-references.md#relative-artifact-references)
* 5.3.2. [Absolute Artifact References](doc/05-guidelines/03-references.md#absolute-artifact-references)

6. [Glossary](doc/glossary.md)
## Glossary

* 6. [Glossary](doc/glossary.md)

## Central OCM project web page

Expand Down
1 change: 0 additions & 1 deletion doc/01-model/01-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ The Open Compoment Model consists of a core model plus extensions. The core mode

The following chapters will provide more details about these concepts.


## Components and Component Versions

Usually, complex software products are divided into logical units (called components in this specification). A component is typically maintained in a version control system. It has a build procedure generating binary artifacts from source code and a release process to make it available for consumers. Usually, releases are repeated from time to time, making new versions available. A component is a logical unit within a software product. It is a semantic bracket around software pieces belonging together because they fulfill a specific purpose. E.g. like, "This is the Frontend Component," "This is the Database component," and "This is the Kubernetes vertical autoscale component."
Expand Down
19 changes: 8 additions & 11 deletions doc/01-model/02-elements-toplevel.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,7 @@ A *Component* is technically defined by a globally unique identifier.

The component identity uses the following naming scheme:

<div>

*&lt;DNS domain>* `/` *&lt;name component> {* `/` *&lt;name component> }*

</div>
*\<DNS domain>* `/` *\<name component>* { `/` *\<name component>* }

Hereby the DNS domain plus optionally any number of leading name components MUST
be owned by the provider of a component. For example, `github.com`, as DNS domain
Expand All @@ -42,6 +38,7 @@ specification (e.g. `github.com/gardener/external-dns-management:0.15.1`).
## Artifacts (Resources and Sources)

The Open Component Model distinguishes two kinds of artifacts:

- *Sources* are optional artifacts that contain the sources, which
were used to generate the deployment-relevant *Resources*.
- *Resources* are artifacts that finally make up the deployment-relevant set of artifacts.
Expand Down Expand Up @@ -71,7 +68,6 @@ Those attributes are described by formal fields in the component descriptor:

The access specification for the actual artifact (see below)


### Artifact Types

The formal type of an artifact uniquely specifies the logical interpretation of an artifact and its kind,
Expand Down Expand Up @@ -161,7 +157,7 @@ There are two kinds of types:

So, the complete pattern looks as follows:

```
```text
<DNS domain name>/[a-z][a-zA-Z0-9]*
```

Expand Down Expand Up @@ -206,8 +202,8 @@ In addition to the common artifact information, a resource may optionally descri
A resource uses the following additional formal fields:

- **`relation`** (required) *string['local', 'external']*
Indicates whether the entity providing a component is also the provider of the resource ('local') or whether the
resource is provided by a separate entity ('external'). This may be useful to determine whether the entity responsible
Indicates whether the entity providing a component is also the provider of the resource ('local') or whether the
resource is provided by a separate entity ('external'). This may be useful to determine whether the entity responsible
for the component is also responsible for the resource.
This property is purely informational and completely unrelated to the access method type.

Expand All @@ -223,12 +219,12 @@ A resource uses the following additional formal fields:
This field is used to describe the sources used to generate the resource.
The selection is done by the following two fields:

- **`identitySelector`** *map[string]string*
- **`identitySelector`** *map[string]string*

Identity attributes determining an appropriate source
element.

- **`labels`** (optional) *[]Label*
- **`labels`** (optional) *[]Label*

A list of arbitrary labels

Expand Down Expand Up @@ -285,6 +281,7 @@ A `references` element has the following fields:
The extra identity of the referenced component.

Example:

```yaml
...
references:
Expand Down
Loading

0 comments on commit af4fa7d

Please sign in to comment.