• Stars
    star
    2,678
  • Rank 17,063 (Top 0.4 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Unikernel & MicroVM Compilation and Deployment Platform

Build and run unikernels

A platform for automating unikernel & MicroVM compilation and deployment


UniK (pronounced you-neek) is a tool for compiling application sources into unikernels (lightweight bootable disk images) and MicroVM rather than binaries.

UniK runs and manages instances of compiled images across a variety of cloud providers as well as locally.

UniK utilizes a simple docker-like command line interface, making building unikernels and MicroVM as easy as building containers.

UniK is built to be easily extensible, allowing (and encouraging) adding support for unikernel/MicroVM compilers and cloud providers. See architecture for a better understanding of UniK's pluggable code design.

To learn more about the motivation behind project UniK, read our blog post, or watch session (Slides). We also encourage you to read this blog about IoT Security.

To stay up-to-date on UniK, follow us at twitter and join us on our slack channel.


Changelog:

Due to the frequency with which features and patches are applied to UniK, we have decided to list these changes by date in our unversioned changelog.


Documentation


Supported unikernel types:

  • Firecracker: UniK supports compiling GO code into Firecracker MicroVMs
  • rump: UniK supports compiling Python, Node.js and Go code into rumprun unikernels
  • OSv: UniK supports compiling Java, Node.js, C and C++ code into OSv unikernels
  • IncludeOS: UniK supports compiling C++ code into IncludeOS unikernels
  • MirageOS: UniK supports compiling OCaml, code into MirageOS unikernels

We are looking for community help to add support for more unikernel types and languages.

Supported providers:

Roadmap:

  • extend unik to build & deploy Kata Containers
  • extend unik to build & deploy FreeRTOS
  • extend unik to build & deploy LinuxKit
  • dynamic volume and application arguments configuration at instance runtime (rather than at compile time)
  • expanding test coverage
  • better code documentation
  • multi-account support per provider (i.e. multiple AWS accounts/regions, etc.)
  • migrate from martini to echo

UniK is still experimental! APIs and compatibility are subject to change. We are looking for community support to help identify potential bugs and compatibility issues. Please open a Github issue for any problems you may experience, and join us on our slack channel


Thanks

UniK would not be possible without the valuable open-source work of projects in the unikernel community. We would like to extend a special thank-you to Firecracker, rumprun, deferpanic, cloudius systems, mirageos and includeOS.

More Repositories

1

gloo

The Feature-rich, Kubernetes-native, Next-Generation API Gateway Built on Envoy
Go
3,822
star
2

squash

The debugger for microservices
Go
1,716
star
3

bumblebee

Get eBPF programs running from the cloud to the kernel in 1 line of bash
C
1,256
star
4

sqoop

The GraphQL Engine powered by Gloo
Go
529
star
5

packer-plugin-arm-image

Packer plugin for ARM images
Go
390
star
6

wasm

Web Assembly tools and SDKs for extending cloud-native infrastructure
Go
305
star
7

kubesquash

A debugger for Kubernetes applications.
Go
229
star
8

envoy-operator

Envoy Operator creates/configures/manages Envoy clusters atop Kubernetes
Go
154
star
9

workshops

Shell
126
star
10

go-utils

golang utilities
Go
112
star
11

autopilot

The Service Mesh SDK
Go
104
star
12

hoot

code from hoot episodes
Go
104
star
13

proxy-runtime

TypeScript
86
star
14

protoc-gen-openapi

Compile Google protobufs to openAPI v3 specs
Go
71
star
15

solo-kit

Toolkit for developing stateless, event-driven, declarative API systems
Go
69
star
16

gloo-connect

The Consul-Native Service Mesh
Go
64
star
17

glooshot

Chaos engineering framework to help you Immunize your service mesh
Go
52
star
18

gitops-library

gitops examples using argocd, helm, and yaml
Smarty
31
star
19

envoy-nats-streaming

C++
29
star
20

wasm-image-spec

wasm oci image specification
25
star
21

envoy-gloo

C++
25
star
22

squash-vscode

Debug your microservices application from VS Code
TypeScript
23
star
23

thetool

The tool to build the Gloo universe
Go
20
star
24

skv2

Solo-Kit V2 - Solo.io Operator Framework
Go
20
star
25

glooctl

glooctl - CLI for gloo
Go
18
star
26

solo-cop

Solo Communities of Practice
Shell
16
star
27

mesh-week

A week of Istio goodness (with focus for the exam).
16
star
28

service-mesh-extensions

A public registry of all service mesh extensions and other content for the Service Mesh Hub.
Go
14
star
29

squash-intellij

Debug your microservices application from IntelliJ IDEA
Java
14
star
30

envoy-workshop-basics

Envoy basics workshop
Python
12
star
31

kdiag

Go
11
star
32

aoa-catalog

A collection of Solo.io demo environments driven by GitOps using the ArgoCD app-of-apps pattern.
Shell
11
star
33

envoy-cves

Go
11
star
34

envoy-wasm-filters

repo containing solo.io envoy wasm filters
C++
10
star
35

unik-hub

code for UniK Hub backend
Go
10
star
36

envoy-consul-connect

Envoy Filter for Consul Connect
C++
9
star
37

cf-unik-buildpack

CloudFoundry Buildpack for Building & Running Unikernels
Go
9
star
38

ext-auth-plugin-examples

Contains example Ext Auth plugin implementations.
Go
8
star
39

ambient-performance

Shell
8
star
40

gloo-ref-arch

Reference architectures, examples, and demos for Gloo
Go
8
star
41

envoy-lambda

Envoy with AWS lambda support
C++
8
star
42

capstan

Go
7
star
43

anyvendor

An all purpose tool to make working with protoc easier
Go
6
star
44

protoc-gen-ext

protc-gen tools for solo-io
Go
6
star
45

solo-apis

Read-only mirror for solo.io API definitions.
6
star
46

gloo-plugins

Repository of Translator Plugins for Gloo
Go
6
star
47

gloo-mesh-use-cases

Community of Practice dedicated to creating collateral on Gloo Mesh use cases
Shell
5
star
48

dev-portal-starter

This is a demo project, to be used with Gloo Platform API Portals. It may be used as a standalone API dev portal interface, or as a template.
TypeScript
4
star
49

k8s-utils

Go
4
star
50

gloo-ingress-controller

Gloo's Kubernetes Ingress Controller
Go
4
star
51

solo-docs

Repo containing consolidated docs for Gloo community and enterprise editions
Go
4
star
52

demo-petclinic-vet

Go version of vets page of pet clinic demo
Go
4
star
53

kubecontroller

Provides a convenience method for creating Kubernetes resource controllers
Go
4
star
54

envoy-google-function

envoy plugin to integrate with Google cloud functions
C++
4
star
55

gloo-gitops

3
star
56

valet

Valet helps automate kubernetes workflows in golang tests, command line scripts, and documentation
Go
3
star
57

envoy-transformation

C++
3
star
58

service-mesh-for-less-blog

Shell
3
star
59

envoy-azure-functions

C++
2
star
60

cake

i love cake
Go
2
star
61

grpc-example-app

Sample Apps for testing/demoing gRPC
Go
2
star
62

envoy-common

C++
2
star
63

training

Shell
2
star
64

external-apis

generated code for interacting with external APIs (kubernetes, Istio, etc). shared across solo.io projects
Go
2
star
65

vscode-gloo

The developer tools for Gloo
TypeScript
2
star
66

backstage-plugins-overview

This includes the documentation for the Backstage plugin: Gloo Portal.
2
star
67

gloo-k8s-service-discovery

Discovers Upstreams from Kubernetes Services
Go
2
star
68

bumblebee-website

TypeScript
2
star
69

demos-gloo

Shell
2
star
70

homebrew-tap

This is the homebrew tap for installing the command line clients for Solo.io
Ruby
1
star
71

supergloo-helm

Helm Charts for use with SuperGloo
Smarty
1
star
72

sample-gateway-manager

An example Gateway API implementation
Go
1
star
73

platform-portal-backstage-plugin-frontend

A Backstage frontend plugin for Gloo Platform Portal. View APIs and manage usage plans from the Backstage UI.
TypeScript
1
star
74

gloo-sdk-go

gloo SDK written in Go
Go
1
star
75

asdf-istio

asdf-vm plugin for istio
Shell
1
star
76

gloo-secret

Client library to abstract secret storage
Go
1
star
77

envoy-squash

plugin for squash inside envoy
C++
1
star
78

graphql-gloo-gateway-demo

Shell
1
star
79

k8s-code-generator

A fork of https://github.com/kubernetes/code-generator compatible with Solo-Kit
Go
1
star
80

solo-blog

solo.io/blog resources
Shell
1
star
81

solo-blog-knative-istio

1
star
82

demo-echo-server

Go
1
star
83

gloo-install

Scripts and Resources for installing gloo
Smarty
1
star
84

ext-auth-plugins

Public interfaces for external auth services and plugins
Go
1
star
85

gloo-function-discovery

Function Discovery for Gloo
Go
1
star
86

gloo-edge-use-cases

Shell
1
star
87

gloo-portal-issues

Public tracker for issues related to Gloo Portal
1
star
88

glooctl-plugin-index

Index for glooctl plugins
1
star
89

community

Community contents related to Solo open source community projects
1
star
90

doing-more-for-less

Scripts and data for performance testing.
Shell
1
star
91

smerf

Tools for testing the performance of service mesh implementations
Shell
1
star
92

qcon-ambient

Shell
1
star