Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions content/docs/concepts/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: "Concepts"
description: "Explore the basic concepts and principles of the Open Component Model (OCM)."
icon: "📚"
weight: 40
url: /docs/concepts/
sidebar:
collapsed: true
---
12 changes: 12 additions & 0 deletions content/docs/concepts/components.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title : "OCM Components"
description: "Learn about OCM components and their elements."
icon: "🔩"
weight: 41
url: /docs/concepts/ocm-components
toc: true
---

In OCM, *components* group a set of semantically related *component versions*. Each component version is uniquely and globally identified by a [*component identity*]({{< relref "coordinates.md" >}}) and can reference other components. A component version can also contain *artifacts* and a formal description of how to access them. These artifacts come in two categories: *resources*, which describe the payload (e.g., OCI images), and *sources*, which describe the input for creating resources (e.g., source code).

For a detailed exploration of OCM components and other key elements of the Open Component Model, please refer to the [OCM Specification](https://github.com/open-component-model/ocm-spec/blob/main/README.md) and its [Glossary](https://github.com/open-component-model/ocm-spec/blob/main/doc/glossary.md).
34 changes: 34 additions & 0 deletions content/docs/concepts/coordinates.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
title : "OCM Coordinates"
description: "Discover how OCM components and artifacts are identified."
icon: "🧭"
weight: 42
url: /docs/concepts/ocm-coordinates
toc: true
---

*OCM coordinates* are used to reference OCM component versions and the artifacts within OCM component versions. Coordinates referring to an OCM component version are also called *component identity*, whereas relative coordinates referring to an artifact are called *artifact identity*.

## Component Identity

Component identities are globally unique and may be used to refer to full component versions. They are defined through the following attributes:

- `name`: Identifies a component. Must start with a URL prefix that should be controlled by the owner of the component to avoid collisions.
- `version`: If used with a component name, identifies a specific component version. Must adhere to "relaxed SemVer" (major, minor (+ optional patch level) - optional v-prefix).

## Artifact Identity

Artifact identities are always relative to a component version and may only be used in conjunction with a component identity. Within a component version, all artifacts must have a unique identity.

Artifact identities are defined through the following attributes:

- `name`: Identifies an artifact. Typically expresses the intended purpose.
- `extraIdentity` (optional): Contributes to the identity of the artifact. String-to-string map.

## Examples

Let's assume there is a component named `example.org/my-component` with two versions, `1.2.3` and `1.3.0`, declaring a resource with the name `my-resource`. The following OCM coordinates can be used to reference different elements:

- `example.org/my-component`: all versions of the component (1.2.3 + 1.3.0)
- `example.org/my-component:1.2.3`: version 1.2.3 of the component
- `example.org/my-component:1.2.3:resource/my-resource`: `my-resource` as declared by the component version
42 changes: 0 additions & 42 deletions content/docs/overview/some_terms.md

This file was deleted.

12 changes: 0 additions & 12 deletions content/docs/overview/specification.md

This file was deleted.

2 changes: 1 addition & 1 deletion content/docs/tutorials/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title : "Tutorials"
icon: "📚"
description: "Dive into the world of OCM with our hands-on tutorials. Learn by doing!"
weight: 40
weight: 50
sidebar:
collapsed: true
toc: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
title: "Structuring Software Products with OCM"
description: "Learn how to structure complex software products using OCM."
icon: "🗂️"
weight: 41
weight: 51
toc: true
---

## Introduction

In this tutorial software products are comprised of logical units called [*components*]({{< relref "some_terms.md#components-in-ocm" >}}). A component version consists of a set of technical [*artifacts*](https://github.com/open-component-model/ocm-spec/blob/main/doc/04-extensions/01-artifact-types/README.md) (e.g., Docker images, Helm charts, binaries, configuration data, etc.). Such artifacts are called *resources* in this specification. Resources are usually built from something, e.g., code in a git repo. Those are named *sources* in this specification.
In this tutorial software products are comprised of logical units called [*components*]({{< relref "components.md" >}}). A component version consists of a set of technical [*artifacts*](https://github.com/open-component-model/ocm-spec/blob/main/doc/04-extensions/01-artifact-types/README.md) (e.g., Docker images, Helm charts, binaries, configuration data, etc.). Such artifacts are called *resources* in this specification. Resources are usually built from something, e.g., code in a git repo. Those are named *sources* in this specification.

OCM introduces a *Component Version* for every component version that
describes the resources, sources, and other component versions belonging to a particular
Expand Down
2 changes: 1 addition & 1 deletion content/docs/tutorials/creds-in-ocmconfig.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: "Credentials in .ocmconfig File"
description: "How to configure credentials in the OCM CLI configuration file."
url: "/docs/tutorials/creds-in-ocmconfig"
icon: "🔑"
weight: 43
weight: 53
toc: true
---

Expand Down
2 changes: 1 addition & 1 deletion content/docs/tutorials/input-and-access-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "Input and Access Types"
description: "How to add resources to a component version using input and access types."
url: /docs/tutorials/input-and-access-types/
weight: 42
weight: 52
toc: true
---

Expand Down
Loading