Neco is a collection of tools to build and maintain large data center infrastructure. It is used in cybozu.com, the top B2B groupware service in Japan.
Project Status: Perpetual beta.
Neco adopts network booting to manage thousands of servers efficiently. The center of Neco is therefore a few netboot servers.
neco-ubuntu creates a custom Ubuntu installer to setup netboot servers.
neco is a deploy automation tool written in Go.
It installs and updates miscellaneous utilities in boot servers.
neco-updater is a background service to detect new releases of
When detected, it sends the update information to
neco-worker through etcd.
Neco itself is released as a Debian package in releases.
neco-worker is an automate maintenance service. It installs/updates
neco package, applications,
and sabakan contents when receives information from
neco-updater through etcd.
generate-artifacts is a command-line tool to generate
artifacts.go which is a collection of latest components.
dctest directory contains test suites to run integration tests in a virtual data center environment.
CI/CD in Neco is running by CircleCI.
neco-updater service is updated automatically.
Run unit tests at local machine
First, start up etcd server manually.
$ make start-etcd
go test on another terminal.
$ go test -v -count=1 -race -mod=vendor ./...
gcp directory contains utilities for provisioning the Google Compute Engine services for Neco project. Test suite, and other Neco github projects deploy GCE instance based on an image created by this tool.
git-neco is a git extension utility to help Neco developers.
docs directory contains documents about designs and specifications.