mirror of
https://codeberg.org/lauralani/ipam.git
synced 2024-11-23 20:20:39 +01:00
update documentation
This commit is contained in:
parent
3c8ac1d211
commit
6a6b102c94
6 changed files with 55 additions and 20 deletions
49
README.md
49
README.md
|
@ -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.
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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"},
|
||||
}
|
||||
|
||||
|
|
|
@ -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,
|
||||
}
|
||||
|
||||
|
|
|
@ -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"},
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue