OPS

ops -- 构建和运行 nanos unikernels。「ops - build and run nanos unikernels」

Github星跟踪图

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 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 .

主要指标

概览
名称与所有者nanovms/ops
主编程语言Go
编程语言Makefile (语言数: 3)
平台Linux, Mac, Amazon AWS, Google Cloud Platform, Microsoft Azure, OpenStack, Digital Ocean, Vultr
许可证MIT License
所有者活动
创建于2018-09-10 17:57:47
推送于2025-04-17 00:24:38
最后一次提交2025-04-16 17:24:31
发布数39
最新版本名称0.1.43 (发布于 )
第一版名称0.2 (发布于 )
用户参与
星数1.3k
关注者数27
派生数135
提交数1.4k
已启用问题?
问题数732
打开的问题数138
拉请求数881
打开的拉请求数3
关闭的拉请求数58
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?