commit | 2d6e8cdc406a58e7fd8fcb8c85ba5ef87ffa8f1e | [log] [tgz] |
---|---|---|
author | Alex Heneveld <alex@cloudsoft.io> | Wed May 24 11:35:59 2023 +0100 |
committer | Alex Heneveld <alex@cloudsoft.io> | Wed May 24 11:49:07 2023 +0100 |
tree | 1a15d3de6a06d67f32fb79589eb8e942866c328d | |
parent | 4fafb3717d0d23622f8171f681547879277f8fdd [diff] |
more filtering of output - follow up to PR https://github.com/apache/brooklyn-server/pull/1389 Some tweaks: * tidy name of methods and params - call it filterOutputFields instead of suppressOutput (to me, suppress hints at security) * expose the capability on the generic resolver (used for some sensors, below) * when doing the filter, don't bother if it's short/trivial, and if it's not a string include the type for info * change implementation of filter to run even if suppress secrets is false * (in UI, remove one redundant activities call) And some additional restrictions: * exclude detail from tasks when doing a recursive/children lookup * filter output fields in tasks when detail is excluded * filter output fields from children and recursive task requests by default * filter output fields for selected sensors (name starts with "internal") when doing a batch read of sensors (this affects the workflow cache which contains all output) Impact for a simple test is: * 3 med size workflows - call to list - reduced from 126kb to 2kb * recursive task call for the above - from 25k to 5k * sensor batch read - from 120k to 2k * details of 1 workflow - 42kb to access -> unchanged
This repo contains the core elements to run a Brooklyn server, from the API and utils through to the core implementation and the REST server.
Two methods are available to build this project: within a docker container or directly with maven.
The project comes with a Dockerfile
that contains everything you need to build this project. First, build the docker image:
docker build -t brooklyn:server .
Then run the build:
docker run -i --rm --name brooklyn-server -v ${HOME}/.m2:/root/.m2 -v ${PWD}:/usr/build -w /usr/build brooklyn:server mvn clean install
Simply run:
mvn clean install