provider-netbox

module
v0.0.0-...-fa92230 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 26, 2024 License: Apache-2.0

README

Provider Netbox

provider-netbox is a Crossplane provider that is built using Upjet code generation tools and exposes XRM-conformant managed resources for the Netbox API.

Getting Started

Install the provider by using the following command after changing the image tag to the latest release:

up ctp provider install fire-ant/provider-netbox:v0.1.0

Alternatively, you can use declarative installation:

cat <<EOF | kubectl apply -f -
apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
  name: provider-netbox
spec:
  package: fire-ant/provider-netbox:v0.1.0
EOF

Notice that in this example Provider resource is referencing ControllerConfig with debug enabled.

You can see the API reference here.

Developing

Run code-generation pipeline:

go run cmd/generator/main.go "$PWD"

Run against a Kubernetes cluster:

make run

Build, push, and install:

make all

Build binary:

make build

Report a Bug

For filing bugs, suggesting improvements, or requesting new features, please open an issue.

Devcontainer Setup:

The repository includes a devcontainer setup which can act as the sandbox environment required for developing.

deploy a cluster:

kind create cluster --name local-dev

change kubeconfig to use internal alias

kind export kubeconfig --name local-dev --internal

Dev

use cty for crds:

./scripts/cty.sh

use for uptest e2e:

make uptest PROVIDER_NAME=provider-netbox UPTEST_EXAMPLE_LIST=examples/sites/site.yaml

Directories

Path Synopsis
Package apis contains Kubernetes API for the provider.
Package apis contains Kubernetes API for the provider.
circuits/v1alpha1
+kubebuilder:object:generate=true +groupName=circuits.netbox.upbound.io +versionName=v1alpha1
+kubebuilder:object:generate=true +groupName=circuits.netbox.upbound.io +versionName=v1alpha1
dcim/v1alpha1
+kubebuilder:object:generate=true +groupName=dcim.netbox.upbound.io +versionName=v1alpha1
+kubebuilder:object:generate=true +groupName=dcim.netbox.upbound.io +versionName=v1alpha1
extras/v1alpha1
+kubebuilder:object:generate=true +groupName=extras.netbox.upbound.io +versionName=v1alpha1
+kubebuilder:object:generate=true +groupName=extras.netbox.upbound.io +versionName=v1alpha1
ipam/v1alpha1
+kubebuilder:object:generate=true +groupName=ipam.netbox.upbound.io +versionName=v1alpha1
+kubebuilder:object:generate=true +groupName=ipam.netbox.upbound.io +versionName=v1alpha1
primaryip/v1alpha1
+kubebuilder:object:generate=true +groupName=primaryip.netbox.upbound.io +versionName=v1alpha1
+kubebuilder:object:generate=true +groupName=primaryip.netbox.upbound.io +versionName=v1alpha1
tenant/v1alpha1
+kubebuilder:object:generate=true +groupName=tenant.netbox.upbound.io +versionName=v1alpha1
+kubebuilder:object:generate=true +groupName=tenant.netbox.upbound.io +versionName=v1alpha1
v1alpha1
Package v1alpha1 contains the core resources of the netbox jet provider.
Package v1alpha1 contains the core resources of the netbox jet provider.
v1beta1
Package v1beta1 contains the core resources of the netbox upjet provider.
Package v1beta1 contains the core resources of the netbox upjet provider.
virtualization/v1alpha1
+kubebuilder:object:generate=true +groupName=virtualization.netbox.upbound.io +versionName=v1alpha1
+kubebuilder:object:generate=true +groupName=virtualization.netbox.upbound.io +versionName=v1alpha1
cmd
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL