metalflow is a master of metalbeat written in Go.
- See metalbeat as an agent of metalflow.
- See metalmetrics as a worker of metalflow.
- See metalmetrics-rs as a worker of metalflow.
- See metaltask as a worker of metalflow.
- See metalview as a view of metalflow.
- Gin >= 1.6.0
- Go >= 1.15.0
- GORM >= 1.20.11
- PostgreSQL >= 12.5
- etcd == 3.3.25
- gRPC == 1.26.0
git clone https://github.com/craftslab/metalflow.git
cd metalflow
make build
./metalflow --config-file="config.yml" --listen-url="127.0.0.1:9080"
git clone https://github.com/craftslab/metalflow.git
cd metalflow
docker build --no-cache -f Dockerfile -t craftslab/metalflow:latest .
docker run -p 9080:9080 craftslab/metalflow:latest /metalflow --config-file="/config.yml" --listen-url="127.0.0.1:9080"
docker swarm init
mkdir -p /var/lib/postgresql/data
docker stack deploy -c Dockerstack.yml metalflow
docker stack services metalflow
docker stack rm metalflow
docker swarm leave --force
usage: metalflow --config-file=CONFIG-FILE [<flags>]
Metal Flow
Flags:
--help Show context-sensitive help (also try --help-long
and --help-man).
--version Show application version.
--config-file=CONFIG-FILE Config file (.yml)
--listen-url=":9080" Listen url
metalflow parameters can be set in the directory config.
An example of configuration in config.yml:
apiVersion: v1
kind: master
metadata:
name: metalflow
spec:
etcd:
host: 127.0.0.1
port: 2379
postgres:
host: 127.0.0.1
port: 5432
user: postgres
pass: postgres
db: metalflow
- Agent
key: /metalflow/agent/{HOST}/register
val: metalbeat
- Master
key: /metalflow/worker/{HOST}/dispatch
val: {COMMAND}
- Admin
pgAdmin: http://127.0.0.1:9081
user: user@domain.com
pass: postgres
- Backup
pg_dump -h 127.0.0.1 -p 5432 -U postgres -d metalflow -E utf8 -F t -b -v -f metalflow.tar
- Restore
pg_restore -h 127.0.0.1 -p 5432 -U postgres -O -d metalflow -v metalflow.tar
http://127.0.0.1:9080/swagger/index.html
Project License can be found here.