This is a PoC project for the Fury Dashboard container, that actually runs on a GOLANG
server, taking some configurations in order to import and show other UIs that runs as standalone.
It imports the other UIs as a webpack federated modules, so it must know the basic info (url, scope, module name).
To deploy this utility in your hosts, take in mind the following requirements must be already addressed in your host:
WARNING: Only tested on debian based systems.
libsystemd-dev
package installed.systemd
workingjournal
working
FE build needs the following env variables:
- APP_ENV:
production
||development
- SERVER_OFFLINE:
true
||false
- SERVER_BASE_PATH: "" ||
https://examplepath
To install/update the latest version in your hosts:
$ curl -s https://api.github.com/repos/sighupio/fury-dashboard/releases/latest | grep browser_download_url | cut -d '"' -f 4 | xargs curl -Ls -o fury-dashboard
$ chmod +x fury-dashboard
Then, don't forget to create a config.yml
file (you can copy/paste the sample-config.yaml
):
$ cat config.yml
---
listener: 0.0.0.0:8080
externalEndpoint: https://localhost:8087
remoteComponents:
furyconnectswitchui:
scope: FuryConnectSwitchUI
module: ./FurySupport
url: https://localhost:8083/remoteEntry.js
params:
apiUrl: https://localhost:8083
$ ./fury-dashboard
The agent requires to be compiled using golang 1.16
as it embeds the static assets of the frontend application.
You can build the linux
(amd64) binary using docker
by running:
$ make build
You will find the generated binary in the ./bin/linux/fury-dashboard
directory.
The project provides another alternative to actually builds the binary, this is using vagrant. The provided Vagrantfile contains a defintion to spin up an ubuntu box containing all the requirements to build the binary using docker.
$ vagrant destroy --force # Just in case
$ vagrant up
$ vagrant ssh
vagrant@fury-dashboard:~$ cd /vagrant
vagrant@fury-dashboard:~$ make build
vagrant@fury-dashboard:~$ cp example-config.yml config.yml
vagrant@fury-dashboard:~$ ./bin/linux/fury-dashboard
For license details please see LICENSE