Parent: [ef9977] (diff)

Child: [ce2e96] (diff)

Download this file

README.adoc    145 lines (96 with data), 3.9 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
:ecloud: pass:q[*_ECloud_*]

= Toolbox

== Intro

This folder provides several tools required for developing and facilitating
the development of ECloud components.

== Requirements

In order to use those tools the following software has to be installed in your
working machine (Ubuntu 16.04 highly recommended):

* Docker (version 1.10.3)
* Nodejs (version 4.3.2)
* CoffeeScript

In the *Quick Start Guide* you have information about how to install those
requirements. 

== Installing tool dependencies

Once the requirements have been installed you can proceed with the installation
of the tools. For doing so, you have to execute:

_Execute_:

  ./install-dependencies.sh

You can check in the dependencies-installation.log file information about this
procedure.

== Manifest validator

The `manifest-validator` tool checks the correctness (from a *syntactic* point
of view) of your manifest files.  

=== manifest-validator.sh

This validator checks if a set of `JSON` manifest file fulfills the {ecloud} manifest
specification. More specifically, it checks that is *syntactically* correct.

As argument you have to pass the path to the folder where are located the manifest files.
Those manifests have to be named `Manifest.json`. The script processess folders recursively
from the root folder path you pass.

_Usage_:

 ./manifest-validator.sh <list of paths to root folder with manifest files>

== Runtime tools

A generic `runtime-tool` is provided, which offers several commands for
manipulating ECloud runtimes locally.

=== runtime-tool.sh install

This tool downloads a runtime Docker image from {ecloud}'s runtime repository and
loads it using a local Docker daemon, if it is available.

_Usage_:

  ./runtime-tool.sh install -n <runtime-name>

_Example_:

  ./runtime-tool.sh install -n eslap://eslap.cloud/runtime/native/1_0_0


=== runtime-tool.sh bundle

Exports a locally available Docker image and generates a ready-to-register
runtime bundle with the image and the associated manifest.

NOTE: Local image tags will be ignored and only used to locate the image, since
the generated bundle will contain a properly tagged Docker image matching the
runtime name specified in the runtime manifest, as expected by {ecloud}.

_Usage_:

  runtime-tool.sh bundle -i <image-id|image-name> -m <path-to-runtime-manifest>

_Example_:

  runtime-tool.sh bundle -i my-nodejs-custom -m ./my-manifest.json

where the runtime name specified in the manifest is, for example:

[source, json]
....
{
  "spec": "http://eslap.cloud/manifest/runtime/1_0_0",
  "name": "eslap://some.domain/runtime/nodejs-libxyz/1_0_0",
  "derived" : {
    "from" : "eslap://eslap.cloud/runtime/native/1_0_0"
  },
  "sourcedir": "/eslap/component",
  "entrypoint": "/eslap/runtime-agent/scripts/start-runtime-agent.sh",
  "metadata": {
    "description": "My custom runtime",
    "os_name": "Ubuntu",
    "os_version": "14.04",
    "os_release": "Trusty Tahr",
    "software": {
      "libxyz": {
        "version": "1.2.3"
      }
    }
  }
}
....

will generate the runtime bundle
with a Docker image tagged as `some.domain/runtime/nodejs-libxyz:1_0_0`.

== Local Stamp

_LocalStamp_ is a tool that allow deploying and executing services locally for
development and testing purposes.

=== local-stamp-start.sh

Executing the `local-stamp-start.sh` script will launch a _LocalStamp_ instance as a 
service.

_Usage_:

 ./local-stamp-start.sh

If everything goes fine the system will return:

----
Local Stamp log in /tmp/local-stamp.log
Local Stamp workdir in /tmp/local-stamp
Local Stamp Started
Listening on port 8090
----

As it can be seen it informs that an instance of _LocalStamp_ is up and running
accepting requests in port `8090`.

In order to know how to use this _LocalStamp_ instance for deploying services and
testing them take a look to the documentation inside the folder _local-stamp_.