Azure Container Registry als universele opslag met ORAS

Tyas Seegers

Als je denkt dat je container registry alleen bedoeld is voor de opslag van Docker images, dan heb je het mis. Met ORAS kun je vrijwel elk type bestand uploaden naar een OCI-compatibele registry, zoals Azure Container Registry (ACR). Dit maakt het mogelijk om je container registry te gebruiken als centrale opslag voor meer dan alleen containers.

Wat is ORAS?

ORAS staat voor OCI Registry As Storage. Het is een open-source CLI-tool waarmee je bestanden kunt pushen naar en pullen uit een OCI-compatibele registry.

De afkorting OCI staat voor Open Container Initiative, een standaard beheerd door de Linux Foundation, met als doel specificaties te ontwikkelen voor containers, zodat ze uitwisselbaar en consistent zijn tussen verschillende platforms en tools.

ORAS werkt niet alleen met Azure Container Registry, maar ondersteund ook andere registries als Google Artifact Registry, JFrog Artifactory en Docker Hub. Waar je met de Docker- of Helm CLI eenvoudig een image of Chart kunt uploaden via ‘docker push’ of ‘helm push’, lukt dit standaard niet met willekeurige bestanden. Met ORAS dus wel.

Installatie

De installatie van ORAS is eenvoudig. Het wordt ondersteund op verschillende platformen via package managers zoals Homebrew en Winget. Daarnaast is ORAS vaak al vooraf geïnstalleerd op de Microsoft-hosted agents in Azure Pipelines, waardoor je het direct kunt gebruiken in CI/CD-processen: handige links hierbij zijn de officiële installatiehandleiding en de how-to guides voor praktische voorbeelden.

De CLI-commando’s van ORAS zijn overzichtelijk, intuïtief en goed gedocumenteerd.

oras --help
Usage:
  oras [command]
Available Commands:
  attach      [Preview] Attach files to an existing artifact
  blob        Blob operations
  completion  Generate the autocompletion script for the specified shell
  cp          Copy artifacts from one target to another
  discover    [Preview] Discover referrers of a manifest in a registry or an OCI image layout
  help        Help about any command
  login       Log in to a remote registry
  logout      Log out from a remote registry
  manifest    Manifest operations
  pull        Pull files from a registry or an OCI image layout
  push        Push files to a registry or an OCI image layout
  repo        Repository operations
  resolve     [Experimental] Resolves digest of the target artifact
  tag         Tag a manifest in a registry or an OCI image layout
  version     Show the oras version information
Flags:
  -h, --help   help for oras
Use "oras [command] --help" for more information about a command.

Wanneer gebruik je ORAS?

Hoewel het niet aan te raden is om een container registry te misbruiken als generieke opslag (daarvoor zijn andere diensten zoals Azure Blob Storage geschikter), zijn er scenario’s waarin ORAS juist veel toegevoegde waarde biedt.

Bijvoorbeeld: Je organisatie gebruikt containers voor vrijwel alle projecten, behalve één. Toch wil je voor alle builds een standaard build- en deployment proces aanhouden.

In dat geval biedt ORAS de mogelijkheid om build artifacts, ongeacht het bestandstype, op te slaan op één centrale plek, namelijk je bestaande container registry. Dit vermindert de overhead van het beheren van meerdere opslagbronnen en vereenvoudigt het CI/CD-proces.

Oras stelt je in staat om niet-gecontaineriseerde artifacts op dezelfde manier te beheren als containerimages. Consistent, centraal en geautomatiseerd. Een krachtige tool voor teams die streven naar eenvoud, uniformiteit en DevOps best practices.

Stel je vragen

Klaar voor transformatie?

We horen graag van je! Neem vandaag nog contact op.

info@cloudfulness.nl
Leigraafseweg 2, 6983 BP, Doesburg
0316 798 020