Skip to content

Repositories

Repositories are the sources of your application catalog. logiccloud orchestrate imports the Margo applications it finds in them and lists them under Applications.

Who can access this: admins and operators.

In the sidebar, Repositories has three pages:

  • Git Registries — Git repositories with Margo application descriptions.
  • OCI Registries — container registries with Margo application packages.
  • FLECS Store — the apps of a FLECS marketplace store linked to your tenant.

Each registry belongs to your tenant only. Other tenants do not see it.

The Git Registries page

The list is on the left; the selected registry opens on the right with its settings, its sync state and the last synced commit.

The Add Git Registry dialog

Click Add Git Registry and fill in:

  1. Registry Name and an optional Description.
  2. Repository URL, for example https://github.com/acme/margo-apps.git, the Branch (for example main) and the Path inside the repository (/ for the whole repository).
  3. Authentication Type — None for a public repository, Access Token or SSH Key for a private one, with the token or key.
  4. Sync Interval — how often logiccloud orchestrate looks for changes, at least 5 minutes.
  5. Enabled — a disabled registry is not synced.

logiccloud orchestrate syncs the registry on its schedule. Sync Now starts a sync at once.

Sync status: Synced, Syncing, Sync Error or Pending (the first sync has not run yet).

The OCI Registries page with a registry and its configured repositories

The Add OCI Registry dialog with the Repositories list

Click Add OCI Registry and fill in:

  1. Registry Name and an optional Description.
  2. URL — the registry host, optionally with a namespace, for example https://ghcr.io/acme. Do not add an image name or a tag.
  3. Authentication Type — None, Basic Auth (username and password) or Bearer Token. When you edit a registry, leave the credential fields empty to keep the stored credential.
  4. Repositories — type each repository to import, for example acme/node-red, and press Enter or click Add repository. See The repository list.
  5. Verify TLS Certificate — switch it off only for an internal registry with a self-signed certificate.
  6. Enabled — a disabled registry is neither synced nor checked.

logiccloud orchestrate imports only the repositories in this list. It does not ask the registry for a list of all its repositories. Many registries (for example Harbor) allow that only for administrator accounts, while a normal account can read a repository when it knows the name. So:

  • A registry with an empty list imports nothing. The registry card shows None configured.
  • Write each repository as a lowercase path such as library/nginx or acme/node-red: letters, digits, ., _ and -, separated by /, with no / at the start or the end.
  • Each repository can appear only once.

The Configured repositories card of the selected registry lists the repositories.

The actions are icons on the selected registry:

  • Check Health — checks that the registry is reachable and accepts the credentials. Health: Healthy, Unhealthy, Unknown or Checking.
  • Sync Now — imports new and changed application versions.
  • Refresh — runs the health check, then the sync.

Pull access: logiccloud orchestrate also checks that the credentials can pull the first repository of the list. When they cannot, an amber No pull access badge appears next to the health badge, naming the repository. When they can, the registry shows Pull verified on that repository. Only that one repository is checked.

The sync history with the results of each repository

The Sync tab of the selected registry shows the syncs of the last 30 days: when it ran, the result, how many repositories it read, how many applications it imported and updated, how long it took and who started it. Expand a failed or partial sync to see Per-repository results: for each repository the number of versions found, imported and updated, the number of tags, and the errors of that repository.

The sync skips a tag and does not import its version in these cases. The rules follow the Margo registry specification. They apply to every registry, including the FLECS store.

  • The manifest artifactType is missing or is not application/vnd.margo.app.v1+json.
  • The manifest config is not the OCI empty descriptor (media type application/vnd.oci.empty.v1+json, digest sha256:44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a, size 2).
  • The application description is not a layer with media type application/vnd.margo.app.description.v1+yaml. The sync no longer reads other ways: manifest annotations, the config blob, layer annotations or other media types.
  • A resource file that metadata.catalog.application lists (icon, releaseNotes, descriptionFile, licenseFile) is a layer with another media type than application/vnd.margo.app.<kind>.v1+<format>. The sync finds the layer of a file by the layer title (the path of the file). A listed file without a layer of that title is also rejected.
  • The tag differs from metadata.version of the application description. Margo requires both to be equal. Tag 1.2.0 for version 1.2.0, not v1.2.0 or 1.2.0-margo-manifest.
  • A component sets wait to a value that is not true or false, or sets timeout in a format other than ##m##s (for example 5m30s). The sync rejects only the deployment profile with that component; the other profiles of the version are imported.

A rejected tag is not an error of the sync. The sync result lists it for its repository with the tag, a code and the reason. Open the sync history of the registry, expand a run and read the Per-repository results. The sync also writes one audit entry (action IMPORT, failed, entity type OciRegistry) for each tag that is newly rejected. A tag that stays rejected is audited once.

A version that was imported before and now fails one of these checks is removed at the next sync. If a deployment still uses it, it is marked unavailable instead. Publish a conformant tag to import the version again.

The FLECS marketplace offers industrial applications. A platform superadmin can link one FLECS store to your tenant. logiccloud orchestrate then imports the store’s apps that come with a Margo application description, every 5 minutes. The imported apps appear under Applications like apps from any other registry.

The Linked FLECS store card of a superadmin

  1. Open Repositories → FLECS Store in the tenant.
  2. Enter the FLECS store number (a positive whole number, from FLECS).
  3. Switch Import apps on.
  4. Click Link. The first import starts at once.

To stop importing, switch Import apps off and click Save, or click Unlink. In both cases the apps imported before are marked unavailable. The FLECS store itself is not changed.

The import history of the linked FLECS store

Admins and operators see the linked store on the same page:

  • Overview — the last import (how many apps were found, imported and updated, and any errors) and the apps in the store, with how many of their tags have a Margo application description.
  • Import history — one row per store repository and import, with the outcome: Imported, Updated, Unchanged, No Margo app (the app has no Margo application description, so it cannot be imported), Not published (the store lists the app, but the app publishes no artifact on the FLECS registry; this is normal for most store apps and not an error) or Failed. Filter by outcome or search by repository.
  • Import now — starts an import without waiting for the next one.
  • Edit — change the settings of a registry.
  • Enable / Disable — a disabled registry keeps its settings but is not synced.
  • Delete — removes the registry. The applications that came only from it become unavailable.