Monasca REST API
Go to file
Deklan Dieterly 9160e13ba9 Update README.md
Move build instructions to mon-common module.
2014-06-11 14:08:13 -06:00
docs More updates 2014-05-08 20:50:06 -06:00
src Add region configuration and use region as meta for all posted metrics. 2014-06-02 13:52:27 -07:00
.gitignore remove log folder 2014-05-12 09:39:52 -07:00
LICENSE Added license file 2014-05-01 16:22:11 -07:00
pom.xml Changes so it will use mon-common from the local snapshot. Change URLs to github 2014-06-01 08:48:31 -06:00
README.md Update README.md 2014-06-11 14:08:13 -06:00

Overview

mon-api is a RESTful API server that is designed with a layered architecture layered architecture.

Build

Requires mon-common from https://github.com/hpcloud-mon/mon-common. Download and do mvn install

mvn clean install

Usage

java -jar target/mon-api.jar server config-file.yml

Design Overview

Architectural layers

Requests flow through the following architectural layers from top to bottom:

  • Resource
    • Serves as the entrypoint into the service.
    • Responsible for handling web service requests, and performing structural request validation.
  • Application
    • Responsible for providing application level implementations for specific use cases.
  • Domain
    • Contains the technology agnostic core domain model and domain service definitions.
    • Responsible for upholding invariants and defining state transitions.
  • Infrastructure
    • Contains technology specific implementations of domain services.

Documentation

There are several forms of documentation for the Monitoring API.

  • Overview: /docs/mon-api-overview.md. This describes some of the concepts in the Monitoring API.

  • API Specification: /docs/mon-api-spec.md. This is the RESTful API specification.

  • swagger-ui: When running mon-api the API docs along with the API test interface can be accessed at, http://localhost:8080/swagger-ui/. Note: the trailing "/" is necessary for the Swagger UI to work properly. Currently, this is the best way to review the specification.

License

Copyright (c) 2014 Hewlett-Packard Development Company, L.P.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.