{"id":19358678,"url":"https://github.com/ironcore-dev/ironcore-image","last_synced_at":"2025-07-17T14:33:29.558Z","repository":{"id":46092150,"uuid":"416477372","full_name":"ironcore-dev/ironcore-image","owner":"ironcore-dev","description":"IronCore OCI Image Specification, Library and Tooling","archived":false,"fork":false,"pushed_at":"2025-07-14T16:27:36.000Z","size":374,"stargazers_count":2,"open_issues_count":5,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-07-14T21:10:21.597Z","etag":null,"topics":["ironcore","oci","os-image"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ironcore-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-10-12T19:51:08.000Z","updated_at":"2025-06-02T13:12:50.000Z","dependencies_parsed_at":"2023-11-30T09:28:54.387Z","dependency_job_id":"26e15b21-75fb-4869-a7da-2abbcde8a080","html_url":"https://github.com/ironcore-dev/ironcore-image","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/ironcore-dev/ironcore-image","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ironcore-dev%2Fironcore-image","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ironcore-dev%2Fironcore-image/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ironcore-dev%2Fironcore-image/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ironcore-dev%2Fironcore-image/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ironcore-dev","download_url":"https://codeload.github.com/ironcore-dev/ironcore-image/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ironcore-dev%2Fironcore-image/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265616819,"owners_count":23798903,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ironcore","oci","os-image"],"created_at":"2024-11-10T07:12:39.309Z","updated_at":"2025-07-17T14:33:29.540Z","avatar_url":"https://github.com/ironcore-dev.png","language":"Go","readme":"# ironcore-image\n\n[![REUSE status](https://api.reuse.software/badge/github.com/ironcore-dev/ironcore-image)](https://api.reuse.software/info/github.com/ironcore-dev/ironcore-image)\n[![Go Report Card](https://goreportcard.com/badge/github.com/ironcore-dev/ironcore-image)](https://goreportcard.com/report/github.com/ironcore-dev/ironcore-image)\n[![Go Reference](https://pkg.go.dev/badge/github.com/ironcore-dev/ironcore-image.svg)](https://pkg.go.dev/github.com/ironcore-dev/ironcore-image)\n[![GitHub License](https://img.shields.io/static/v1?label=License\u0026message=Apache-2.0\u0026color=blue)](LICENSE)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://makeapullrequest.com)\n\n## Overview\n\nironcore-image contains a library to simplify interaction with an OCI-comptabile\nregistry, and it holds the specification as well as a simple command-line client\nfor the ironcore-image.\n\nIronCore images are used for machine / volume pool implementors (see [ironcore](https://github.com/ironcore-dev/ironcore))\nto prepare and bootstrap machines and machine disks.\n\nThey are custom OCI images, meaning they can be published in any OCI compatible registry.\nThey consist of 4 layers:\n\n1. `Config` layer, containing additional information how to manage a machine / volume with the image.\n2. `RootFS` layer, containing the root file system for the image.\n3. `InitRAMFS` layer, containing the initramfs / initrd for the image.\n4. `Kernel` layer, containing the kernel for the image.\n\n## Installation\n\n### Command-Line Tool\n\nTo install the command tool, make sure you have a working go installation\nand `GOBIN` set up correctly. Then simply run\n\n```shell\nmake build\n```\n\nThis will install the tool available under `$GOBIN/ironcore-image`.\n\n### Library\n\nThe library behind `ironcore-image` can be fetched by running\n\n```shell\ngo get github.com/ironcore-dev/ironcore-image@latest\n```\n\n## Usage\n\n### Library\n\nFor the docs, check out the [ironcore-image pkg.go.dev documentation](https://pkg.go.dev/github.com/ironcore-dev/ironcore-image).\n\n### Command-Line Tool\n\nFor getting basic help, you can simply run\n\n```shell\nironcore-image help\n```\n\nThis will print the available commands.\n\nTo build an ironcore-image, you'll need the rootfs, initramfs and kernel\nof your desired operating system. Once you have them on disk, simply run\n\n```shell\nironcore-image build \\\n  --rootfs-file \u003cpath to rootfs file\u003e \\\n  --initramfs-file \u003cpath to initramfs\u003e \\\n  --kernel-file \u003cpath to kernel file\u003e\n```\n\nThis will build the image, put it into your local OCI store (usually at `~/.ironcore`)\nand print out the id of the built image.\n\nTo tag the image with a more fluent name, run\n\n```shell\nironcore-image tag \u003cid\u003e my-image:latest\n```\n\nThis will tag the image with the name `my-image` and the tag latest.\n\nTo push an image to a remote registry, make sure you authenticated your\nlocal docker client with that registry. Consult your registry provider's documentation\nfor instructions.\n\nOnce authenticated, tag your image, so it points towards that registry, e.g.\n\n```shell\nironcore-image tag \u003cid\u003e ghcr.io/ironcore-dev/ironcore-image/my-image:latest\n```\n\nTo push the image to the registry, run\n\n```shell\nironcore-image push ghcr.io/ironcore-dev/ironcore-image/my-image:latest\n```\n\n\u003e :danger: This currently doesn't do any output, wait a while for it to be done.\n\nTo pull the pushed image, run\n\n```shell\nironcore-image pull ghcr.io/ironcore-dev/ironcore-image/my-image:latest\n```\n\n## OCI Specification\n\nThis project also defines and publishes the OCI image specification that operating systems must conform to in order to be compatible with the IronCore ecosystem.\n\nFollowing this specification ensures that OS images can be used to boot bare-metal machines via the [metal automation](https://github.com/ironcore-dev/metal-operator) layer and can also be used in virtualized environments within the IronCore virtualization stack.\n\nSee the full [OCI image layout specification](OCI-SPEC.md) for details on how to package your OS images for IronCore.\n\n## Contributing\n\nWe'd love to get feedback from you. Please report bugs, suggestions or post questions by opening a GitHub issue.\n\n## License\n\n[Apache-2.0](LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fironcore-dev%2Fironcore-image","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fironcore-dev%2Fironcore-image","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fironcore-dev%2Fironcore-image/lists"}