{"id":27185034,"url":"https://github.com/threefoldtech/cloud-container","last_synced_at":"2025-04-09T17:10:10.838Z","repository":{"id":39634524,"uuid":"375067351","full_name":"threefoldtech/cloud-container","owner":"threefoldtech","description":"A builder for a simple initramfs image to run container over virtiofs inside cloud-hypervisor","archived":false,"fork":false,"pushed_at":"2024-05-13T12:33:26.000Z","size":128,"stargazers_count":1,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-06-21T20:03:51.127Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/threefoldtech.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-08T15:58:28.000Z","updated_at":"2023-10-09T11:39:23.000Z","dependencies_parsed_at":"2024-02-14T12:57:39.017Z","dependency_job_id":null,"html_url":"https://github.com/threefoldtech/cloud-container","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Fcloud-container","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Fcloud-container/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Fcloud-container/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Fcloud-container/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/threefoldtech","download_url":"https://codeload.github.com/threefoldtech/cloud-container/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248074976,"owners_count":21043490,"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":[],"created_at":"2025-04-09T17:10:10.359Z","updated_at":"2025-04-09T17:10:10.813Z","avatar_url":"https://github.com/threefoldtech.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Introduction\ncloud-container is only a builder for a custom initramfs image that allows running containers on `cloud-hypervisor`. The container root is served over `virtiofs`.\n\nThe image does the following for this to work:\n- [x] Add all required `virtio` modules to support `virtiofs`, `pci`, and `disks`\n- [x] Expose environment variables from `/etc/environment` to the container `entrypoint`. A container manager then can simply write down the /etc/environment file in the container root before booting.\n- [x] Pre mount attached disks to configured endpoints\n- [x] Configure network interface via cmdline argument passed to the kernel [setupnetwork](setupnetwork)\n\n### kernel arguments\n- `net_ethX=SPEC` argument to configure each interface *TO BE DEFINED*\n- `mnt_vdX=/path` auto mount disk to given end point *TODO*\n\n### Building\n**pre-requirements**: `docker`\n\nThis will build the required initram-fs\nRun\n```bash\n./build.sh\n```\n\nTo build the kernel, use the `config` file from the repo to build the kernel. This is only tested with linux 5.12.9. This will be automated later in this repo as well. buf for now you have to do do it manually.\n\n### Testing container\n**pre-requirement**: `virtiofsd`, `cloud-hypervisor`\nextract a container root (or mount a container flist)\n\n\u003e to edit the environment variables available to your entrypoint you have to edit `\u003crootfs\u003e/etc/environment`\n\nRun\n```bash\n./test.sh \u003crootfs\u003e [entrypoint]\n```\n\ndefault entrypoint in `/bin/bash`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreefoldtech%2Fcloud-container","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthreefoldtech%2Fcloud-container","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreefoldtech%2Fcloud-container/lists"}