Skip to content

Find yourself in the middle of all the services you have

License

Notifications You must be signed in to change notification settings

tonietto/bussola

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bussola

Find yourself in the middle of all the services you have. Bússola means compass in Portuguese.

Usage

Define your architecture in a yaml file, like the following:

units:
  - name: avatar_service
    type: service
    metadata:
      context: profile
      location: kubernetes_cluster
      team: user_profile_team
    dependsOn:
    - avatar_database

From the command line

Compile

go build cmd/main.go

Run

Get your graphviz result:

cat your_data.yaml | ./main -directives a,b,c > graph.dot

And convert your .dot file into png/svg/etc.

Poor man's graphviz

cat your_data.yaml | ./main -directives a,b,c | pbcopy

and throw your results to http:https://www.webgraphviz.com/ or something similar

Options

Directives

In order to nest your units inside different contexts, you can use the -directives option with d1,d2,d3 syntax.

Filtering

You can filter your data by using the -filter cli option. The syntax is k1:v1,v2;k2:v3 and will query your metadata.

Api

Compile

go build api/main.go

Run

This will spin a up a server based on your data, available on the 9999 port.

./main your_data.yaml

Get available params

curl localhost:9999/params

Render dot file based on params [if any]

curl -XPOST -d '{"Filters":{"location":["aws_rds"]}}' localhost:9999/render

About

Find yourself in the middle of all the services you have

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 62.4%
  • Go 31.1%
  • HTML 6.5%