diff options
author | Håkon Hallingstad <hakon@oath.com> | 2018-11-23 17:30:13 +0100 |
---|---|---|
committer | Håkon Hallingstad <hakon@oath.com> | 2018-11-23 17:30:13 +0100 |
commit | cadcac9a8c0501f86372eb05d107d7b089643d0a (patch) | |
tree | 9593cc78763cba8e790e49c21f28a19182002765 /node-admin/vespa-node-admin.spec | |
parent | f67aa7bfa1553d8cc19ce4eef96f42ff8c31a320 (diff) |
Add flags module
FileFlagSource reads flags from files in /etc/vespa/flags and is a component
that can be injected in host admin, config server, etc. A flag named foo
corresponds to filename foo.
In general a FlagSource manages:
- Feature flags: A feature is either set (true/enabled) or otherwise false.
Touching a file foo means the feature flag foo is set (true).
- Value flags: Either a String or empty if not set. The String corresponds to
the file content.
The plan is to make the config server another source of flags. A unified
FlagSource can merge the two sources with some priority and used in e.g. parts
of node-admin. In other parts one would only have access to the file source.
Defines various flag facades:
- FeatureFlag: Used to test whether a feature has been enabled or not.
- IntFlag
- JacksonFlag: Deserializes JSON to Jackson class, or return default if unset.
- LongFlag
- OptionalJacksonFlag: Deserializes JSON to Jackson class, or empty if unset.
- OptionalStringFlag
- StringFlag
This is part of removing some of the last Chef recipes. Some minor tweaks have
been necessary as part of this and are included in this PR (test whether a
systemd service exists, task-friendly file deletion, allow capitalized letters
in YUM package name).
Diffstat (limited to 'node-admin/vespa-node-admin.spec')
-rw-r--r-- | node-admin/vespa-node-admin.spec | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/node-admin/vespa-node-admin.spec b/node-admin/vespa-node-admin.spec index 82e92fae52c..ff426e8bfa5 100644 --- a/node-admin/vespa-node-admin.spec +++ b/node-admin/vespa-node-admin.spec @@ -33,8 +33,9 @@ mkdir -p "$app_dir"/components cp node-admin/src/main/application/services.xml "$app_dir" declare -a jar_components=( - node-admin/target/node-admin-jar-with-dependencies.jar docker-api/target/docker-api-jar-with-dependencies.jar + flags/target/flags-jar-with-dependencies.jar + node-admin/target/node-admin-jar-with-dependencies.jar ) for path in "${jar_components[@]}"; do cp "$path" "$app_dir"/components |