Skip to content

anjumm/gopyserf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 

Repository files navigation

5 Nodes Topology with Serf & Containerlab

This project sets up a 5-node network topology using Containerlab, along with Serf agents for decentralized cluster membership and node communication. It's useful for experimenting with service discovery, failure detection, and distributed coordination in lab environments.


πŸ—‚οΈ Project Structure

  • ceso5node.yml β€” Main Containerlab topology definition file.
  • clab-century/ β€” Contains node-specific configs, TLS materials, inventory, and logs.
  • setup_nodes.sh β€” Orchestrates the setup of nodes.
  • ipaddressing.sh β€” Assigns IP addresses to nodes.
  • serf_agents_start.sh β€” Starts Serf agents.
  • serf_agents_joining.sh β€” Manages the joining of nodes to the Serf cluster.
  • serf/ β€” Contains Serf binary .
  • pytogoapi/ β€” Web Server API for Python (custom implementation).

πŸš€ Getting Started

Prerequisites

  • Docker & Containerlab installed
  • Bash or Linux shell
  • Git (for cloning and version control)

Setup Steps

# Step 1: Clone the repo
git clone https://github.com/anjumm/gopyserf.git

# Step 2: Deploy the topology
sudo containerlab deploy -t ceso5node.yml

# Step 3: Assign IPs
./ipaddressing.sh

# Step 3: Setting Nodes 
./setup_nodes.sh

# Step 4: Start Serf agents
./serf_agents_start.sh

# Step 5: Join nodes into the cluster
./serf_agents_joining.sh

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages