forked from fediversity/fediversity
WIP: add netbox
Signed-off-by: Kiara Grouwstra <kiara@procolix.eu>
This commit is contained in:
parent
d1611a0946
commit
4fdbf63769
4 changed files with 80 additions and 0 deletions
|
|
@ -162,6 +162,13 @@ in
|
|||
KMS_KEY = "tsjxw9NjKUBUlzbTnD7orqIAdEmpGYRARvxD51jtY+o=";
|
||||
};
|
||||
};
|
||||
services.netbox = {
|
||||
enable = true;
|
||||
# FIXME randomly generate this
|
||||
secretKeyFile = pkgs.writeText "netbox-secret" "634da8232803a8155a58584d3186127000207e079d600fc10a890e5cd59c2f4b8f0e0654005944d2ce87f5be9c22ceebec66";
|
||||
# listenAddress = "[::1]";
|
||||
# port = 8001;
|
||||
};
|
||||
};
|
||||
|
||||
extraTestScript = ''
|
||||
|
|
|
|||
15
deployment/run/netbox-store-ips/main.tf
Normal file
15
deployment/run/netbox-store-ips/main.tf
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
terraform {
|
||||
required_providers {
|
||||
netbox = {
|
||||
source = "e-breuninger/netbox"
|
||||
version = "= 5.0.0"
|
||||
}
|
||||
}
|
||||
backend "http" {
|
||||
}
|
||||
}
|
||||
|
||||
resource "netbox_ip_range" "ips" {
|
||||
start_address = var.start_address
|
||||
end_address = var.end_address
|
||||
}
|
||||
49
deployment/run/netbox-store-ips/tf.nix
Normal file
49
deployment/run/netbox-store-ips/tf.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
# FIXME: use overlays so this gets imported just once?
|
||||
{
|
||||
pkgs,
|
||||
}:
|
||||
# FIXME centralize overlays
|
||||
# XXX using recent revision for https://github.com/NixOS/nixpkgs/pull/447849
|
||||
let
|
||||
sources = import ../../../npins;
|
||||
mkProvider =
|
||||
args:
|
||||
pkgs.terraform-providers.mkProvider (
|
||||
{ mkProviderFetcher = { repo, ... }: sources.${repo}; } // args
|
||||
);
|
||||
in
|
||||
(
|
||||
(pkgs.callPackage "${sources.nixpkgs-unstable}/pkgs/by-name/op/opentofu/package.nix" { })
|
||||
.overrideAttrs
|
||||
(old: rec {
|
||||
patches = (old.patches or [ ]) ++ [
|
||||
# TF with back-end poses a problem for nix: initialization involves both
|
||||
# mutation (nix: only inside build) and a network call (nix: not inside build)
|
||||
../../check/data-model-tf/02-opentofu-sandboxed-init.patch
|
||||
];
|
||||
# versions > 1.9.0 need go 1.24+
|
||||
version = "1.9.0";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "opentofu";
|
||||
repo = "opentofu";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-e0ZzbQdex0DD7Bj9WpcVI5roh0cMbJuNr5nsSVaOSu4=";
|
||||
};
|
||||
vendorHash = "sha256-fMTbLSeW+pw6GK8/JLZzG2ER90ss2g1FSDX5+f292do=";
|
||||
})
|
||||
).withPlugins
|
||||
(p: [
|
||||
# p.external
|
||||
# p.null
|
||||
(mkProvider {
|
||||
owner = "e-breuninger";
|
||||
repo = "terraform-provider-netbox";
|
||||
rev = "v5.0.0";
|
||||
spdx = "MPL-2.0";
|
||||
# hash = null;
|
||||
hash = "sha256-iCaCt8ZbkxCk43QEyj3PeHYuKPCPVU2oQ78aumH/l6k=";
|
||||
vendorHash = "sha256-Q3H/6mpkWn1Gw0NRMtKtkBRGHjPJZGBFdGwfalyQ4Z0=";
|
||||
homepage = "https://registry.terraform.io/providers/e-breuninger/netbox";
|
||||
provider-source-address = "registry.opentofu.org/e-breuninger/netbox";
|
||||
})
|
||||
])
|
||||
9
deployment/run/netbox-store-ips/variables.tf
Normal file
9
deployment/run/netbox-store-ips/variables.tf
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
variable "start_address" {
|
||||
description = "Start of the IP range, e.g. 10.0.0.1/24."
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "end_address" {
|
||||
description = "End of the IP range, e.g. 10.0.0.50/24."
|
||||
type = string
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue