{"id":13753380,"url":"https://github.com/jponge/vertx-boot","last_synced_at":"2025-03-02T05:31:32.309Z","repository":{"id":55609901,"uuid":"120518773","full_name":"jponge/vertx-boot","owner":"jponge","description":"An Eclipse Vert.x verticle to boot an application from HOCON configuration.","archived":false,"fork":false,"pushed_at":"2020-12-18T08:47:08.000Z","size":166,"stargazers_count":43,"open_issues_count":0,"forks_count":6,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-02-15T21:41:18.482Z","etag":null,"topics":["configuration","deployment","hocon","microservice","reactive","vertx"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jponge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-06T20:23:22.000Z","updated_at":"2024-04-01T09:07:18.000Z","dependencies_parsed_at":"2022-08-15T04:20:35.530Z","dependency_job_id":null,"html_url":"https://github.com/jponge/vertx-boot","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jponge%2Fvertx-boot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jponge%2Fvertx-boot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jponge%2Fvertx-boot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jponge%2Fvertx-boot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jponge","download_url":"https://codeload.github.com/jponge/vertx-boot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241465006,"owners_count":19967238,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["configuration","deployment","hocon","microservice","reactive","vertx"],"created_at":"2024-08-03T09:01:21.214Z","updated_at":"2025-03-02T05:31:31.935Z","avatar_url":"https://github.com/jponge.png","language":"Java","readme":"[![Build Status](https://travis-ci.org/jponge/vertx-boot.svg?branch=master)](https://travis-ci.org/jponge/vertx-boot)\n![License](https://img.shields.io/github/license/jponge/vertx-boot.svg)\n\n# 🚀 Vert.x Boot\n\n\u003e An Eclipse Vert.x verticle to boot an application from HOCON configuration.\n\nThe goal of this micro-library is to offer a simple way to deploy verticles from a [HOCON](https://github.com/lightbend/config/blob/master/HOCON.md) configuration.\nMore specifically, it allows to:\n\n1. specify what verticles to deploy, and\n2. specify how many instances of each verticle to deploy, and\n3. pass some JSON configuration (HOCON is a superset of JSON).\n\n## Dependency\n\n* `groupId`: `io.github.jponge`\n* `artifactId`: `vertx-boot`\n\nThe library is being published to both [Maven Central](https://search.maven.org/#search%7Cga%7C1%7Ca%3A%22vertx-boot%22) and [Bintray JCenter](https://bintray.com/jponge/vertx-boot/vertx-boot).\n\n## Configuring Vert.x Boot\n\nThe HOCON configuration is fetched with [lightbend/config](https://github.com/lightbend/config) using [the standard behavior](https://github.com/lightbend/config#standard-behavior) so please check the corresponding documentation for overriding files, resources and also overriding values using system properties and environment variables.\nYou can use all of the nice features in HOCON, really (includes, substitutions, etc).\n\nThe HOCON configuration can be larger than what is required for _Vert.x Boot_.\n\n### Basic configuration\n\nHere is an example:\n\n```hocon\nvertx-boot {\n\n  verticles {\n\n    foo {\n      name = \"io.github.jponge.vertx.boot.samples.FooVerticle\"\n      instances = 4\n    }\n\n    bar {\n      name = \"io.github.jponge.vertx.boot.samples.BarVerticle\"\n      instances = 2\n      configuration.a = \"abc\"\n      configuration.b = \"def\"\n      configuration {\n        c = 123\n        d = [1, 2, 3]\n      }\n    }\n    \n    baz {\n      name = \"io.github.jponge.vertx.boot.samples.FooVerticle\"\n    }\n  }\n}\n```\n\nEach verticle key (e.g., `foo` and `bar` in the example above) is purely decorative.\nA verticle class can be deployed more than once with different configurations and instance count.\n\nThe `instance` and `configuration` keys in verticles are optional: by default a single instance is being deployed, and the configuration is an empty JSON object.\n\n### Advanced configuration\n\nMore advanced settings are available to match Vert.x `DeploymentOptions`:\n\n* `extra-classpath` a string array of extra classpath entries\n* `high-availability` a boolean for verticle high-availability\n* `isolated-classes` a string array of isolated classes\n* `isolated-group` a string for an isolated classes group name\n* `worker` a boolean to deploy as a worker verticle\n* `max-worker-execution-time` an integer number to define the maximum worker execution time\n* `worker-pool-name` a string to name the worker pool\n* `worker-pool-size` an integer to size the worker pool\n\nHere is a sample advanced configuration:\n\n```hocon\nvertx-boot {\n  verticles {\n    foo {\n      name = \"io.github.jponge.vertx.boot.samples.FooVerticle\"\n      instances = 4\n      worker = true\n      worker-pool-name = \"Fooz\"\n      worker-pool-size = 4\n      configuration {\n        a = 1\n        b = 2\n      }\n    }\n  }\n}\n```\n\n## Using the verticle\n\nThe verticle class is `io.github.jponge.vertx.boot.BootVerticle`.\n\nYou can deploy it programmatically and it will then deploy the other verticles.\n\nIf you create a _fat jar_ and rely on the `Main-Verticle` manifest entry and the `io.vertx.core.Launcher` main class, then all you have to do is point the `Main-Verticle` entry to `io.github.jponge.vertx.boot.BootVerticle`.\n\n## Contributing\n\nFeel-free to report issues and propose pull-requests!\n","funding_links":[],"categories":["vertx","Miscellaneous"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjponge%2Fvertx-boot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjponge%2Fvertx-boot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjponge%2Fvertx-boot/lists"}