All Projects → nanovms → Ops

nanovms / Ops

Licence: mit
ops - build and run nanos unikernels

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Ops

Nanos
A kernel designed to run one and only one application in a virtualized environment
Stars: ✭ 557 (+0.91%)
Mutual labels:  microservice, operating-systems, unikernel, sandbox, virtualization
Firecracker
Secure and fast microVMs for serverless computing.
Stars: ✭ 16,826 (+2948.19%)
Mutual labels:  serverless, sandbox, minimalist, virtualization
Kong
🦍 The Cloud-Native API Gateway
Stars: ✭ 30,838 (+5486.59%)
Mutual labels:  microservice, serverless, devops
ops-examples
A repository of basic and advanced examples using Ops
Stars: ✭ 68 (-87.68%)
Mutual labels:  sandbox, unikernel, operating-systems
Aegis
Serverless Golang deploy tool and framework for AWS Lambda
Stars: ✭ 277 (-49.82%)
Mutual labels:  microservice, serverless, devops
Rusty Hermit
RustyHermit - A Rust-based, lightweight unikernel
Stars: ✭ 268 (-51.45%)
Mutual labels:  operating-systems, unikernel, virtualization
Microless
Using docker and nodejs to build Microservice
Stars: ✭ 14 (-97.46%)
Mutual labels:  microservice, serverless, devops
Wasm3
🚀 The fastest WebAssembly interpreter, and the most universal runtime
Stars: ✭ 4,375 (+692.57%)
Mutual labels:  serverless, edge-computing, sandbox
Anatomy-of-System-Engineering
System Engineering Memory Map
Stars: ✭ 17 (-96.92%)
Mutual labels:  virtualization, operating-systems
Youtube Videos
Documentation for Techno Tim YouTube Videos
Stars: ✭ 250 (-54.71%)
Mutual labels:  devops, virtualization
Simpleator
Simpleator ("Simple-ator") is an innovative Windows-centric x64 user-mode application emulator that leverages several new features that were added in Windows 10 Spring Update (1803), also called "Redstone 4", with additional improvements that were made in Windows 10 October Update (1809), aka "Redstone 5".
Stars: ✭ 260 (-52.9%)
Mutual labels:  operating-systems, virtualization
Tools
Combination of different utilities, have fun!
Stars: ✭ 166 (-69.93%)
Mutual labels:  sandbox, virtualization
Mongoke
Instant Graphql for MongoDb (active branch is golang, rewrite in process)
Stars: ✭ 203 (-63.22%)
Mutual labels:  microservice, serverless
Aws To Slack
Forward AWS CloudWatch Alarms and other notifications from Amazon SNS to Slack.
Stars: ✭ 261 (-52.72%)
Mutual labels:  serverless, devops
Yomo
🦖 Streaming-Serverless Framework for Low-latency Edge Computing applications, running atop QUIC protocol, engaging 5G technology.
Stars: ✭ 279 (-49.46%)
Mutual labels:  serverless, edge-computing
Event Stream Processing Microservices
Using Spring Cloud Stream and Spring State Machine to create event-driven microservices
Stars: ✭ 255 (-53.8%)
Mutual labels:  microservice, serverless
Helloworld Msa
Main repository with documentation and support files
Stars: ✭ 218 (-60.51%)
Mutual labels:  microservice, devops
Threatmapper
Identify vulnerabilities in running containers, images, hosts and repositories
Stars: ✭ 361 (-34.6%)
Mutual labels:  serverless, devops
Apioak
Full Lifecycle Management API Gateway.
Stars: ✭ 335 (-39.31%)
Mutual labels:  microservice, serverless
Midway Faas
🔱 A simple and lightweight serverless framework
Stars: ✭ 363 (-34.24%)
Mutual labels:  microservice, serverless

OPS

CircleCI Go Report

Ops is a tool for creating and running a Nanos unikernel. It is used to package, create and run your application as a nanos unikernel instance.

Check out the DOCS

Installation

Most users should just download the binary from the website:

Binary install

curl https://ops.city/get.sh -sSfL | sh

Build and Install from source

Building from source is easy if you have used Go before.

This program requires GO Version 1.13.x or greater.

Installing from source follows these general steps:

Install dependencies:

make deps

Build:

make build

osx notes:

GO111MODULE=on go build -ldflags "-w"

For detailed instructions please consult the documentation.

Basic usage examples

Before learning more about ops it is a good idea to see some basic usage examples. Below are links to simple examples using various programming platforms:

Let's run your first unikernel right now.

asciicast

Throw this into hi.js:

var http = require('http');
http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(8083, "0.0.0.0");
console.log('Server running at http://127.0.0.1:8083/');

Then you can run it like so:

ops pkg load node_v11.5.0 -p 8083 -f -n -a hi.js

Want to push your app out to the cloud?

For Google: https://nanovms.gitbook.io/ops/google_cloud

For AWS: https://nanovms.gitbook.io/ops/aws

Languages:

Applications:

  • Nginx
  • HAProxy
  • Tarantool
  • Hiawatha
  • Mosquitto
  • Kache
  • Gnatsd
  • Wasmer

You can always find more pre-made packages via:

ops pkg list

Build a bootable image

ops build <app>

Package and run

ops run <app>
# or
ops run -p <port> <app>

Using a config file

ops run -p <port> -c <file> <app>

Example config file

ops config files are plain JSON, below is an example

{
  "Args":["one","two"],
  "Dirs":["myapp/static"]
}

Setup networking

New users wishing to play around in a dev environment are encouraged to use the default user-mode networking. Other production users are encouraged to utilize native cloud builds such as Google Cloud which handle networking for you.

Only advanced/power users should use the bridge networking option.

Reporting Bugs

Feel free to open up a pull request. It's helpful to have your OPS version and the release channel you are using.

Also - if it doesn't work on the main release you can try the nightly - the main release can tail the nightly by many weeks sometimes.

ops version

get the release channel (or nightly)

ls .ops/

if using a package get the package hash:

cat .ops/packages/manifest.json| jq '."gnatsd_1.4.1"'

Pull Requests

If you have an idea for a new feature and it might take longer than a few hours or days to do it's worth opening a feature request tkt to ideate it first before jumping into code. There might be someone already working on the feature or plans to do something entirely different.

Security

Security

Feel free to email security at.

Support

If you are having trouble running a particular application please feel free to open an issue and we can take a look. In general we'll only want to support the latest release from a given application/project, however if you really want/need support for something older there are paid support plans available - contact the folks at https://nanovms.com .

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].