{"action":"created","issue":{"url":"https://api.github.com/repos/typesafehub/sbt-conductr/issues/147","repository_url":"https://api.github.com/repos/typesafehub/sbt-conductr","labels_url":"https://api.github.com/repos/typesafehub/sbt-conductr/issues/147/labels{/name}","comments_url":"https://api.github.com/repos/typesafehub/sbt-conductr/issues/147/comments","events_url":"https://api.github.com/repos/typesafehub/sbt-conductr/issues/147/events","html_url":"https://github.com/typesafehub/sbt-conductr/pull/147","id":147247177,"number":147,"title":"Support acl and service endpoints","user":{"login":"markusjura","id":1832216,"avatar_url":"https://avatars.githubusercontent.com/u/1832216?v=3","gravatar_id":"","url":"https://api.github.com/users/markusjura","html_url":"https://github.com/markusjura","followers_url":"https://api.github.com/users/markusjura/followers","following_url":"https://api.github.com/users/markusjura/following{/other_user}","gists_url":"https://api.github.com/users/markusjura/gists{/gist_id}","starred_url":"https://api.github.com/users/markusjura/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markusjura/subscriptions","organizations_url":"https://api.github.com/users/markusjura/orgs","repos_url":"https://api.github.com/users/markusjura/repos","events_url":"https://api.github.com/users/markusjura/events{/privacy}","received_events_url":"https://api.github.com/users/markusjura/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-04-10T17:58:33Z","updated_at":"2016-04-11T07:40:25Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/typesafehub/sbt-conductr/pulls/147","html_url":"https://github.com/typesafehub/sbt-conductr/pull/147","diff_url":"https://github.com/typesafehub/sbt-conductr/pull/147.diff","patch_url":"https://github.com/typesafehub/sbt-conductr/pull/147.patch"},"body":"This PR changes a couple of things in respect to support ACL and service endpoints\r\n- Changing `BundleConfVersion` notation to `V1`, `V2`. Currently only `V1` is allowed.\r\n- Introduction of the setting `condutrTargetVersion` to validate the settings against a certain ConductR version\r\n- Introduction of the setting flag `enableAcls`. This flag is used to indicate if acls can be used at the endpoint declaration. If set to true then the Lagom endpoints will be declared as acl endpoints, otherwise as service endpoints\r\n- Introduction of a setting validation. This validation is triggered whenever a `bundle:stage`, `bundle:dist`, `configuration:stage` or `configuration:dist` command is executed. All validation checks are processed and in case one or multiple checks have failed a `sys.error` including all the failed validation is displayed in the sbt console. Currently the following checks are verified:\r\n  - If the settings values are compatible with the `conductrTargetVersion`\r\n  - That one endpoint has either declared services or acls. Declaring both at the same endpoint is not allowed\r\n- BundlePlugin: The `BundleKeys.endpoints` default has changed:\r\n  - `enableAcls` == true: `Map(name.value -> Endpoint(\"http\", 0, name.value))`\r\n  - `enableAcls` == false: `Map(name.value -> Endpoint(\"http\", 0, Set.empty[URI]))`\r\n  - Meaning the endpoint key equals now the project name and no services or acls are exposed by default, i.e. the bundle can be located from the service locator but can't be accessed via the proxy\r\n- LagomBundlePlugin: The calculation of the default endpoint for a Lagom service has changed:\r\n  - `enableAcls` == true: Endpoints are collected in the acl format\r\n  - `enableAcls` == false: Endpoints are collected in the services format (with `?preservePath`)\r\n- LagomBundlePlugin: The default `BundleKeys.endpoints` for a Play service in Lagom is now `Map(name.value -> Endpoint(\"http\", 0, Set(URI(\"http://:9000\"))))`\r\n- PlayBundlePlugin: The default `BundleKeys.endpoints` for a Play project is now `Map(name.value -> Endpoint(\"http\", 0, Set(URI(\"http://:9000\"))))`\r\n\r\nAlso a bunch of tests have been added to capture more corner cases."},"comment":{"url":"https://api.github.com/repos/typesafehub/sbt-conductr/issues/comments/208204587","html_url":"https://github.com/typesafehub/sbt-conductr/pull/147#issuecomment-208204587","issue_url":"https://api.github.com/repos/typesafehub/sbt-conductr/issues/147","id":208204587,"user":{"login":"markusjura","id":1832216,"avatar_url":"https://avatars.githubusercontent.com/u/1832216?v=3","gravatar_id":"","url":"https://api.github.com/users/markusjura","html_url":"https://github.com/markusjura","followers_url":"https://api.github.com/users/markusjura/followers","following_url":"https://api.github.com/users/markusjura/following{/other_user}","gists_url":"https://api.github.com/users/markusjura/gists{/gist_id}","starred_url":"https://api.github.com/users/markusjura/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markusjura/subscriptions","organizations_url":"https://api.github.com/users/markusjura/orgs","repos_url":"https://api.github.com/users/markusjura/repos","events_url":"https://api.github.com/users/markusjura/events{/privacy}","received_events_url":"https://api.github.com/users/markusjura/received_events","type":"User","site_admin":false},"created_at":"2016-04-11T07:40:25Z","updated_at":"2016-04-11T07:40:25Z","body":"Changes related to the comments have been made: \r\n- `config` scope is now used at the appropriate places\r\n- Validation messages have been improved\r\n- For a Play project we set now the default endpoint either as acl or service endpoint depending on the flag `enableAcls`"}}