Sign inSign up

romzorus/karnaboo

By romzorus

•Updated almost 3 years ago

Streamline your update flows in open source environments !

Image
0

229

romzorus/karnaboo repository overview

⁠Karnaboo

Streamline your update flows in open source environments ! More details here !⁠

⁠Context and objective

The goal of this tool is to let administrators regulate and streamline in a centralized and visual way the update flows of their GNU/Linux hosts across an infrastructure. Also, in the long term, we want this tool to handle as much packaging systems and distributions as possible (apt, dnf, snap...).

⁠How does it work ?

Here is a video for you !⁠

⁠Concept

On each GNU/Linux host, you put the Karnaboo agent, ready to be executed with root privileges. Then each agent sends a registration request to the Karnaboo server which fills a graph database (ArangoDB⁠) with host's informations. After the database is complete, you go from what you have (the nodes) to what you want (the edges) by creating links between hosts in the database. This host will get its updates from this one now. When your future topology is complete and consistent, you just tell the Karnaboo server to enforce it. The server sends specific instructions to each host depending on its position in the topology and the role it is supposed to play now. Each host abides and reports when the adaptation is over.

⁠Different roles
  • Karnaboo server
  • Through Karnaboo agent
    • REPS (REPatriation Server) : located in your DMZ and actually getting the updates from the official repositories
    • DISS (DIStribution Server) : located in your LAN, close to your clients, getting the updates from the REPS and making it available for the clients
    • Client : local host requiring its updates (it can be a user terminal, a web server or anything else)

⁠How to use this image

  1. Create an internal docker network to allow Karnaboo and ArangoDB to communicate docker network create --subnet=172.10.0.0/24 karnaboo-network
  2. Run ArangoDB docker run --net karnaboo-network --ip 172.10.0.50 -e ARANGO_ROOT_PASSWORD=arangodb -p 8529:8529 -d arangodb
  3. Check that tcp ports 9015 and 9016 are not blocked by your firewall (depends on your distribution)
  4. Run the Karnaboo server docker run --net karnaboo-network --ip 172.10.0.51 -ti -p 9015:9015 -p 9016:9016 romzorus/karnaboo
  5. To graphically access the database when it is time to connect your nodes, open this URL in your browser http://127.0.0.1:8529⁠ and use the following credentials : login : root password : arangodb

As for the agent, you still have to build and execute it on a host. There is no point in running an agent inside a container. It won't have all the necessary data and it won't act on the host accordingly.

Tag summary

Content type

Image

Digest

sha256:a5a565607…

Size

62.7 MB

Last updated

almost 3 years ago

docker pull romzorus/karnaboo