From d984b19ac9c639ad929726ecf5b102ae705ac484 Mon Sep 17 00:00:00 2001 From: lauralani Date: Tue, 18 Apr 2023 14:36:12 +0200 Subject: [PATCH] add mkdocs page scaffolding --- .woodpecker/netlify.yml | 20 ++++++++++++ docs/assets/get-it-on-codeberg.svg | 19 +++++++++++ docs/index.md | 51 ++++++++++++++++++++++++++++++ mkdocs.yml | 22 +++++++++++++ requirements.txt | 1 + 5 files changed, 113 insertions(+) create mode 100644 .woodpecker/netlify.yml create mode 100644 docs/assets/get-it-on-codeberg.svg create mode 100644 docs/index.md create mode 100644 mkdocs.yml create mode 100644 requirements.txt diff --git a/.woodpecker/netlify.yml b/.woodpecker/netlify.yml new file mode 100644 index 0000000..4782c21 --- /dev/null +++ b/.woodpecker/netlify.yml @@ -0,0 +1,20 @@ +when: + event: push + branch: main + +pipeline: + build: + image: python:3.9 + commands: + - pip3 install -r requirements.txt + - mkdocs build --site-dir publish + + deploy: + image: node:18 + environment: + - NETLIFY_SITE_ID=a41006ac-4870-484f-9fef-2d45e9546837 + secrets: + - NETLIFY_AUTH_TOKEN + commands: + - npm install -D netlify-cli + - npx netlify deploy --site=$NETLIFY_SITE_ID --dir=publish --prod diff --git a/docs/assets/get-it-on-codeberg.svg b/docs/assets/get-it-on-codeberg.svg new file mode 100644 index 0000000..e921c6c --- /dev/null +++ b/docs/assets/get-it-on-codeberg.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + GET IT ON + + + + + + + \ No newline at end of file diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..5db17cd --- /dev/null +++ b/docs/index.md @@ -0,0 +1,51 @@ +# IPAM + +IPAM is 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. + + +Download IPAM on Codeberg + +## 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. + +## Usage + +`ipam` is built as a cli app. Once you installed `ipam` and added it to your `$PATH`, you can + +- add prefixes with `ipam subnet add 192.168.0.0/24 fancy-subnet-name` +- add IPs to those prefixes with `ipam ip add 192.168.0.1 fqdn.example.com` +- add the next free IP in a prefix with `ipam ip add 192.168.0.0/24 fqdn2.example.com` +- much more (see `ipam (command) --help` for examples) + +If PowerDNS integration is enabled in `$HOME/.ipam/ipam.yml`, forward and reverse DNS records are automatically managed when you add or delete IP addresses with hostnames. + +## CLI Example +

+ +

+ +## Contributing + +The main development is happening at [https://codeberg.org/lauralani/ipam](https://codeberg.org/lauralani/ipam). + +If you find a bug or would like a feature to get added you can [create a new issue](https://codeberg.org/lauralani/ipam/issues) or collaborate by forking the repository and [create a new pull request](https://codeberg.org/lauralani/ipam/pulls). + +If you have any questions please also feel free to create a new Issue! + +## License + +Copyright 2023 Laura Kalb + +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. diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..23eb4e9 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,22 @@ +site_name: IPAM Documentation +site_url: https://ipam.lauka.net/ +nav: + - Home: index.md + - About: about.md +theme: + name: material + palette: + primary: purple + accent: blue + scheme: slate + features: + - navigation.instant + - navigation.tracking + - navigation.tabs + - navigation.tabs.sticky + - toc.follow + - toc.integrate + icon: + repo: fontawesome/brands/git-alt +repo_url: https://codeberg.org/lauralani/ipam +repo_name: lauralani/ipam diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..4c8f017 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +mkdocs-material