CONFIG.md

July 7, 2015 ยท View on GitHub

Framework supported Configuration

Here is the list of all supported configurations (for now):

Nubes configuration

src-package

  • Type: String

  • Description: This is the base package of your project, it should look like "user.company.projectname". It's a convention-over-configuraton shorthand for other keys below. If you follow our own conventions, you'll only need this key set-up. If not, the keys below will override the default ones.

  • Default: No default value (then you'll need to define controllers, fixtures, domains, verticle, services packages independently)

controller-packages

  • Type: JsonArray

  • Description: This is a JsonArray, which should contain all the packages where your controllers are located.

  • Default: If the key is missing, the value will be a concatenation of the src-package value with ".controllers". If it doesn't exist, well, you'll have no controllers set-up. Which can be fine if you're not using them.

fixture-packages

  • Type: JsonArray

  • Description: This is a JsonArray, which should contain all the packages where your fixtures are located.

  • Default: src-package value concat with ".fixtures".

domain-package

  • Type: String

  • Description: This will set the package of your domains.

  • Default: src-package value concat with ".domains".

verticle-package

  • Type: String

  • Description: This will set the package of your verticles.

  • Default: src-package value concat with ".verticles".

services

  • Type: JSonObject

  • Description: This is a JsonObject which contains all the services to be registered by Nubes. The key is the service name (String), and the value is the service class name (also a String).

  • Default: No default value.

templates

  • Type: JsonArray

  • Description: A JsonArray (of String) which contains all templates supported by the application. The expected values are: "hbs" for Handlebars, "jade" for Jade, "templ" for MVEL and "thymeleaf" for Thymeleaf (for the last one, you need to use .html file extension).

  • Default: No default value.

throttling

TODO :

  • count
  • time-frame
  • time-unit

webroot

  • Type: String

  • Description: This will set the webroot for your application.

  • Default: default value is "web/assets".

static-path

  • Type: String

  • Description: This will set the path for your static files in your application.

  • Default: default value is "/assets".

views-dir

  • Type: String

  • Description: This will set the path for your template files in your application.

  • Default: default value is "web/views".

Configuration example

Here is an example of a valid conf.json file :

{
	"host":"localhost",
	"port":8080,
  	"src-package":"mycompany.myproject",
  	"domain-package":"i.put.my.domains.where.i.want.to",
  	"fixture-packages":["fixtures.are.not.in.convention.package"],
  	"controller-packages":["definitely.not.using.your.conventions"],
  	"services":{"taskService":"mycompany.myproject.services.TaskService"},
  	"templates":["hbs"]

}

As you can see, some values are overriden and aren't using Nubes conventions:

  • domains
  • fixtures
  • controllers

It's not the case of the verticle-package key, which is missing from the configuration. Thus the value in the configuration will then be "mycompany.myproject.verticles". If the package exists and contains verticles (annotated with @Verticle, Nubes will deploy them. If it's empty or does'nt exist, well... Nubes won't...

NubesServer configuration

Sometimes you'll just don't need to instantiate Nubes programmatically and just deploy a web-server with everything already set-up.

In this case, you'll use NubesServer our own implementation of a web-server Verticle, and you can specify two more options in your configuration :

host

  • Type: String

  • Description: This is the hostname of your server.

  • Default: Default value (only for NubesServer instance) is "localhost".

port

  • Type: int

  • Description: This is the port of your server.

  • Default: Default value (only for NubesServer instance) is 9000.