{"id":13508061,"url":"https://github.com/unikraft/unikraft","last_synced_at":"2025-05-13T18:16:52.381Z","repository":{"id":37442169,"uuid":"181022316","full_name":"unikraft/unikraft","owner":"unikraft","description":"A next-generation cloud native kernel designed to unlock best-in-class performance, security primitives and efficiency savings.","archived":false,"fork":false,"pushed_at":"2025-05-02T16:15:13.000Z","size":8314,"stargazers_count":3105,"open_issues_count":311,"forks_count":1452,"subscribers_count":38,"default_branch":"staging","last_synced_at":"2025-05-06T17:42:53.130Z","etag":null,"topics":["application","cloud","cloud-native","hacktoberfest","kernel","library","microservice","operating-system","os","osdev","performance","qemu","security","unikernel","unikernels","unikraft","virtualization"],"latest_commit_sha":null,"homepage":"http://unikraft.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unikraft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/build/Makefile.build","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-04-12T14:17:59.000Z","updated_at":"2025-05-06T17:30:30.000Z","dependencies_parsed_at":"2023-09-23T14:35:05.460Z","dependency_job_id":"ed4a8c3d-da66-4245-ad78-6bfee712cd4c","html_url":"https://github.com/unikraft/unikraft","commit_stats":{"total_commits":3128,"total_committers":135,"mean_commits":23.17037037037037,"dds":0.8455882352941176,"last_synced_commit":"3facdb2241c69f83f1930d8f2d7e856ddc47934f"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unikraft%2Funikraft","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unikraft%2Funikraft/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unikraft%2Funikraft/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unikraft%2Funikraft/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unikraft","download_url":"https://codeload.github.com/unikraft/unikraft/tar.gz/refs/heads/staging","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253433687,"owners_count":21907777,"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":["application","cloud","cloud-native","hacktoberfest","kernel","library","microservice","operating-system","os","osdev","performance","qemu","security","unikernel","unikernels","unikraft","virtualization"],"created_at":"2024-08-01T02:00:47.208Z","updated_at":"2025-05-13T18:16:52.334Z","avatar_url":"https://github.com/unikraft.png","language":"C","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003cimg alt=\"Unikraft logo\" src=\"https://raw.githubusercontent.com/unikraft/docs/main/static/assets/imgs/unikraft.svg\" width=\"40%\"\u003e\n  \u003c/picture\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![](https://img.shields.io/badge/version-v0.18.0%20(Helene)-%23EC591A)][unikraft-latest]\n[![](https://img.shields.io/static/v1?label=license\u0026message=BSD-3\u0026color=%23385177)][unikraft-license]\n[![](https://img.shields.io/discord/762976922531528725.svg?label=discord\u0026logo=discord\u0026logoColor=ffffff\u0026color=7389D8\u0026labelColor=6A7EC2)][unikraft-discord]\n[![](https://img.shields.io/github/contributors/unikraft/unikraft)](https://github.com/unikraft/unikraft/graphs/contributors)\n[![](https://app.codacy.com/project/badge/Grade/454f62251d96413fac8024b28df2ce5b)](https://app.codacy.com/gh/unikraft/unikraft/dashboard)\n\n\u003c/div\u003e\n\n\u003ch1 align=\"center\"\u003eThe fast, secure and open-source \u003cbr /\u003e Unikernel Development Kit\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n\tUnikraft powers the next-generation of cloud native, containerless applications by enabling you to radically customize and build custom OS/kernels; unlocking best-in-class performance, security primitives and efficiency savings.\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://unikraft.org\"\u003eHomepage\u003c/a\u003e\n\t·\n\t\u003ca href=\"https://unikraft.org/docs\"\u003eDocumentation\u003c/a\u003e\n\t·\n\t\u003ca href=\"https://github.com/unikraft/unikraft/issues/new?assignees=\u0026labels=kind%2Fbug\u0026projects=\u0026template=bug_report.yml\"\u003eReport Bug\u003c/a\u003e\n\t·\n\t\u003ca href=\"https://github.com/unikraft/unikraft/issues/new?assignees=\u0026labels=kind%2Fenhancement\u0026projects=\u0026template=project_backlog.yml\"\u003eFeature Request\u003c/a\u003e\n\t·\n\t\u003ca href=\"https://unikraft.org/discord\"\u003eJoin Our Discord\u003c/a\u003e\n\t·\n\t\u003ca href=\"https://x.com/UnikraftSDK\"\u003eX.com\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n\t\u003cimg src=\"https://unikraft.org/assets/imgs/monkey-business.gif\" width=\"80%\" /\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n## Features\n\n- **Instantaneous Cold-boots** ⚡\n   - While Linux-based systems might take tens of seconds to boot, Unikraft will be up in milliseconds.\n\n- **Modular Design** 🧩\n   - Unikraft boasts a modular design approach, allowing developers to include only necessary components, resulting in leaner and more efficient operating system configurations.\n\n- **Optimized for Performance** 🚀\n   - Built for performance, Unikraft minimizes overheads and leverages platform-specific optimizations, ensuring applications achieve peak performance levels.\n\n- **Flexible Architecture Support** 💻\n   - With support for multiple hardware architectures including x86, ARM, (and soon [RISC-V](https://riscv.org/)), Unikraft offers flexibility in deployment across diverse hardware platforms.\n\n- **Broad Language and Application Support** 📚\n\n  - Unikraft offers extensive support for multiple programming languages and hardware architectures, providing developers with the flexibility to choose the tools and platforms that best suit your needs.\n\n- **Cloud and Edge Compatibility** ☁️\n   - Designed for cloud and edge computing environments, Unikraft enables seamless deployment of applications across distributed computing infrastructures.\n\n- **Reduced Attack Surface** 🛡️\n   - By selectively including only necessary components, Unikraft reduces the attack surface, enhancing security in deployment scenarios.  Unikraft also includes many [additional modern security features][unikraft-security-features].\n\n- **Developer Friendly** 🛠️\n   - Unikraft's intuitive toolchain and user-friendly interface simplify the development process, allowing developers to focus on building innovative solutions.\n\n- **Efficient Resource Utilization** 🪶\n   - Unikraft optimizes resource utilization, leading to smaller footprints (meaning higher server saturation) and improved efficiency in resource-constrained environments.\n\n- **Community-Driven Development** 👥\n    - Unikraft is an open-source project driven by a vibrant community of over 100 developers, fostering collaboration and innovation from industry and academia.\n\n\n## Quick Start\n\nInstall the companion command-line client [`kraft`][kraft]:\n\n```shell\n# Install on macOS, Linux, and Windows:\ncurl -sSfL https://get.kraftkit.sh | sh\n```\n\n\u003e See [additional installation instructions][unikraft-cli-install].\n\nRun your first ultra-lightweight unikernel virtual machine:\n\n```\nkraft run unikraft.org/helloworld:latest\n```\n\nView its status and manage multiple instances:\n\n```\nkraft ps --all\n```\n\nView the community image catalog in your CLI for more apps:\n\n```\nkraft pkg ls --update --apps\n```\n\nOr browse through one of the many [starter example projects][unikraft-catalog-examples].\n\n\n## Why Unikraft?\n\nUnikraft is a radical, yet Linux-compatible with effortless tooling, technology for running applications as highly optimized, lightweight and single-purpose virtual machines (known as unikernels).\n\nIn today's computing landscape, efficiency is paramount. Unikraft addresses this need with its modular design, enabling developers to create customized, lightweight operating systems tailored to specific application requirements. By trimming excess overhead and minimizing attack surfaces, Unikraft enhances security and performance in cloud and edge computing environments.\n\nUnikraft's focus on optimization ensures that applications run smoothly, leveraging platform-specific optimizations to maximize efficiency. With support for various hardware architectures and programming languages, Unikraft offers flexibility without compromising performance. In a world where resources are precious, Unikraft provides a pragmatic solution for streamlined, high-performance computing.\n\n\n## Getting Started\n\nThere are two ways to get started with Unikraft:\n\n1. (**Recommended**) Using the companion command-line tool [`kraft`][kraft] (covered below).\n\n2. Using the GNU Make-based system.  For this, see our [advanced usage guide][unikraft-guides-advanced].\n\n### Toolchain Installation\n\nYou can install the companion command-line client [`kraft`][kraft] by using the interactive installer:\n\n```shell\n# Install on macOS, Linux, and Windows:\ncurl -sSfL https://get.kraftkit.sh | sh\n```\n\n#### macOS\n\n```\nbrew install unikraft/cli/kraftkit\n```\n\n#### Debian/Fedora/RHEL/Arch/Windows\n\nUse the interactive installer or see [additional installation instructions][unikraft-cli-install].\n\n### Codespaces\n\nTry out one of the examples in GitHub Codespaces:\n\n[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)][github-codespaces-catalog]\n\n### Container Build Environment\n\nYou can use the pre-built development container environment which has all\ndependencies necessary for building and trying out Unikraft in emulation mode.\n\nAttach your working directory on your host as a mount path volume mapped to\n`/workspace`, e.g.:\n\n```shell\ndocker run --platform linux/x86_64 -it --rm -v $(pwd):/workspace --entrypoint bash kraftkit.sh/base:latest\n```\n\nThe above command will drop you into a container shell.\nType `exit` or \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eD\u003c/kbd\u003e to quit.\n\n\n### Testing your Installation\n\nRunning unikernels with `kraft` is designed to be simple and familiar.\nTo test your installation of `kraft`, you can run the following:\n\n```\nkraft run unikraft.org/helloworld:latest\n```\n\n### Build your first unikernel\n\nBuilding unikernels is also designed to be straightforward.  Build your first\nunikernel by simply placing a `Kraftfile` into your repo and pointing it to your\nexisting `Dockerfile`:\n\n```yaml\nspec: v0.6\n\nruntime: base:latest\n\nrootfs: ./Dockerfile\n\ncmd: [\"/path/to/my-server-app\"]\n```\n\n\u003e Learn more about the [syntax of a `Kraftfile`][unikraft-kraftfile-syntax].\n\nOnce done, invoke in the context of your working directory:\n\n```\nkraft run .\n```\n\n\n## Example Projects and Pre-built Images\n\nYou can find some common project examples below:\n\n| | Example |\n|-|:-|\n| ![](https://raw.githubusercontent.com/unikraft/catalog/main/.github/icons/c.svg) | [Simple \"Hello, world!\" application written in C](https://github.com/unikraft/catalog/tree/main/examples/helloworld-c) |\n| ![](https://raw.githubusercontent.com/unikraft/catalog/main/.github/icons/cpp.svg) | [Simple \"Hello, world!\" application written in C++](https://github.com/unikraft/catalog/tree/main/examples/helloworld-cpp) |\n| ![](https://raw.githubusercontent.com/unikraft/catalog/main/.github/icons/rust-white.svg#gh-dark-mode-only)![](https://raw.githubusercontent.com/unikraft/catalog/main/.github/icons/rust-black.svg#gh-light-mode-only) | [Simple \"Hello, world!\" application written in Rust built via `cargo`](https://github.com/unikraft/catalog/tree/main/examples/helloworld-rs) |\n| ![](https://raw.githubusercontent.com/unikraft/catalog/main/.github/icons/js.svg) | [Simple NodeJS 18 HTTP Web Server with `http`](https://github.com/unikraft/catalog/tree/main/examples/http-node18) |\n| ![](https://raw.githubusercontent.com/unikraft/catalog/main/.github/icons/go.svg) | [Simple Go 1.21 HTTP Web Server with `net/http`](https://github.com/unikraft/catalog/tree/main/examples/http-go1.21) |\n| ![](https://raw.githubusercontent.com/unikraft/catalog/main/.github/icons/python3.svg) | [Simple Flask 3.0 HTTP Web Server](https://github.com/unikraft/catalog/tree/main/examples/http-python3.10-flask3.0) |\n| ![](https://raw.githubusercontent.com/unikraft/catalog/main/.github/icons/python3.svg) | [Simple Python 3.10 HTTP Web Server with `http.server.HTTPServer`](https://github.com/unikraft/catalog/tree/main/examples/http-python3.10) |\n\nFind [more examples and applications in our community catalog][unikraft-catalog]!\n\n\n## Cloud Deployment\n\nThe creators of Unikraft have built [KraftCloud](https://kraft.cloud): a next generation cloud platform powered by technology intended to work in millisecond timescales.\n\n| ✅ | Millisecond Scale-to-Zero | ✅ | Millisecond Autoscale   | ✅ | Millisecond Cold Boots |\n|:-|:-|:-|:-|:-|:-|\n| ✅ | Higher Throughput         | ✅ | Much Lower Cloud Bill   | ✅ | HW-Level Isolation     |\n| ✅ | On-Prem or Cloud-Prem     | ✅ | Works with Docker \u0026 K8s | ✅ | Terraform Integration  |\n\n### [Sign-up for the beta ↗](https://console.kraft.cloud/signup)\n\n\u003cbr /\u003e\n\n## Contributing\n\nUnikraft is open-source and licensed under `BSD-3-Clause` and the copyright of its\nauthors.  If you would like to contribute:\n\n1. Read the [Developer Certificate of Origin Version 1.1](https://developercertificate.org/).\n1. Sign-off commits as described in the [Developer Certificate of Origin Version 1.1](https://developercertificate.org/).\n1. Grant copyright as detailed in the [license header](https://unikraft.org/docs/contributing/coding-conventions#license-header).\n\nThis ensures that users, distributors, and other contributors can rely on all the software related to Unikraft being contributed under the terms of the License. No contributions will be accepted without following this process.\n\nAfterwards, navigate to the [contributing guide](https://unikraft.org/docs/contributing/unikraft) to get started.\nSee also [Unikraft's coding conventions](https://unikraft.org/docs/contributing/coding-conventions).\n\n\n## Additional resources\n\n* [Quick-start guide][unikraft-gettingstarted]\n* [What is a unikernel?][unikraft-concepts]\n* [Unikraft's inherent security benefits][unikraft-security]\n* [Performance of Unikraft][unikraft-performance]\n* [POSIX-compatibility with Unikraft][unikraft-posix-compatibility]\n* [Energy efficiency with Unikraft][Unikraft-green]\n* [Unikraft Community][unikraft-community]\n* [Unikraft Documentation][unikraft-docs]\n\n\n## License\n\nUnikraft Open-Source Project source code and its affiliated projects source code is licensed under a `BSD-3-Clause` if not otherwise stated.\nFor more information, please refer to [`COPYING.md`][unikraft-license].\n\n\n## Affiliation\n\nUnikraft is a member of the [Linux Foundation](https://www.linuxfoundation.org/) and is a [Xen Project](https://xenproject.org/)  Incubator Project.\nThe Unikraft name, logo and its mascot are trademark of [Unikraft GmbH](https://unikraft.io).\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"left\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://www.linuxfoundation.org/hubfs/lf-stacked-white.svg\"\u003e\n    \u003cimg alt=\"LinuxFoundation logo\" src=\"https://www.linuxfoundation.org/hubfs/lf-stacked-color.svg\" width=\"20%\"\u003e\n  \u003c/picture\u003e\n\t\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://xenproject.org/wp-content/uploads/sites/79/2018/09/logo_xenproject.png\"\u003e\n    \u003cimg alt=\"XenProject logo\" src=\"https://downloads.xenproject.org/Branding/Logos/Green+Black/xen_project_logo_dualcolor_767x319.png\" width=\"18%\"\u003e\n  \u003c/picture\u003e\n\u003c/div\u003e\n\n\n[unikraft-website]: https://unikraft.org\n[unikraft-docs]: https://unikraft.org/docs\n[unikraft-community]: https://unikraft.org/community\n[unikraft-contributing]: https://unikraft.org/docs/contributing/\n[unikraft-license]: https://github.com/unikraft/unikraft/blob/staging/COPYING.md\n[unikraft-latest]: https://github.com/unikraft/unikraft/tree/RELEASE-0.18.0\n[unikraft-gettingstarted]: http://unikraft.org/docs/getting-started\n[unikraft-concepts]: https://unikraft.org/docs/concepts/\n[unikraft-posix-compatibility]: https://unikraft.org/docs/features/posix-compatibility\n[unikraft-performance]: https://unikraft.org/docs/features/performance/\n[unikraft-security]: https://unikraft.org/docs/features/security/\n[unikraft-security-features]: https://unikraft.org/docs/concepts/security#unikraft-security-features\n[unikraft-green]: https://unikraft.org/docs/features/green/\n[unikraft-discord]: https://bit.ly/UnikraftDiscord\n[unikraft-cli-install]: https://unikraft.org/docs/cli/install\n[unikraft-catalog]: https://github.com/unikraft/catalog\n[unikraft-catalog-examples]: https://github.com/unikraft/catalog/tree/main/examples\n[unikraft-guides-advanced]: https://unikraft.org/guides/internals\n[unikraft-kraftfile-syntax]: https://unikraft.org/docs/cli/reference/kraftfile/latest\n[github-codespaces-catalog]: https://codespaces.new/unikraft/catalog\n[kraft]: https://github.com/unikraft/kraftkit\n","funding_links":[],"categories":["C","By Industry","C/C++ 程序设计","[🔓 security](https://github.com/stars/ketsapiwiq/lists/unlock-security)","Open Source Operating Systems","cloud"],"sub_categories":["DevOps","网络服务_其他"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funikraft%2Funikraft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funikraft%2Funikraft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funikraft%2Funikraft/lists"}