From 2b55f14b0dd578f58fef18edb45e9eb3c1038233 Mon Sep 17 00:00:00 2001 From: Serg Melikyan Date: Thu, 4 Apr 2013 16:35:35 +0400 Subject: [PATCH] Main Documentation Project --- manuals/.gitignore | 9 ++ manuals/README.rst | 7 + manuals/pom.xml | 38 ++++++ .../docbkx/figures/architecture_diagram.png | Bin 0 -> 29412 bytes manuals/src/docbkx/keero-manual.xml | 122 ++++++++++++++++++ 5 files changed, 176 insertions(+) create mode 100644 manuals/.gitignore create mode 100644 manuals/README.rst create mode 100644 manuals/pom.xml create mode 100755 manuals/src/docbkx/figures/architecture_diagram.png create mode 100644 manuals/src/docbkx/keero-manual.xml diff --git a/manuals/.gitignore b/manuals/.gitignore new file mode 100644 index 0000000..c4c2ae4 --- /dev/null +++ b/manuals/.gitignore @@ -0,0 +1,9 @@ +#IntelJ Idea +.idea/ + +#Build results +target + +#Translation build +*.mo +*.pot diff --git a/manuals/README.rst b/manuals/README.rst new file mode 100644 index 0000000..a2a0ba8 --- /dev/null +++ b/manuals/README.rst @@ -0,0 +1,7 @@ +README +====== +To build the output, install Apache Maven (https://maven.apache.org/) and then run:: + + mvn clean generate-sources + +in the directory containing the pom.xml file. diff --git a/manuals/pom.xml b/manuals/pom.xml new file mode 100644 index 0000000..3a6b6f7 --- /dev/null +++ b/manuals/pom.xml @@ -0,0 +1,38 @@ + + 4.0.0 + com.mirantis.keero + manuals + 1.0.0-SNAPSHOT + jar + Keero Project Documentation + + + + + com.agilejava.docbkx + docbkx-maven-plugin + + + + generate-pdf + generate-webhelp + + generate-sources + + + + true + 100 + + + + + + + + + + + + + diff --git a/manuals/src/docbkx/figures/architecture_diagram.png b/manuals/src/docbkx/figures/architecture_diagram.png new file mode 100755 index 0000000000000000000000000000000000000000..fe2f631c101328e9986ddbe812e12b14ed19caf1 GIT binary patch literal 29412 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 O2bWcqDTKZH_ + Keero Project Documentation + + + + + + + + Mirantis, Inc. + + + + 2013 + Mirantis, Inc. + + v0.1 + Keero™ + 2013-04-04 + + + Copyright details are filled in by the template. Change the value of the role + attribute on the legalnotice element to change the license. + + + + This document is intended for individuals who wish to configure + and use our product or intend to contribute. + + + + this is a placeholder for the front cover + + + this is a placeholder for the back cover + + + + Overview + Welcome to Keero Project. + +
+ Intended Audience + This guide is intended to individuals who want to contribute to our + project. + +
+
+ Document Change History + This version of the Maven Getting Started Guide replaces and obsoletes all previous versions. The + most recent changes are described in the table below: + + + + Revision Date + Summary of Changes + + + + + April. 4, 2013 + + + + Initial document creation. + + + + + + +
+
+ Additional Resources + + + + + Mirantis - Cloud Software + + + + +
+
+ + Architecture +
+ Architecture + + + + + + + + +
+ + The Keero architecture has the following components: + + + Keero Dashboard - UI for the Keero, extends Horizon + + + REST API - exposes Keero API via REST. Maintains environment configurations in Database + + + Keero Python Client - Python client for Keero REST API + + + Orchestration Engine - builds the environment as configured by the user. Turns environment configurations into a Heat templates for VM provision and Keero Agent commands for service deployment + + + Keero Agent - built into Windows Server VM images. Executes commands sent by Orchestration Engine + + + +
+