{"id":21024892,"url":"https://github.com/nestybox/sysbox-runc","last_synced_at":"2025-04-07T17:07:40.885Z","repository":{"id":40328406,"uuid":"284554820","full_name":"nestybox/sysbox-runc","owner":"nestybox","description":"Sysbox-runc repository","archived":false,"fork":false,"pushed_at":"2025-01-24T20:18:57.000Z","size":8659,"stargazers_count":26,"open_issues_count":1,"forks_count":20,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-31T16:14:55.487Z","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/nestybox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-02T22:46:27.000Z","updated_at":"2025-02-23T01:23:00.000Z","dependencies_parsed_at":"2024-02-05T00:27:37.834Z","dependency_job_id":"57a7c501-2683-457f-b968-8b3852daa8ed","html_url":"https://github.com/nestybox/sysbox-runc","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nestybox%2Fsysbox-runc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nestybox%2Fsysbox-runc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nestybox%2Fsysbox-runc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nestybox%2Fsysbox-runc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nestybox","download_url":"https://codeload.github.com/nestybox/sysbox-runc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247694875,"owners_count":20980733,"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":"2024-11-19T11:29:06.516Z","updated_at":"2025-04-07T17:07:40.856Z","avatar_url":"https://github.com/nestybox.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sysbox-runc\n\n## Introduction\n\nsysbox-runc is part of [Sysbox](../README.md).\n\nsysbox-runc is the program that does the low level kernel setup for execution of\nsystem containers. It's the \"front-end\" of Sysbox: higher layers (e.g., Docker \u0026\ncontainerd) invoke sysbox-runc to launch system containers.\n\nsysbox-runc is tightly integrated with sysbox-fs and sysbox-mgr via\ngRPC. Refer to the [Sysbox design doc](../docs/user-guide/design.md) for\nfurther info.\n\nsysbox-runc is a fork of the excellent [OCI runc](https://github.com/opencontainers/runc),\nmodified for running system containers. It was forked in early 2019 and has undergone\nsignificant changes since then. It's regularly updated to track the latest changes\nin the OCI runc.\n\nsysbox-runc is mostly (but not 100%) compatible with the OCI runtime specification (more on this\n[here](../docs/user-guide/design.md#sysbox-oci-compatibility)).\n\n** A HUGE DEBT OF GRATITUDE TO THE OCI RUNC DEVELOPERS \u0026 MAINTAINERS, WITHOUT WHOM SYSBOX-RUNC WOULD NOT BE POSSIBLE. **\n\n## Building\n\nsysbox-runc is built as part of the Sysbox build process. Refer to the Sysbox\n[developer's guide](../docs/developers-guide.md) for more on this.\n\n### Running the test suite\n\nsysbox-runc is normally tested as part of the [Sysbox test suite](../docs/developers-guide.md#sysbox-testing). That test\nsuite has Makefile targets to run sysbox-runc unit and integration tests.\n\nAlternatively, you can run the sysbox-runc tests directly as follows:\n\n```bash\nmake test\n```\n\nThere are additional make targets for running the tests outside of a container but this is\nnot recommended as the tests are written with the expectation that they can write and\nremove anywhere.\n\nYou can run a specific test case by setting the `TESTFLAGS` variable.\n\n```bash\n# make test TESTFLAGS=\"-run=SomeTestFunction\"\n```\n\nYou can run a specific integration test by setting the `TESTPATH` variable.\n\n```bash\n# make test TESTPATH=\"/checkpoint.bats\"\n```\n\nYou can run a specific rootless integration test by setting the `ROOTLESS_TESTPATH` variable.\n\n```bash\n# make test ROOTLESS_TESTPATH=\"/checkpoint.bats\"\n```\n\nYou can run a test using your container engine's flags by setting `CONTAINER_ENGINE_BUILD_FLAGS` and `CONTAINER_ENGINE_RUN_FLAGS` variables.\n\n```bash\n# make test CONTAINER_ENGINE_BUILD_FLAGS=\"--build-arg http_proxy=http://yourproxy/\" CONTAINER_ENGINE_RUN_FLAGS=\"-e http_proxy=http://yourproxy/\"\n```\n\n### Test Shell\n\nYou can get a shell in the test container with:\n\n```bash\n# make shell\n```\n\nTo run a specific integration test:\n\n```bash\n# bats -t tests/integration/sometest.bats\n```\n\nTo run a specific unit test, point to the go package and test.\n\n```bash\n# go test \"-mod=vendor\" -timeout 3m -tags \"seccomp selinux apparmor\"  -v github.com/opencontainers/runc/libcontainer/integration -run TestEnter\n```\n\nYou can get the list of go packages with:\n\n```bash\n# go list ./...\n```\n\nThe delve debugger is installed in the test container. You can attach it to a sysbox-runc process with:\n\n```bash\n# dlv attach \u003cpid\u003e\n```\n\nwhere `\u003cpid\u003e` is the pid of the sysbox-runc process.\n\n## Using sysbox-runc\n\nSee the [Sysbox User Guide](../docs/user-guide/deploy.md) for more info on this.\n\n## Other documentation\n\n* [cgroup v2](./docs/cgroup-v2.md)\n* [Changing systemd unit properties](./docs/systemd-properties.md)\n* [Terminals and standard IO](./docs/terminals.md)\n\n## Libcontainer\n\nThe libcontainer package in sysbox-runc is not meant to be usable as a\nstandalone library (unlike the libcontainer package in the OCI runc). It has\nundergone changes that tie it deeply into sysbox-runc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnestybox%2Fsysbox-runc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnestybox%2Fsysbox-runc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnestybox%2Fsysbox-runc/lists"}