mitchellh/cli
OPS
Our great sponsors
mitchellh/cli | OPS | |
---|---|---|
8 | 11 | |
1,718 | 1,188 | |
- | 2.9% | |
0.0 | 8.7 | |
4 months ago | 3 days ago | |
Go | Go | |
Mozilla Public License 2.0 | MIT License |
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.
mitchellh/cli
-
Any opinionated tool / framework for creating binary CLI tools?
Golang with https://github.com/mitchellh/cli.
-
Golang - Writing CLI App in Golang with Cobra
There are alternatives available for Cobra as well i.e. mitchellh/cli, go-flags, urfave/cli etc.
-
Go tools with CLI client which interfaces with a REST API
I use https://github.com/mitchellh/cli Its used in Terraform.
-
Which Go frameworks are recommended to assist with the creation of console based UI and GUI?
Actually I use https://github.com/mitchellh/cli to create a cli for a larger project. I like it because its small and easy to use. This lib is used in terraform. So its mature and reliable enough for me :-)
- may I ask for a code-review on a tool I wrote that lets you cast YouTube videos to your smart TV from command-line?
-
Requesting guidance
- https://github.com/mitchellh/cli
OPS
-
Nanos – A Unikernel
I am a bit confused, there are three sites:
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.
-
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
-
OSv Unikernel – Optimizing Guest OS to Run Stateless and Serverless Apps
This isn't true.
Both https://nanos.org and https://ops.city are Go unikernels running on Google Cloud. (I'm with NanoVMs that is the maintainer of these projects.)
What are some alternatives?
cobra - A Commander for modern Go CLI interactions
urfave/cli - A simple, fast, and fun package for building command line apps in Go
go-flags - go command line option parser
readline - Readline is a pure go(golang) implementation for GNU-Readline kind library
nanos - A kernel designed to run one and only one application in a virtualized environment
cli - CLI - A package for building command line app with go
cmdr - POSIX-compliant command-line UI (CLI) parser and Hierarchical-configuration operations
mow.cli - A versatile library for building CLI applications in Go
elvish - Powerful scripting language & Versatile interactive shell
flag - Flag is a simple but powerful command line option parsing library for Go support infinite level subcommand
Dnote - A simple command line notebook for programmers
calories - Calories Tracker for the Commandline