Introducing g2rudder

Accessing a REST API without the proper tools is often bothersome, especially when you only have a shell and curl at hand - like in a kickstart %post part - and parsing JSON replies or building parameters can quickly become a mess.
g2rudder is here to help you cope with that issue in the form of a gateway written in Go that let's you use Rudder's API easily in a consistent way.

Features

  • Support Rudder server over HTTPS
  • Can disable SSL verification and/or provide a root CA certificate
  • Groups:
    • Add hosts in Rudder groups
    • Automatically add regex if provided host contains the following characters: *[]|
  • Hosts:
    • Check if hostname is pending
    • Check if hostname exists
    • Get node uuid from hostname
    • Accept pending node from hostname
    • Add/delete properties

Usage

Groups:
curl -X POST http://localhost:8181/group/addHost -d "g_uuid=5af30b6b-c8cd-4405-9d0c-410c2b05e220&host=test.domain.com"

Hosts:
curl -X GET http://localhost:8181/host/isExist?host=test.domain.com
curl -X GET http://localhost:8181/host/isPending?host=test.domain.com
curl -X GET http://localhost:8181/host/getId?host=test.domain.com
curl -X POST http://localhost:8181/host/addProperty -d "host=demo-latest.rudder-project.org&key=KEY1&value=VALUE1"
curl -X POST http://localhost:8181/host/delProperty -d "host=demo-latest.rudder-project.org&key=KEY1"
curl -X POST http://localhost:8181/host/accept -d "host=demo-latest.rudder-project.org"


Project readme will be updated along with the addition of new features.
Don't hesitate to contact me if you encounter any issue.