mirror of
https://codeberg.org/lauralani/ipam.git
synced 2024-11-24 04:30:02 +01:00
update documentation
This commit is contained in:
parent
3c8ac1d211
commit
6a6b102c94
6 changed files with 55 additions and 20 deletions
59
README.md
59
README.md
|
@ -1,28 +1,63 @@
|
||||||
# ipam
|
# 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
|
## CLI
|
||||||
```
|
```
|
||||||
❯ ipam
|
❯ ipam
|
||||||
A cli based ipam.
|
A cli based ipam.
|
||||||
You can manage subnets, single ip addresses within those, and the corresponding A records.
|
You can manage subnets and single IP addresses within those subnets.
|
||||||
PowerDNS and IPV6-Support will follow
|
ipam can also manage the corresponding DNS records in your PowerDNS Instance.
|
||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
ipam [command]
|
ipam [command]
|
||||||
|
|
||||||
Available Commands:
|
Available Commands:
|
||||||
completion Generate the autocompletion script for the specified shell
|
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
|
help Help about any command
|
||||||
import Import ipam configuration (not implemented)
|
import Import ipam configuration
|
||||||
ip manage ip addresses
|
ip manage IP addresses
|
||||||
subnet Manage ip subnets
|
subnet Manage IP subnets
|
||||||
|
|
||||||
Flags:
|
Flags:
|
||||||
-d, --debug Enable debug mode. (may print sensitive Information, so please watch out!)
|
-d, --debug Enable debug mode. (may print sensitive Information, so please watch out!)
|
||||||
-h, --help help for ipam
|
-h, --help help for ipam
|
||||||
|
-v, --version version for ipam
|
||||||
|
|
||||||
Use "ipam [command] --help" for more information about a command.
|
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.
|
||||||
|
|
|
@ -18,7 +18,7 @@ import (
|
||||||
// exportCmd represents the export command
|
// exportCmd represents the export command
|
||||||
var exportCmd = &cobra.Command{
|
var exportCmd = &cobra.Command{
|
||||||
Use: "export",
|
Use: "export",
|
||||||
Short: "Export current ipam configuration (not implemented)",
|
Short: "Export ipam configuration",
|
||||||
Long: `Export current ipam contents to importable data format.
|
Long: `Export current ipam contents to importable data format.
|
||||||
You can either export a single subnet or all subnets.`,
|
You can either export a single subnet or all subnets.`,
|
||||||
Example: "ipam export\nipam export 192.168.0.0/24",
|
Example: "ipam export\nipam export 192.168.0.0/24",
|
||||||
|
|
|
@ -16,7 +16,7 @@ import (
|
||||||
|
|
||||||
var importCmd = &cobra.Command{
|
var importCmd = &cobra.Command{
|
||||||
Use: "import",
|
Use: "import",
|
||||||
Short: "Import ipam configuration (not implemented)",
|
Short: "Import ipam configuration",
|
||||||
Long: `Import subnets to ipam.`,
|
Long: `Import subnets to ipam.`,
|
||||||
Example: "ipam import --file import.json",
|
Example: "ipam import --file import.json",
|
||||||
Args: cobra.NoArgs,
|
Args: cobra.NoArgs,
|
||||||
|
|
|
@ -11,8 +11,8 @@ import (
|
||||||
// ipCmd represents the ip command
|
// ipCmd represents the ip command
|
||||||
var ipCmd = &cobra.Command{
|
var ipCmd = &cobra.Command{
|
||||||
Use: "ip",
|
Use: "ip",
|
||||||
Short: "manage ip addresses",
|
Short: "manage IP addresses",
|
||||||
Long: `Add, delete, edit and show IP addresses`,
|
Long: `Add, delete and show IP addresses`,
|
||||||
Aliases: []string{"i"},
|
Aliases: []string{"i"},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,8 +16,8 @@ var rootCmd = &cobra.Command{
|
||||||
Use: "ipam",
|
Use: "ipam",
|
||||||
Short: "A cli based ipam",
|
Short: "A cli based ipam",
|
||||||
Long: `A cli based ipam.
|
Long: `A cli based ipam.
|
||||||
You can manage subnets, single ip addresses within those, and the corresponding A records.
|
You can manage subnets and single IP addresses within those subnets.
|
||||||
PowerDNS and IPV6-Support will follow`,
|
ipam can also manage the corresponding DNS records in your PowerDNS Instance.`,
|
||||||
Version: ipamVersion,
|
Version: ipamVersion,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,8 +11,8 @@ import (
|
||||||
// subnetCmd represents the subnet command
|
// subnetCmd represents the subnet command
|
||||||
var subnetCmd = &cobra.Command{
|
var subnetCmd = &cobra.Command{
|
||||||
Use: "subnet",
|
Use: "subnet",
|
||||||
Short: "Manage ip subnets",
|
Short: "Manage IP subnets",
|
||||||
Long: `Manage ip subnets`,
|
Long: `Add, delete and show IP subnets`,
|
||||||
Aliases: []string{"s"},
|
Aliases: []string{"s"},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue