Skip to content

Evaluate the existing ocm controller oci cache implementation #76

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
2 tasks
fabianburth opened this issue Nov 28, 2024 · 4 comments
Closed
2 tasks

Evaluate the existing ocm controller oci cache implementation #76

fabianburth opened this issue Nov 28, 2024 · 4 comments
Assignees
Labels
area/ipcei Important Project of Common European Interest
Milestone

Comments

@fabianburth
Copy link
Contributor

fabianburth commented Nov 28, 2024

Evaluate the existing ocm controllers oci cache / storage backend implementation (the implementation also includes code for setting up single layer oci artifacts).
Quickly document your evaluation and deduct further steps for this epic (it's absolute fine if that involves a lot of copy pasting!) and follow up tasks such as #75 .

  • Decide on Artifact Type (ADR type option 2 vs. option 5)
  • Decide on OCI Registry (ADR OCI Registry options)
@fabianburth fabianburth added the area/ipcei Important Project of Common European Interest label Nov 28, 2024
@fabianburth fabianburth moved this from 🆕 ToDo to 📋 Next-UP in OCM Backlog Board Nov 28, 2024
@frewilhelm frewilhelm self-assigned this Nov 29, 2024
@frewilhelm
Copy link
Contributor

frewilhelm commented Nov 29, 2024

Notes:

  • Snapshot (Based on README.md)
    • Kubernetes custom resource that manages a Flux compatible single-layer OCI image to enable interoperability between OCM and Flux
    • Created by controller (never manually)
    • CRD contains
      • Spec:
        • digest
        • identity (ocm based?)
        • tag (where comes this from?)
      • Status:
        • digest (again?)
        • repositoryURL (url to registry with path to sha (sha differs from digest above. however, both have sha256 prefix))
        • tag (again?)
  • snapshots are immutable, Flux-compatible, single layer OCI images containing a single OCM resource. Snapshots are stored in an in-cluster registry and in addition to making component resources accessible for transformation, they also can be used as a caching mechanism to reduce unnecessary calls to the source OCM registry. (source)

Result: In comparison to the artifact in v2, this snapshot seems a bit loaded. The information in spec and status are redundant and the fields identity and tag are not explained (at least not in the README.md or in its definition in api/v1alpha1/snapshot_types.go)

  • Registry
    • HTTPS OCI registry is created in this project (how?)
    • Is a "sync-point" between ocm-controller and Flux eco-system and serves as cache.
      • What is meant with "sync-point"?
    • Is used by Resource, Localization, and Configuration as cache (exclusively?)
    • A remote resource is only fetched once and is then provided by the local registry.
    • Where and how is the registry deployed?

@frewilhelm frewilhelm moved this from 📋 Next-UP to 🏗 In Progress in OCM Backlog Board Nov 29, 2024
@frewilhelm frewilhelm moved this from 🏗 In Progress to 📋 Next-UP in OCM Backlog Board Jan 16, 2025
@ikhandamirov ikhandamirov self-assigned this Jan 21, 2025
@ikhandamirov ikhandamirov moved this from 📋 Next-UP to 🏗 In Progress in OCM Backlog Board Jan 21, 2025
@ikhandamirov
Copy link
Contributor

ikhandamirov commented Jan 21, 2025

Registry

HTTPS OCI registry is created in this project (how?)
Where and how is the registry deployed?

Part of the controller's helm chart: https://github.com/open-component-model/ocm-controller/blob/main/deploy/templates/deployment_registry.yaml#L21
There is no tight coupling between controllers and the registry, just the registry URL as the interface:

@frewilhelm
Copy link
Contributor

The evaluation for the snapshot resource is finished as we discussed in #92.

@morri-son morri-son added this to the 2025-Q1 milestone Feb 6, 2025
@frewilhelm
Copy link
Contributor

I propse to close the issue as the initial evaluation happened and everything else is discussed in #92

@github-project-automation github-project-automation bot moved this from 🏗 In Progress to 🍺 Done in OCM Backlog Board Feb 13, 2025
@ocmbot ocmbot bot moved this from 🍺 Done to 🔒Closed in OCM Backlog Board Feb 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ipcei Important Project of Common European Interest
Projects
Status: 🔒Closed
Development

No branches or pull requests

4 participants