Docs

Asset Lifecycle Management

Enable and operate the Premium Asset Lifecycle Management plugin in NetBox Enterprise

Asset Lifecycle Management (ALM) tracks hardware procurement and lifecycle in NetBox: bill of materials, purchase orders, shipments, and installs. It ships inside NetBox Enterprise and is enabled with a single setting.

Premium tier, off by default

ALM requires a Premium-tier entitlement and is off by default, including on Premium. Upgrading NetBox Enterprise does not enable it. On a lower tier the setting has no effect and the plugin is not loaded.

Licenses whose tier reads Premium or Enterprise both carry this entitlement — NetBox Enterprise treats them as the same tier.

For the feature documentation itself, including the data model and workflows, see the NetBox Asset Lifecycle docs. This page covers enabling and operating it inside NetBox Enterprise.

Before you enable it

Read these first. Each one changes the outcome.

  • ALM cannot coexist with netbox_inventory or netbox_lifecycle. If either plugin is present in your Python configuration overrides, NetBox Enterprise does not enable ALM and reports the conflict on the NetBoxEnterprise resource. NetBox keeps running normally.
  • Enabling and disabling both cause a brief interruption. Each change reruns NetBox database migrations and restarts the NetBox pods.
  • Disabling keeps your data. Turning ALM off removes the plugin from NetBox but retains every ALM table and record. Re-enabling restores access to them.
  • ALM data is not branch-isolated. If you use Change Management, ALM models are exempt from branching, so edits to ALM objects are not held inside a branch.

Enabling ALM

Embedded Cluster

  1. Open the Config tab in the NetBox Enterprise Admin Console.
  2. Find the Asset Lifecycle Management section. It is only shown on a license carrying the Premium-tier entitlement.
  3. Tick Enable Asset Lifecycle Management.
  4. Save the configuration and deploy the new version.

NetBox reruns its migrations and restarts. Expect a short interruption.

Helm

Set the plugin lever in your values file:

netboxEnterprise:
  spec:
    plugins:
      assetLifecycle:
        enabled: true

See spec.plugins for the full field reference.

Verifying it is active

ALM appears in the plugins API once it loads:

curl -s -H "Authorization: Token $NETBOX_TOKEN" \
  https://<your-netbox>/api/plugins/ | jq '.[] | select(.name | contains("asset"))'

You can also confirm from the cluster that the operator did not gate it off:

kubectl -n netbox get netboxenterprise netbox \
  -o jsonpath='{.status.conditions[?(@.type=="AssetLifecycle")]}' | jq

No AssetLifecycle condition means ALM is either inactive or active and healthy. A condition with status: "False" names the reason.

Troubleshooting

The Asset Lifecycle section is missing from the Admin Console

The section is only rendered on a license carrying the Premium-tier entitlement — a tier of Premium or Enterprise. Check your license tier with your account team.

ALM is enabled but the plugin is not loaded

Check the AssetLifecycle condition on the NetBoxEnterprise resource:

ReasonMeaningFix
RequiresPremiumLicenseThe setting is on but the license carries no Premium-tier entitlementUpgrade the license, or turn the setting off
ConflictsWithNetboxInventorynetbox_inventory is present in your Python configuration overridesRemove netbox_inventory, or leave ALM disabled
ConflictsWithNetboxLifecyclenetbox_lifecycle is present in your Python configuration overridesRemove netbox_lifecycle, or leave ALM disabled

The operator declines to enable ALM in each case rather than letting NetBox fail to start.

Deleting an object fails with a 409 after disabling ALM

This is expected. ALM protects the objects it references, and disabling the plugin retains both the data and those protections. A Site still referenced by an ALM record cannot be deleted while that record exists.

Re-enable ALM to view and remove the referencing records, then delete the object.

Additional Resources

On this page