Disclaimer The program will soon be renamed from "Proxy" to "Fiberplane Daemon", with a command-line binary called
fpd
. Hence the documentation in the readme usesfpd
everytime this crate is mentioned. If the commands do not work, just use the program with the cloned repository, usingcargo run --
instead offpd
.
The proxy application allows executing Providers outside of the Studio. This can be useful in situation where direct access from the Studio to a resource is not available. It does require that the Proxy has access to the resource in question.
Unlike a HTTP proxy, this Proxy server won't simply forward requests. Rather, it will invoke a Provider, that will fetch the actual data.
shell
cargo install --locked fpd
fpd pull --all
${EDITOR} "$(fpd config paths data-sources)"
Once the crate is published on crates.io, you will be able to do
shell
cargo install --locked fpd
Otherwise, with a cloned version of the repository
shell
cargo install --path .
TODO: Insert section on how to run the proxy server on Kubernetes.
To know where the Fiberplane Daemon is looking for its configuration
file (data_sources.yaml
) and its providers, you can use
shell
fpd config paths
This is where you should put your providers and data_sources.yaml
(the exact value depends on the platform).
To download all first-party (Fiberplane) providers, you can use
shell
fpd pull --all
Check fpd pull --help
to see the supported providers if you want to pull only
some of them.
When running the Proxy with Tilt, you can use the PROVIDERS
environment
variable to control which Providers will be configured by Tilt.
For example: $ PROVIDERS=prometheus,sentry tilt up
For some Providers, Tilt may also configure and start additional services to fetch data from.
Warning: If you do not specify which Providers to run, all Providers will run. This may be convenient, but especially the Elasticsearch provider will use a lot of memory on your system.
The following diagram shows the interaction between the Studio, Proxy, and their Providers (source):