diff --git a/.github/config/wordlist.txt b/.github/config/wordlist.txt
index 7888f7298..eea042f31 100644
--- a/.github/config/wordlist.txt
+++ b/.github/config/wordlist.txt
@@ -119,6 +119,7 @@ filesystem
filesytem
finalizer
finalizers
+fluxcd
fluxdeployer
fluxdeployers
fluxdeployerspec
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
deleted file mode 100644
index a337a6cdf..000000000
--- a/.vscode/extensions.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "recommendations": [
- "davidanson.vscode-markdownlint",
- "streetsidesoftware.code-spell-checker"
- ]
-}
\ No newline at end of file
diff --git a/assets/images/roadmap_Q2-2024.png b/assets/images/roadmap_Q2-2024.png
deleted file mode 100644
index e301e2107..000000000
Binary files a/assets/images/roadmap_Q2-2024.png and /dev/null differ
diff --git a/assets/images/roadmap_Q2-2025.png b/assets/images/roadmap_Q2-2025.png
new file mode 100644
index 000000000..8c0ab8204
Binary files /dev/null and b/assets/images/roadmap_Q2-2025.png differ
diff --git a/assets/scss/common/_custom.scss b/assets/scss/common/_custom.scss
index 84f66ec27..8b1e3fc41 100644
--- a/assets/scss/common/_custom.scss
+++ b/assets/scss/common/_custom.scss
@@ -51,3 +51,66 @@
display: inline !important;
white-space: nowrap !important;
}
+
+ /* ================================
+ Section-specific layout overrides
+ ================================ */
+
+@media (min-width: 1200px) {
+ /* — COMMUNITY PAGE — */
+ body.section-community {
+ /* Hide the left sidebar */
+ .docs-sidebar {
+ display: none !important;
+ }
+ /* Widen the main content */
+ .docs-content {
+ flex: 0 0 85% !important;
+ max-width: 85% !important;
+ margin: 0 1rem !important;
+ padding: 1rem !important;
+ }
+ /* Narrow the TOC and keep it visible */
+ .docs-toc {
+ display: block !important;
+ flex: 0 0 15% !important;
+ max-width: 15% !important;
+ margin: 0 1rem !important;
+ padding-top: 1rem !important;
+ }
+ }
+
+ /* — ROADMAP PAGE — */
+ body.section-roadmap {
+ /* Hide sidebar and TOC entirely */
+ .docs-sidebar,
+ .docs-toc {
+ display: none !important;
+ }
+ /* Make the content almost full-width */
+ .docs-content {
+ flex: 0 0 90% !important;
+ max-width: 90% !important;
+ margin: 0 auto !important;
+ padding: 1rem !important;
+ }
+ }
+ }
+
+ /* Mobile fallback: both pages full-width below 768px */
+ @media (max-width: 768px) {
+ body.section-community .docs-content,
+ body.section-roadmap .docs-content {
+ flex: 0 0 100% !important;
+ max-width: 100% !important;
+ margin: 0 auto !important;
+ padding: 1rem !important;
+ }
+ /* On mobile keep the community TOC below the content */
+ body.section-community .docs-toc {
+ flex: 0 0 100% !important;
+ max-width: 100% !important;
+ margin: 1rem 0 !important;
+ padding: 0 !important;
+ }
+ }
diff --git a/config/_default/menus/menus.en.toml b/config/_default/menus/menus.en.toml
index 319be93ea..eb2c86087 100644
--- a/config/_default/menus/menus.en.toml
+++ b/config/_default/menus/menus.en.toml
@@ -5,7 +5,12 @@
[[main]]
name = "Community"
- url = "/docs/community/community"
+ url = "/community/community"
+ weight = 20
+
+[[main]]
+ name = "Roadmap"
+ url = "https://github.com/orgs/open-component-model/projects/10/views/5"
weight = 30
[[social]]
diff --git a/config/_default/params.toml b/config/_default/params.toml
index e8d0d92d0..260ff6142 100644
--- a/config/_default/params.toml
+++ b/config/_default/params.toml
@@ -12,9 +12,9 @@ mainSections = ["docs"]
# Doks (@thulite/doks-core)
[doks]
# Color mode
- # For now, all PNG text is White so switching to Light mode will make those texts disappear.
- colorMode = "dark" # auto (default), light or dark
- colorModeToggler = false # true (default) or false (this setting is only relevant when colorMode = auto)
+ # For now, all PNG text is White so switching to Light mode will make those texts disappear
+ colorMode = "dark" # Use "auto", "light", or "dark"
+ colorModeToggler = false # Enables the color mode toggle button
# Navbar
navbarSticky = true # true (default) or false
diff --git a/content/docs/community/_index.md b/content/community/_index.md
similarity index 88%
rename from content/docs/community/_index.md
rename to content/community/_index.md
index 43b01929c..7ff821436 100644
--- a/content/docs/community/_index.md
+++ b/content/community/_index.md
@@ -1,5 +1,6 @@
---
title : "Community"
+layout: community
description: "Community"
weight: 90
lead: ""
diff --git a/content/docs/community/call_history.md b/content/community/call_history.md
similarity index 100%
rename from content/docs/community/call_history.md
rename to content/community/call_history.md
diff --git a/content/docs/community/community.md b/content/community/community.md
similarity index 99%
rename from content/docs/community/community.md
rename to content/community/community.md
index 804d2320e..29d4e2cff 100644
--- a/content/docs/community/community.md
+++ b/content/community/community.md
@@ -1,7 +1,7 @@
---
title: "The OCM Community"
description: "The OCM Community"
-url: /docs/community/community
+url: community/community
lead: true
draft: false
images: []
diff --git a/content/docs/community/ocm-community.ics b/content/community/ocm-community.ics
similarity index 100%
rename from content/docs/community/ocm-community.ics
rename to content/community/ocm-community.ics
diff --git a/content/docs/cli-reference/_index.md b/content/docs/cli-reference/_index.md
index 74f587fb7..eb20fa1c4 100644
--- a/content/docs/cli-reference/_index.md
+++ b/content/docs/cli-reference/_index.md
@@ -1,5 +1,5 @@
---
-title: cli-reference
+title: CLI Reference
name: cli-reference
url: /docs/cli-reference/
draft: false
diff --git a/content/docs/component-descriptors/_index.md b/content/docs/component-descriptors/_index.md
deleted file mode 100644
index a207442c9..000000000
--- a/content/docs/component-descriptors/_index.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: "Component Descriptors"
-description: ""
-lead: ""
-draft: false
-images: []
-weight: 50
-toc: true
----
diff --git a/content/docs/controller/_index.md b/content/docs/controller/_index.md
index cc0816769..e4fb139ae 100644
--- a/content/docs/controller/_index.md
+++ b/content/docs/controller/_index.md
@@ -1,7 +1,6 @@
---
title : "OCM Controllers"
description: ""
-weight: 40
lead: ""
draft: false
images: []
diff --git a/content/docs/controller/overview.md b/content/docs/controller/architecture.md
similarity index 99%
rename from content/docs/controller/overview.md
rename to content/docs/controller/architecture.md
index 633421d41..a47582d9b 100644
--- a/content/docs/controller/overview.md
+++ b/content/docs/controller/architecture.md
@@ -3,7 +3,7 @@ title: "Architecture"
description: "OCM Controller Architecture"
draft: false
images: []
-weight: 41
+weight: 42
toc: true
---
diff --git a/content/docs/controller/controller-reference/ocm-controller/component-version.md b/content/docs/controller/component-version.md
similarity index 99%
rename from content/docs/controller/controller-reference/ocm-controller/component-version.md
rename to content/docs/controller/component-version.md
index 119adb6bd..a0d17d581 100644
--- a/content/docs/controller/controller-reference/ocm-controller/component-version.md
+++ b/content/docs/controller/component-version.md
@@ -4,7 +4,7 @@ description: ""
lead: ""
draft: false
images: []
-weight: 55
+weight: 44
toc: true
---
diff --git a/content/docs/controller/controller-reference/_index.md b/content/docs/controller/controller-reference/_index.md
deleted file mode 100644
index 14822b7d3..000000000
--- a/content/docs/controller/controller-reference/_index.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: "Kubernetes Controllers"
-description: ""
-lead: ""
-draft: false
-images: []
-weight: 50
-type: docs
-sidebar:
- collapsed: true
----
diff --git a/content/docs/controller/controller-reference/api-reference/_index.md b/content/docs/controller/controller-reference/api-reference/_index.md
deleted file mode 100644
index 530e1bef6..000000000
--- a/content/docs/controller/controller-reference/api-reference/_index.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: "API Reference"
-description: ""
-lead: ""
-draft: false
-images: []
-type: docs
-weight: 51
-sidebar:
- collapsed: true
----
diff --git a/content/docs/controller/controller-reference/ocm-controller/_index.md b/content/docs/controller/controller-reference/ocm-controller/_index.md
deleted file mode 100644
index 897b5087d..000000000
--- a/content/docs/controller/controller-reference/ocm-controller/_index.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: "OCM Controller"
-description: ""
-lead: ""
-draft: false
-images: []
-type: docs
-weight: 54
-sidebar:
- collapsed: true
----
diff --git a/content/docs/controller/controller-reference/ocm-controller/component-subscription.md b/content/docs/controller/controller-reference/ocm-controller/component-subscription.md
deleted file mode 100644
index 7ca88dab8..000000000
--- a/content/docs/controller/controller-reference/ocm-controller/component-subscription.md
+++ /dev/null
@@ -1,236 +0,0 @@
----
-title: "Component Subscription"
-description: ""
-lead: ""
-draft: false
-images: []
-weight: 57
-toc: true
----
-
-The `ComponentSubscription` API produces component descriptors for a specific component version.
-
-## Example
-
-The following is an example of a ComponentSubscription:
-
-```yaml
-apiVersion: delivery.ocm.software/v1alpha1
-kind: ComponentSubscription
-metadata:
- name: podinfo
- namespace: default
-spec:
- interval: 10m0s
- component: phoban.io/podinfo
- semver: ">=6.3.x"
- source:
- url: ghcr.io/phoban01
- destination:
- url: ghcr.io/phoban01/foo
- secretRef:
- name: ghcr-credentials
-```
-
-In the above example:
-- A ComponentSubscription named `podinfo` is created, indicated by the `.metadata.name` field.
-- The replication-controller checks the Source repository every 10m0s, indicated by the `.spec.interval` field.
-- It retrieves the version matching the semver constraint specified by `.spec.version.semver` field.
-- Whenever a new version is available in the Source repository that satisfies `.spec.semver` and is greater than `.status.lastAppliedVersion` then the replication-controller will copy the component and all of it's resources to the OCI repository specified in `spec.destination`.
-
-You can run this example by saving the manifest into `subscription.yaml`.
-
-- 1. Create the registry access secret for GitHub Container Registry:
-```bash
-GITHUB_USER={USERNAME} # replace with your GitHub Username.
-GITHUB_TOKEN={TOKEN} # replace with a GitHub Personal Access Token.
-kubectl create secret generic ghcr-credentials \
- --from-literal=username=$GITHUB_USER \
- --from-literal=password=$GITHUB_TOKEN
-```
-- 2. Apply the resource to the cluster, (making sure to update the destination repository details for your own `ghcr.io` account):
-```bash
- kubectl apply -f subscription.yaml
-```
-- 3. Run `kubectl get componentsubscriptions` to see the ComponentSubscription
-```bash
-NAME AGE
-podinfo 8s
-```
-- 4. Run `kubectl describe componentsubscription podinfo` to see the ComponentSubscription Status:
-```bash
-...
-Status:
- Conditions:
- Last Transition Time: 2023-07-12T08:46:09Z
- Message: Reconciliation success
- Observed Generation: 1
- Reason: Succeeded
- Status: True
- Type: Ready
- Last Applied Version: 6.3.6
- Observed Generation: 1
- Replicated Repository URL: ghcr.io/phoban01/foo
-```
-
-## Writing a ComponentSubscription spec
-
-As with all other Kubernetes config, an ComponentSubscription needs `apiVersion`, `kind`, and `metadata` fields. The name of an ComponentSubscription object must be a valid DNS subdomain name.
-
-An ComponentSubscription also needs a `.spec` [section](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status).
-
-### Component
-
-`.spec.component` is a required field that specifies the component's name.
-
-### Version
-
-`.spec.semver` specifies a semantic version constraint used to determine the range of versions to be replicated.
-
-### Source Repository
-
-`.spec.source` is a required field that provides the necessary configuration for the `replication-controller` to access the OCI repository where the source component versions are stored.
-
-### Source Repository URL
-
-`.spec.source.url` is a required field denoting the registry in which the source OCM components are stored.
-
-### Source Repository Secret Reference
-
-`.spec.source.secretRef.name` is an optional field to specify a name reference to a Secret in the same namespace as the ComponentSubscription, containing authentication credentials for the OCI repository.
-
-This secret is expected to contain the keys `username` and `password`. You can create such a secret using `kubectl`:
-
-Note: that for a publicly accessible source repository, you don’t need to provide credentials.
-
-```bash
-kubectl create secret generic registry-credentials --from-literal=username=$GITHUB_USER --from-literal=password=$GITHUB_TOKEN
-```
-
-### Destination Repository
-
-`.spec.destination` is an optional field that provides the necessary configuration for the `replication-controller` to access the destination repository into which components will be replicated.
-
-### Service Account Name
-
-`.spec.serviceAccountName` is an optional field to specify a name reference to a Service Account in the same namespace as the ComponentSubscription. The controller will fetch the image pull secrets attached to the service account and use them for authentication.
-
-### Interval
-
-`.spec.interval` is a required field that specifies the interval at which the ComponentSubscription must be reconciled.
-
-After successfully reconciling the object, the replication-controller requeues it for inspection after the specified interval. The value must be in a Go recognized duration string format, e.g. `10m0s` to reconcile the object every 10 minutes.
-
-If the `.metadata.generation` of a resource changes (due to e.g. a change to the spec), this is handled instantly outside the interval window.
-
-### Verify
-
-`.spec.verify` is an optional list of signatures that should be validated before the component version is replicated. Each signature item consists of a `name` and a `publicKey`.
-
-### Name
-
-`.spec.verify.[].name` is a required field that specifies the name of the signature that should be verified.
-
-### Public Key
-
-`.spec.verify.[].publicKey` is a required field that specifies a reference to a secret containing the public key that can be used to verify the signature. The key of the public key in the secret must match the name of the signature.
-
-For example, the following ComponentSubscription verifies two signatures:
-
-```
-apiVersion: delivery.ocm.software/v1alpha1
-kind: ComponentSubscription
-metadata:
- name: podinfo
- namespace: default
-spec:
- interval: 10m0s
- component: phoban.io/podinfo
- semver: ">=6.3.x"
- source:
- url: ghcr.io/phoban01
- destination:
- url: ghcr.io/phoban01/foo
- secretRef:
- name: ghcr-credentials
- verify:
- - name: operations
- publicKey:
- secretRef:
- name: signing-keys
- - name: security
- publicKey:
- secretRef:
- name: signing-keys
-```
-
-The accompanying secret should be in the following format:
-
-```yaml
-apiVersion: v1
-kind: Secret
-metadata:
- name: signing-keys
-type: Opaque
-data:
- operations:
- security:
-```
-
-## Debugging ComponentSubscriptions
-
-There are several ways to gather information about a ComponentSubscription for debugging purposes.
-
-### Describe the ComponentSubscription
-
-Describing an ComponentSubscription using `kubectl describe componentsubscription ` displays the latest recorded information for the resource in the Status sections:
-
-```bash
-...
-Status:
- Conditions:
- Last Transition Time: 2023-07-12T10:12:14Z
- Message: no matching versions found for constraint '>=7.3.x'
- Observed Generation: 2
- Reason: PullingLatestVersionFailed
- Status: False
- Type: Ready
- Last Applied Version: 6.3.6
- Observed Generation: 1
- Replicated Repository URL: ghcr.io/phoban01/foo
-```
-
-Reconciliation errors are also logged by the controller. You can use a tool such as [stern](https://github.com/stern/stern) in tandem with `grep` to filter and refine the output of controller logs:
-
-```bash
-stern replication-controller -n ocm-system | grep ComponentSubscription
-```
-
-will output the following log stream:
-
-```bash
-replication-controller-76848b97c5-4flrl manager 2023-07-12T10:13:05Z LEVEL(-4) credentials configured {"controller": "componentsubscription", "controllerGroup": "delivery.ocm.software", "controllerKind": "ComponentSubscription", "ComponentSubscription": {"name":"podinfo","namespace":"default"}, "namespace": "default", "name": "podinfo", "reconcileID": "a9eeba17-a533-4dc7-81fd-af97096d60aa"}
-replication-controller-76848b97c5-4flrl manager 2023-07-12T10:13:06Z ERROR Reconciler error {"controller": "componentsubscription", "controllerGroup": "delivery.ocm.software", "controllerKind": "ComponentSubscription", "ComponentSubscription": {"name":"podinfo","namespace":"default"}, "namespace": "default", "name": "podinfo", "reconcileID": "a9eeba17-a533-4dc7-81fd-af97096d60aa", "error": "failed to get latest component version: no matching versions found for constraint '>=7.3.x'"}
-```
-
-## ComponentSubscription Status
-
-### Observed Generation
-
-The replication-controller reports an observed generation in the ComponentSubscription's `.status.observedGeneration`. The observed generation is the latest `.metadata.generation`, which resulted in either a ready state or stalled due to an error it can not recover from without human intervention.
-
-### Conditions
-
-ComponentSubscription has various states during its lifecycle, reflected as Kubernetes Conditions. These are as follows:
-- reconciling
-- signature verification
-- ready
-- failed reconciling
-
-### Last Applied Version
-
-The `LastAppliedVersion` field holds information regarding the most up-to-date version that has been successfully replicated to the destination repository.
-
-### Replicated Repository URL
-
-`ReplicatedRepositoryURL` holds information regarding the repository's URL into which the last applied version has been replicated.
diff --git a/content/docs/controller/installation.md b/content/docs/controller/installation.md
index 3c74724a4..64f324a51 100644
--- a/content/docs/controller/installation.md
+++ b/content/docs/controller/installation.md
@@ -3,13 +3,13 @@ title: "Installation"
description: "OCM Controller Installation"
draft: false
images: []
-weight: 42
+weight: 41
toc: true
---
To install the `ocm-controller` you can use the provided Helm chart from the `ocm-controller` GitHub project's `./deploy` folder. The Helm chart has also been uploaded to the GitHub container registry as [OCI artifact](https://github.com/open-component-model/ocm-controller/pkgs/container/helm%2Focm-controller) and this is also the preferred way to install the `ocm-controller`.
-{{}}The ocm-controller require certain prerequisites, like the cert manager and certificate secrets for the in-cluster registry. For details, checkout the `prime-test-cluster.sh` script under this repository's [hack folder](https://github.com/open-component-model/ocm-controller/tree/main/hack){{}}
+{{}}The ocm-controller requires certain prerequisites, like the cert manager and certificate secrets for the in-cluster registry. For details, checkout the `prime-test-cluster.sh` script under this repository's [hack folder](https://github.com/open-component-model/ocm-controller/tree/main/hack){{}}
To install the `ocm-controller` Helm chart use the following command (replace `v0.26.0` with the desired version):
diff --git a/content/docs/controller/controller-reference/api-reference/ocm-controller.md b/content/docs/controller/ocm-controller-api.md
similarity index 99%
rename from content/docs/controller/controller-reference/api-reference/ocm-controller.md
rename to content/docs/controller/ocm-controller-api.md
index 7f13829b1..192eb78b4 100644
--- a/content/docs/controller/controller-reference/api-reference/ocm-controller.md
+++ b/content/docs/controller/ocm-controller-api.md
@@ -4,7 +4,7 @@ description: ""
lead: ""
draft: false
images: []
-weight: 52
+weight: 43
toc: true
---
@@ -3114,4 +3114,3 @@ which will be used to validate the named signature.
This page was automatically generated with gen-crd-api-reference-docs
-
diff --git a/content/docs/examples/_index.md b/content/docs/examples/_index.md
deleted file mode 100644
index eb9f663fd..000000000
--- a/content/docs/examples/_index.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: "Examples"
-description: ""
-lead: ""
-draft: false
-weight: 70
-images: []
-type: docs
-sidebar:
- collapsed: true
----
diff --git a/content/docs/getting-started/_index.md b/content/docs/getting-started/_index.md
index ae3f94741..b32be9d59 100644
--- a/content/docs/getting-started/_index.md
+++ b/content/docs/getting-started/_index.md
@@ -6,6 +6,10 @@ draft: false
images: []
type: docs
weight: 20
+url: /docs/getting-started/
sidebar:
collapsed: true
----
\ No newline at end of file
+---
+
+To get started with OCM choose a topic from the navigation bar on the left.
+You'll get familiar with basic concepts and learn how to use OCM in your projects.
diff --git a/content/docs/component-descriptors/version-2.md b/content/docs/getting-started/component-descriptor-example.md
similarity index 95%
rename from content/docs/component-descriptors/version-2.md
rename to content/docs/getting-started/component-descriptor-example.md
index 8bb6a8840..20dd63f1b 100644
--- a/content/docs/component-descriptors/version-2.md
+++ b/content/docs/getting-started/component-descriptor-example.md
@@ -1,16 +1,16 @@
---
-title: "Version 2"
+title: "Example of a component descriptor"
description: ""
lead: ""
draft: false
images: []
-weight: 1
+weight: 27
toc: true
---
-The following is an example of a public-key-based signed component descriptor containing a resource, source and one component reference. It uses the default `v2` schema.
+The following is an example of a public-key-based signed component descriptor containing a resource, source and one component reference.
-The component is publicly available in the GitHub package repository and can be inspected using the following command:
+The component is publicly available in the GitHub container registry and can be inspected using the following command:
```shell
ocm componentversion get --repo ghcr.io/phoban01/ocm github.com/weaveworks/weave-gitops -oyaml
diff --git a/content/docs/getting-started/getting-started-with-ocm/create-component-version.md b/content/docs/getting-started/create-component-version.md
similarity index 99%
rename from content/docs/getting-started/getting-started-with-ocm/create-component-version.md
rename to content/docs/getting-started/create-component-version.md
index b8c9b0131..aa08426ae 100644
--- a/content/docs/getting-started/getting-started-with-ocm/create-component-version.md
+++ b/content/docs/getting-started/create-component-version.md
@@ -4,7 +4,7 @@ description: ""
lead: ""
draft: false
images: []
-weight: 24
+weight: 23
toc: true
---
diff --git a/content/docs/getting-started/getting-started-with-ocm/display-examine-component-versions.md b/content/docs/getting-started/display-examine-component-versions.md
similarity index 99%
rename from content/docs/getting-started/getting-started-with-ocm/display-examine-component-versions.md
rename to content/docs/getting-started/display-examine-component-versions.md
index 43bb12dac..a639f690f 100644
--- a/content/docs/getting-started/getting-started-with-ocm/display-examine-component-versions.md
+++ b/content/docs/getting-started/display-examine-component-versions.md
@@ -4,7 +4,7 @@ description: ""
lead: ""
draft: false
images: []
-weight: 25
+weight: 24
toc: true
---
diff --git a/content/docs/getting-started/getting-started-with-ocm/_index.md b/content/docs/getting-started/getting-started-with-ocm/_index.md
deleted file mode 100644
index b904479b6..000000000
--- a/content/docs/getting-started/getting-started-with-ocm/_index.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-title: "First Steps with OCM"
-description: ""
-lead: ""
-draft: false
-images: []
-weight: 22
-toc: true
-aliases: ["/docs/getting-started/first-steps-with-ocm/"]
----
diff --git a/content/docs/getting-started/installation.md b/content/docs/getting-started/installation.md
index 628682f04..7d6f5cfac 100644
--- a/content/docs/getting-started/installation.md
+++ b/content/docs/getting-started/installation.md
@@ -4,7 +4,7 @@ description: ""
lead: ""
draft: false
images: []
-weight: 21
+weight: 22
toc: true
---
diff --git a/content/docs/getting-started/getting-started-with-ocm/prerequisites.md b/content/docs/getting-started/prerequisites.md
similarity index 94%
rename from content/docs/getting-started/getting-started-with-ocm/prerequisites.md
rename to content/docs/getting-started/prerequisites.md
index bf1a0cc2b..2cb220832 100644
--- a/content/docs/getting-started/getting-started-with-ocm/prerequisites.md
+++ b/content/docs/getting-started/prerequisites.md
@@ -4,7 +4,7 @@ description: ""
lead: ""
draft: false
images: []
-weight: 23
+weight: 21
toc: true
---
@@ -15,7 +15,7 @@ To follow the steps described in this section, you will need to:
## Install the OCM Command Line Interface (CLI)
-The CLI is used to interact with component versions and registries. Install it like described in [Installing the OCM CLI](/docs/getting-started/installing-the-ocm-cli).
+The CLI is used to interact with component versions and registries. Install it like described in [Installing the OCM CLI](https://ocm.software/docs/getting-started/installing-the-ocm-cli).
## Obtain Access to an OCM Repository
diff --git a/content/docs/getting-started/getting-started-with-ocm/sign-component-versions.md b/content/docs/getting-started/sign-component-versions.md
similarity index 98%
rename from content/docs/getting-started/getting-started-with-ocm/sign-component-versions.md
rename to content/docs/getting-started/sign-component-versions.md
index 42ab100b3..d885b2d4b 100644
--- a/content/docs/getting-started/getting-started-with-ocm/sign-component-versions.md
+++ b/content/docs/getting-started/sign-component-versions.md
@@ -4,7 +4,7 @@ description: ""
lead: ""
draft: false
images: []
-weight: 27
+weight: 25
toc: true
---
@@ -18,7 +18,7 @@ component version is used for signing. See [Signing Process and Normalization](h
Currently, only signing according to the
[RSA PKCS #1 v1.5 signature algorithm](https://datatracker.ietf.org/doc/html/rfc3447) is supported.
-To follow the examples, one must follow the instructions from the section [Create a Component Version](/docs/getting-started/getting-started-with-ocm/create-a-component-version).
+To follow the examples, one must follow the instructions from the section [Create a Component Version](https://ocm.software/docsgetting-started/getting-started-with-ocm/create-a-component-version).
Create a key pair using the OCM CLI:
diff --git a/content/docs/getting-started/getting-started-with-ocm/transport-component-versions.md b/content/docs/getting-started/transport-component-versions.md
similarity index 86%
rename from content/docs/getting-started/getting-started-with-ocm/transport-component-versions.md
rename to content/docs/getting-started/transport-component-versions.md
index 0efcb385b..6f6d1019d 100644
--- a/content/docs/getting-started/getting-started-with-ocm/transport-component-versions.md
+++ b/content/docs/getting-started/transport-component-versions.md
@@ -8,7 +8,7 @@ weight: 26
toc: true
---
-The section [Bundle Composed Components](/docs/getting-started/getting-started-with-ocm/create-a-component-version#bundle-composed-components) explained how to bundle multiple component version into a transport archive.
+The section [Bundle Composed Components](https://ocm.software/docs/getting-started/getting-started-with-ocm/create-a-component-version#bundle-composed-components) explained how to bundle multiple component version into a transport archive.
During the transfer, it is possible to include component references as local blobs. It is also possible to include references in a recursive way.
diff --git a/content/docs/overview/project.md b/content/docs/overview/project.md
index 252ba04f4..4c47020a0 100644
--- a/content/docs/overview/project.md
+++ b/content/docs/overview/project.md
@@ -9,7 +9,7 @@ toc: true
images: []
---
-The Open Component Model (OCM) project provides an open standard for describing software artifacts and lifecycle metadata, with the purpose to securely deliver and deploy software products. It facilitates asynchronous handling of various lifecycle management processes, such as compliance checks, security scans, deployments, and more, in a decoupled and streamlined manner. OCM provides the ability to deliver software securely, consistently, and compliantly across cloud, on-prem, hybrid and air-gapped environments.
+The Open Component Model (OCM) is an open standard that enables teams to describe software artifacts and their lifecycle metadata in a consistent, technology-agnostic way. It’s built to support secure, reliable delivery and deployment of software—across cloud, on-prem, hybrid, and even air-gapped environments. By decoupling and streamlining lifecycle processes like compliance checks, security scans, and deployments, OCM helps teams collaborate more effectively and build trust into every step of the software supply chain.

diff --git a/content/docs/roadmap/_index.md b/content/docs/roadmap/_index.md
deleted file mode 100644
index c4d94380a..000000000
--- a/content/docs/roadmap/_index.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title : "Roadmap"
-description: ""
-weight: 80
-lead: ""
-draft: false
-images: []
-toc: true
-sidebar:
- collapsed: true
----
diff --git a/content/docs/roadmap/roadmap.md b/content/docs/roadmap/roadmap.md
deleted file mode 100644
index 55c931573..000000000
--- a/content/docs/roadmap/roadmap.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title : "Our Roadmap"
-description: "Our Roadmap"
-weight: 81
-lead: ""
-draft: false
-images: []
-toc: true
-sidebar:
- collapsed: true
----
-
-You can checkout the [Project Roadmap on GitHub](https://github.com/orgs/open-component-model/projects/10/views/5) which is based on issues and PRs from the [OCM project repository](https://github.com/open-component-model/ocm-project).
-
-
diff --git a/content/docs/tutorials/complex-component-structure-deployment.md b/content/docs/tutorials/complex-component-structure-deployment.md
index 45fb078c7..1f61240fd 100644
--- a/content/docs/tutorials/complex-component-structure-deployment.md
+++ b/content/docs/tutorials/complex-component-structure-deployment.md
@@ -9,7 +9,7 @@ toc: true
## Introduction
-In this tutorial software products are comprised of logical units called [**components**](https://ocm.software//docs/overview/important-terms/#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**](https://ocm.software/docs/overview/important-terms/#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.
OCM introduces a **Component Version** for every component version that
describes the resources, sources, and other component versions belonging to a particular
@@ -44,7 +44,7 @@ references, you could collect all artifacts belonging to this product version.
## Prerequisites
-We assume that you have already read the guides in the [Getting Started](/docs/getting-started/getting-started-with-ocm/) section, as this guide discusses a more complex scenario.
+We assume that you have already read the guides in the [Getting Started](https://ocm.software/docs/getting-started/getting-started-with-ocm/) section, as this guide discusses a more complex scenario.
## Constructing the Component
diff --git a/content/docs/examples/creds-in-ocmconfig.md b/content/docs/tutorials/creds-in-ocmconfig.md
similarity index 96%
rename from content/docs/examples/creds-in-ocmconfig.md
rename to content/docs/tutorials/creds-in-ocmconfig.md
index 2121af9f9..24ecdedb2 100644
--- a/content/docs/examples/creds-in-ocmconfig.md
+++ b/content/docs/tutorials/creds-in-ocmconfig.md
@@ -1,5 +1,5 @@
---
-title: "Credentials in an .ocmconfig file"
+title: "Credentials in .ocmconfig file"
description: ""
summary: ""
draft: false
diff --git a/content/docs/tutorials/ocm-and-gitops/_index.md b/content/docs/tutorials/ocm-and-gitops/_index.md
index 91bc3380d..4e6a45866 100644
--- a/content/docs/tutorials/ocm-and-gitops/_index.md
+++ b/content/docs/tutorials/ocm-and-gitops/_index.md
@@ -9,4 +9,7 @@ sidebar:
collapsed: true
---
-Here you can find find tutorials that show how to use OCM in a GitOps context. The tutorials are designed to be easy to follow and provide step-by-step instructions for using OCM with GitOps tools and practices.
+
+Seamless GitOps integration. OCM provides the underlying model and controllers that integrate naturally with FluxCD, empowering you to manage sophisticated GitOps workflows with confidence.
+
+Here you can find tutorials on to use OCM in a GitOps context. They are designed to be easy to follow and provide step-by-step instructions for using OCM with GitOps tools and practices.
diff --git a/content/docs/examples/secure-software-delivery.md b/content/docs/tutorials/ocm-and-gitops/secure-software-delivery.md
similarity index 99%
rename from content/docs/examples/secure-software-delivery.md
rename to content/docs/tutorials/ocm-and-gitops/secure-software-delivery.md
index 307e65f4c..bad3fd27a 100644
--- a/content/docs/examples/secure-software-delivery.md
+++ b/content/docs/tutorials/ocm-and-gitops/secure-software-delivery.md
@@ -4,7 +4,7 @@ description: ""
lead: ""
draft: false
images: []
-weight: 71
+weight: 14
toc: true
---
diff --git a/layouts/community/single.html b/layouts/community/single.html
new file mode 100644
index 000000000..021458aa4
--- /dev/null
+++ b/layouts/community/single.html
@@ -0,0 +1,19 @@
+{{ define "main" }}
+