Archiving this repo because AWS now provide IPAM as a service and I don't see a need for this anymore, and because maintaining Terraform providers is painful. It was a fun experiment, though.
This repository contains an extremely barebones IP address management (IPAM) service. When deploying infrastructure in modern cloud environments such as AWS, often there is a requirement to allocate and then subdivide IP address ranges.
cloudyipam
attempts to provide this address range allocation such that it can
be used with extremely minimal pre-existing infrastructure. It manages only
two kinds of resources: zones and subnets. A zone is an IP address range
that is intended to be divided into subnets of equal size.
database/cloudyipam.sql
: the IPAM service, implemented in PostgreSQL as a collection of stored procedures/functionspkg/cloudyipam
: a thin "API client" library that interacts with the PostgreSQL componentscmd/cloudyipam
: a command-line client, built withpkg/cloudyipam
pkg/cloudyipam
- a Dockerfile to build a PostgreSQL container with CloudyIPAM deployed in it, and the CLI tool also, for experimentation
This repository used to contain terraform-provider-cloudyipam
also.
That code now lives in its own repository.
- resource updates are not supported
- documentation is very thin
- the CLI client is not intended as a general purpose tool; it was mostly for me to exercise the API during development. But the framework is there to make a good tool, I guess?