Conch API

Logo

Datacenter build and management service

View the Project on GitHub joyent/conch-api

Introduction

This documentation is for Conch API version 3.0. For previous versions, see here.

The Conch ecosystem is designed to make the deployment of new server hardware easier, specifically targetting equipment to be used in the Joyent SmartDatacenter product line.

Conch has two major backend systems.

First, edge software boots new hardware, upgrades firmware, performs burn-in testing, and gathers the general state of the hardware. (This software is currently closed source.)

Second, this edge data is fed into the Conch API (this codebase) where the data is processed, validated, stored, and reported upon.

The Ecosystem

Development

Our development process is documented over here.

Routes / URLs

Unless otherwise specified, all routes require authentication: a user must POST /login first, and then use the provided JSON Web Token for subsequent requests.

Full access is granted to system admin users; otherwise, access restrictions are as noted.

The majority of our endpoints consume and respond with JSON documents that conform to a set of JSON schema. These schema can be found in the json-schema directory in the main repository, as well as on this documentation site.

Successful (HTTP 2xx code) response structures are as described for each endpoint; potential error (HTTP 4xx) responses are also listed, as well as the normal errors common across all endpoints, as noted below:

Available top-level routes are:

Features

The Conch API has many features to make it a fully-functional and robust REST application.

Database schemas

The full database schema: full schema.

Database tables relevant to user roles: roles schema.

Database tables relevant to device data: devices schema.

Database tables relevant to datacenters and device locations: device-locations schema.

Database tables relevant to device validations: validations schema.

Modules

Individual module documentation can be found here.

Script documentation can be found here.

JSON Schema defining request and response payloads can be found here.

Copyright / License

Copyright Joyent, Inc.

This Source Code Form is subject to the terms of the Mozilla Public License, v.2.0. If a copy of the MPL was not distributed with this file, you can obtain one at https://www.mozilla.org/en-US/MPL/2.0/.