OPS
lima
OPS | lima | |
---|---|---|
11 | 106 | |
1,203 | 13,972 | |
1.2% | 1.0% | |
8.7 | 9.7 | |
7 days ago | 7 days ago | |
Go | Go | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
OPS
-
Nanos – A Unikernel
I am a bit confused, there are three sites:
* https://nanos.org/
* https://nanovms.com/
* https://ops.city/
And I am not sure what "thing" I am using. Is there some disambiguation? I know is OPS is the orchestration CLI, but I am confused at the difference between Nanos and NanoVMs. What should I call the section of my README that deals with this tech? Currently gone with Nanos/OPS but I am confused.
-
AsmBB – a lightweight web forum engine written in assembly language
Sorry - just now seeing this.
We don't have any $7/unikernel offerings out there at all. We do have a desktop app that costs $7.
As for your other comment - one of the really awesome things about unikernels is that you don't have to roll your own infrastructure.
The way these are made is that all the infrastructure management is pushed onto the cloud of choice.
I'd highly encourage you to if you haven't to download https://ops.city and try to deploy something to GCP or AWS or wherever - it's free and would answer a lot of questions/assumptions you might have.
-
Gokrazy – Go Appliances
I've been looking at a few.
https://github.com/cloudius-systems/osv
https://ops.city/ (also nanovms) - this is one that I actually got working to at least demo state
-
Kolibri OS: fits on a floppy disk, programmed using interrupts
I work with https://nanos.org && https://ops.city - we can run thousands of these on commodity hardware.
-
Ask HN: Best Way to Harden a Server?
Might be a rhetorical question but are you on the cloud?
If so what language, apps are you running? I'd encourage you to take a look at https://ops.city && see if that is something that would work well for your use-case. It effectively turns your application into a server with no ability to run other programs on it and doesn't even have the notion of users or the ability to ssh in. The auditing requirements you are looking for go way down too as most of the things like "open a port", "log when rm -rf ~/.bash_history", or things like that simply don't happen. We actually measured the security controls from the the STIGs that are referenced in the other post and were seeing up to 70% reduction in them when deploying like this versus a deb/ubuntu instance, not to mention you don't have a half-dozen different interpreters, tens of users, thousands of shared libraries, etc.
Happy to answer any questions as I'm one of the authors/maintainers.
-
Running Postgres as a Unikernel
Definitely agree with the top part, however, I should note that, ops, the tool's, whole existence is to create disk images and upload them to any cloud, any hypervisor.
In particular, both https://ops.city && https://nanos.org are Go unikernels running on GCP and their deploys take just a few seconds to push out. AWS can be even faster cause we skip the s3 upload part. We also have lots of people using Azure which would be utilizing vhdx.
-
Apple Virtualization Framework
Translating x86 -> arm or vice-versa is always going to be slow. No amount of software will ever overcome that. If you are using arm you really need to embrace it. Running x86 on arm is only a hack - whether it's apple or some random github - it will only ever be a hack. It is one thing to dev on arm and deploy to x86 but expecting x86 to perform remotely close to the same exp on arm isn't something that's going to happen.
Having said that..
If you really want to run x86 images on arm, and while we're definitely not 1:1 with docker (and don't want to be) we're interested in people's experiences with https://ops.city as there is native hardware accelerated arm support and x86 on arm. (I'm with the company behind it.) It's definitely going to be more performant than a docker image since docker/k8s not only rely on a full blown linux but also abuse iptables, et al. It also has support for bridging (outside of the vm) and 9pfs so that would help alleviate your pain.
-
Applications available in unikernels?
I'm with that organization that works on https://nanos.org and https://ops.city . If you aren't a software engineer but still would like to use unikernels you're in luck - we also have a package repository at https://repo.ops.city/ (running as a go unikernel on GCP) that will allow you to run and deploy pre-made applications. If you don't see something that you'd like to us there's also a way of importing docker containers into unikernels via ops which works for most (but not all) applications.
-
Unikernels: The Next Stage of Linux's Dominance
For instance the filesystems have no permissions because there are no users because it is only running one process. Linux is ~30M LOC and half of that is drivers. When you deploy to a cloud you only really need a handful of drivers - something to talk to the disk, the network, a clock, etc. That's very different than deploying to bare metal servers where you have hundreds of different nics, usb, disk drives, etc. .... but it goes a lot further than that. The CFS scheduler and others are written specifically with the intention that the operating system is going to have to manage tens or hundreds of applications with tens of users. If you go to AWS and boot up a linux instance you'll find around a hundred programs running without you installing anything - even if it is on a vm with only one thread. Multiple processes which unikernels eschew come with a ton of baggage. Shared memory, IPC calls, scheduling, permissions, etc. We used to get questions asking why we didn't just make patches to linux (which this paper argues for btw) and the answer is simple - doing so is actually more work and harder to deal with than just writing a new unikernel specific kernel from scratch which is what we did. Might be worth pointing out that I've worked at a unikernel company for the past 5 years that is in charge of the open source https://nanos.org and https://ops.city toolchains.
-
Nanos: A kernel designed to run one and only one application
You an also build from source here: https://github.com/nanovms/nanos && https://github.com/nanovms/ops .
There are also packages available through AUR/homebrew and the like: https://ops.city/downloads .
The script is only there facilitate the 'install' such as ensuring you have qemu installed locally or assessing whether you have kvm/hvf rights/etc.
Also, I don't think this is documented yet but you can target various PRs/builds with ops via this way:
ops run /bin/ls --nanos-version d632de2
lima
-
Colima k8s nix setup
You can run a virtual machine (e.g. lima) from inside a nix-shell, exactly as you would do with a regular shell.
-
Ask HN: Startup Devs -What's your biggest pain while managing cloud deployments?
for others similarly curious, here's an example of the thing: https://github.com/noop-inc/template-java-spring-boot/blob/m...
they seem to be using the excellent lima <https://github.com/lima-vm/lima#readme> for booting on macOS; I run colima for its containerd and k8s support but strongly recommend both projects $(brew install lima colima)
- macOS 14.4 causes JVM crashes
- Lima launches Linux virtual machines for macOS
-
Simulate an Ubuntu-like VM inside macOS
Lima is what I use as well. It's quick and easy to just fire up a VM with default settings, but also very easy to configure with different file sharing options, port forwarding, different linux distributions, etc. (their examples are also pretty good IMO [1]).
In particular I use it to run an amd64 VM, which I need to run a stubborn service for work that doesn't run on arm CPUs.
[1] https://github.com/lima-vm/lima/tree/master/examples
-
Why are Apple Silicon VMs so different?
Lima (1) is a project that packages Linux distros for MacOS and executes them via qemu in the backend. Maybe you could solve your problem by launching one of their vms and inspecting the command line it generates. You might find an option you were missing.
(1) https://github.com/lima-vm/lima
-
The beginning of my eBPF Journey - Kprobe Adventures with BCC
If you wish to delve into all the configuration possibilities for Lima VM, you can visit this resource.
-
UTM – Virtual Machines for iOS and macOS
I'd say Lima and Colima should be enough for most use cases:
https://lima-vm.io/
https://github.com/abiosoft/colima
-
Lima: Linux Virtual Machines on macOS
Github: https://github.com/lima-vm/lima
Lima wraps QEMU in a simple CLI, with neat features for container users, such as filesystem sharing and automatic localhost port forwarding, as well as DNS and proxy propagation for enterprise networks. Rancher Desktop wraps Lima with k3s integration and GUI.
Talks: https://github.com/lima-vm/lima/blob/master/docs/talks.md
- FLaNK Stack Weekly for 17 July 2023
What are some alternatives?
nanos - A kernel designed to run one and only one application in a virtualized environment
colima - Container runtimes on macOS (and Linux) with minimal setup
elvish - Powerful scripting language & Versatile interactive shell
multipass - Multipass orchestrates virtual Ubuntu instances
mitchellh/cli - A Go library for implementing command-line interfaces.
podman - Podman: A tool for managing OCI containers and pods.
Dnote - A simple command line notebook for programmers
Docker-OSX - Run macOS VM in a Docker! Run near native OSX-KVM in Docker! X11 Forwarding! CI/CD for OS X Security Research! Docker mac Containers.
flag - Flag is a simple but powerful command line option parsing library for Go support infinite level subcommand
UTM - Virtual machines for iOS and macOS
cobra - A Commander for modern Go CLI interactions
minikube - Run Kubernetes locally