update documentation

This commit is contained in:
Adora Laura Kalb 2023-03-25 21:39:42 +01:00
parent 3c8ac1d211
commit 6a6b102c94
6 changed files with 55 additions and 20 deletions

View file

@ -1,28 +1,63 @@
# ipam
A cli based [IP Address Management](https://en.wikipedia.org/wiki/IP_address_management)
built with [Go](https://go.dev/) using [Cobra](https://cobra.dev/) and
[Viper](https://github.com/spf13/viper) with optional [PowerDNS](https://www.powerdns.com/auth.html)
API integration.
This project is in development. There is no working version yet!
## Features
`ipam` is a cli based IPAM. It supports:
- Adding, listing, viewing and deleting subnets
- Adding, viewing and deleting single IP addresses with FQDNs
- automatic addition and deletion of forward and reverse records
- import and export configuration
## But why?
In my career as a Network Engineer I worked at a company that developed their own internal CMDB
that was set up as a cli application. I really liked the ease of use and the way you could
quickly do stuff.
So I sat down and started my first Go project and started developing this ipam.
## How do I use the cmdb?
Coming soon
## How can I contribute to the development?
Patches, bug reports or feature suggestions can be sent by email to
[~lauralani/ipam@lists.sr.ht](mailto:~lauralani/ipam@lists.sr.ht). If you're
not familiar with sending patches over email see
[here](https://git-send-email.io/).
## CLI
```
ipam
A cli based ipam.
You can manage subnets, single ip addresses within those, and the corresponding A records.
PowerDNS and IPV6-Support will follow
You can manage subnets and single IP addresses within those subnets.
ipam can also manage the corresponding DNS records in your PowerDNS Instance.
Usage:
ipam [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
export Export current ipam configuration (not implemented)
export Export ipam configuration
help Help about any command
import Import ipam configuration (not implemented)
ip manage ip addresses
subnet Manage ip subnets
import Import ipam configuration
ip manage IP addresses
subnet Manage IP subnets
Flags:
-d, --debug Enable debug mode. (may print sensitive Information, so please watch out!)
-h, --help help for ipam
-v, --version version for ipam
Use "ipam [command] --help" for more information about a command.
```
## License
Copyright 2022 Laura Kalb <dev (at) lauka.net>
This program is Free Software: You can use, study share and improve it at your
will. Specifically you can redistribute and/or modify it under the terms of the
[GNU General Public License](https://www.gnu.org/licenses/gpl.html) as
published by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

View file

@ -18,7 +18,7 @@ import (
// exportCmd represents the export command
var exportCmd = &cobra.Command{
Use: "export",
Short: "Export current ipam configuration (not implemented)",
Short: "Export ipam configuration",
Long: `Export current ipam contents to importable data format.
You can either export a single subnet or all subnets.`,
Example: "ipam export\nipam export 192.168.0.0/24",

View file

@ -16,7 +16,7 @@ import (
var importCmd = &cobra.Command{
Use: "import",
Short: "Import ipam configuration (not implemented)",
Short: "Import ipam configuration",
Long: `Import subnets to ipam.`,
Example: "ipam import --file import.json",
Args: cobra.NoArgs,

View file

@ -11,8 +11,8 @@ import (
// ipCmd represents the ip command
var ipCmd = &cobra.Command{
Use: "ip",
Short: "manage ip addresses",
Long: `Add, delete, edit and show IP addresses`,
Short: "manage IP addresses",
Long: `Add, delete and show IP addresses`,
Aliases: []string{"i"},
}

View file

@ -16,8 +16,8 @@ var rootCmd = &cobra.Command{
Use: "ipam",
Short: "A cli based ipam",
Long: `A cli based ipam.
You can manage subnets, single ip addresses within those, and the corresponding A records.
PowerDNS and IPV6-Support will follow`,
You can manage subnets and single IP addresses within those subnets.
ipam can also manage the corresponding DNS records in your PowerDNS Instance.`,
Version: ipamVersion,
}

View file

@ -11,8 +11,8 @@ import (
// subnetCmd represents the subnet command
var subnetCmd = &cobra.Command{
Use: "subnet",
Short: "Manage ip subnets",
Long: `Manage ip subnets`,
Short: "Manage IP subnets",
Long: `Add, delete and show IP subnets`,
Aliases: []string{"s"},
}