provisioning-service

command
v0.0.0-...-cbea63e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 4, 2021 License: Apache-2.0, MIT Imports: 7 Imported by: 0

README

Provisioning service

Kernel service which provides a classic SCRUD interface (minus Update) for all running services in this environment (and functionality to ensure this matches what is actually running - starting/stopping services as required)

Interface

  • com.hailocab.kernel.provision.search (search for provisions which match a given name and/or running on this class of machine)
  • com.hailocab.kernel.provision.create (create a new provision)
  • com.hailocab.kernel.provision.read (read an existing provision)
  • com.hailocab.kernel.provision.delete (delete an exisitng provision)

There's no update endpoint because users just bring services up and down, they don't modify any of the fields.

Inner workings

This service will:

  • start services
  • stop services
  • ensure services running match what are supposed to be running
DB

We will store a provisioned_service record for every service which is running in Cassandra.

Each record will be an immutable record of a provision that is running, and will include:

  • service_name (fully qualified service name, eg: com.hailocab.kernel.discovery)
  • service_version (actually a date, eg: 20130618183200)
  • machine_class (the class of machine the service should be running on)

Setup

  • go get github.com/hailo-platform/H2O/goprotobuf/{proto,protoc-gen-go}
  • go get "github.com/pomack/thrift4go/lib/go/src/thrift"
  • cat create.cql | cqlsh -3

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL