You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by rn...@apache.org on 2020/08/04 11:20:59 UTC

[couchdb] branch aegis_key_manager_app created (now 514af24)

This is an automated email from the ASF dual-hosted git repository.

rnewson pushed a change to branch aegis_key_manager_app
in repository https://gitbox.apache.org/repos/asf/couchdb.git.


      at 514af24  Optionally add a key manager application as a dependency

This branch includes the following new commits:

     new 514af24  Optionally add a key manager application as a dependency

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[couchdb] 01/01: Optionally add a key manager application as a dependency

Posted by rn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rnewson pushed a commit to branch aegis_key_manager_app
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit 514af2491a6fd8d4b6e961ccab7adf9c9fbcd054
Author: Robert Newson <rn...@apache.org>
AuthorDate: Tue Aug 4 12:18:40 2020 +0100

    Optionally add a key manager application as a dependency
---
 src/aegis/rebar.config.script                      |  9 ++++++++-
 .../src/{aegis.app.src => aegis.app.src.script}    | 23 +++++++++++++++-------
 2 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/src/aegis/rebar.config.script b/src/aegis/rebar.config.script
index ef148bf..81ea517 100644
--- a/src/aegis/rebar.config.script
+++ b/src/aegis/rebar.config.script
@@ -26,10 +26,17 @@ AegisKeyManager = case lists:keyfind(aegis_key_manager, 1, CouchConfig) of
         aegis_noop_key_manager
 end,
 
+AegisKeyManagerOpt = case lists:keyfind(aegis_key_manager_app, 1, CouchConfig) of
+    {aegis_key_manager_app, AppName} when AppName /= "" ->
+        [{d, 'AEGIS_KEY_MANAGER_APP', list_to_atom(AppName)}];
+    _ ->
+        []
+end,
+
 CurrentOpts = case lists:keyfind(erl_opts, 1, CONFIG) of
     {erl_opts, Opts} -> Opts;
     false -> []
 end,
 
-AegisOpts = {d, 'AEGIS_KEY_MANAGER', AegisKeyManager},
+AegisOpts = AegisKeyManagerOpt ++ [{d, 'AEGIS_KEY_MANAGER', AegisKeyManager}],
 lists:keystore(erl_opts, 1, CONFIG, {erl_opts, [AegisOpts | CurrentOpts]}).
diff --git a/src/aegis/src/aegis.app.src b/src/aegis/src/aegis.app.src.script
similarity index 78%
rename from src/aegis/src/aegis.app.src
rename to src/aegis/src/aegis.app.src.script
index deb1526..3d6b842 100644
--- a/src/aegis/src/aegis.app.src
+++ b/src/aegis/src/aegis.app.src.script
@@ -10,6 +10,21 @@
 % License for the specific language governing permissions and limitations under
 % the License.
 
+AegisKeyManagerApp = case os:getenv("AEGIS_KEY_MANAGER_APP") of
+    false -> [];
+    AppName -> [AppName]
+end.
+
+BaseApplications = [
+    kernel,
+    stdlib,
+    crypto,
+    couch_log,
+    erlfdb
+].
+
+Applications = AegisKeyManagerApp ++ BaseApplications.
+
 {application, aegis,
  [
   {description, "If it's good enough for Zeus, it's good enough for CouchDB"},
@@ -18,13 +33,7 @@
   {registered, [
     aegis_server
   ]},
-  {applications,
-   [kernel,
-    stdlib,
-    crypto,
-    couch_log,
-    erlfdb
-   ]},
+  {applications, Applications},
   {env,[]},
   {modules, []},
   {maintainers, []},