Skip to main content

The Pulumi OpnSense provider is used to interact with the resources supported by OpnSense.

Project description

Pulumi OPNsense Native Provider

Pulumi provider for managing OPNsense resources, currently focused on Unbound DNS overrides.

Scope

Current provider resources:

  • opnsense:unbound:HostOverride
  • opnsense:unbound:HostAliasOverride

Provider configuration keys:

  • opnsense:address
  • opnsense:key
  • opnsense:secret

Repository Layout

  • provider/ - provider implementation and schema source
  • sdk/ - generated SDKs for Go, Node.js, Python, and .NET
  • examples/ - Pulumi example programs (yaml is the source for generated examples)
  • deployment-templates/ - release workflow and GoReleaser templates

Prerequisites

  • Go
  • Pulumi CLI
  • pulumictl
  • Node.js + Yarn
  • Python 3
  • .NET SDK
  • jq

You can use mise to install pinned local tools:

mise install

Build

Build provider + all SDKs:

make build

Build provider binary only:

make provider

Install provider and local SDK links:

make install

Development

Keep dependencies tidy

make tidy

Generate schema and SDKs

make codegen

Lint and tests

Run lint for provider code:

make lint

Install and run pre-commit hooks:

pipx install pre-commit
make pre-commit-install
make pre-commit-run

Run provider tests:

make test_provider

Debug build

Build an unoptimized provider binary for local debugging:

make provider_debug

Examples

The canonical example is examples/yaml. Language-specific examples are generated from it.

Generate all language examples:

make gen_examples

Run the YAML example locally:

make up

Destroy example resources:

make down

CI and Releases

  • develop workflow builds and validates the provider on pull requests and on schedule.
  • main-tag workflow creates release tags from commits on main.
  • release workflow builds provider artifacts, generates SDK packages, and publishes release outputs.

Release setup details are documented in deployment-templates/README-DEPLOYMENT.md.

Notes

  • PULUMI_IGNORE_AMBIENT_PLUGINS=true is set in the Makefile to prefer local, pinned plugins.
  • Example config values in examples/yaml are placeholders and must be replaced with valid OPNsense API credentials.

References

Project details


Release history Release notifications | RSS feed

This version

0.4.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pulumi_opnsense-0.4.0.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pulumi_opnsense-0.4.0-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file pulumi_opnsense-0.4.0.tar.gz.

File metadata

  • Download URL: pulumi_opnsense-0.4.0.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.14.3

File hashes

Hashes for pulumi_opnsense-0.4.0.tar.gz
Algorithm Hash digest
SHA256 ba06122f60b4c997a66743323c3dbb5fff987882eb12813bacb47b14df352e67
MD5 05cbbf20d488182d0c556e9a852f066b
BLAKE2b-256 840ae15a36f1754ec69fb476436654e681abecd65979b7a4b1a14e6756694804

See more details on using hashes here.

File details

Details for the file pulumi_opnsense-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pulumi_opnsense-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d47236a9011b86cd9cdb6fcd5d494d6da4c3445cf2650c6a691f0c1f21d6d2fb
MD5 0938ed9745af5ca2b92d5f1102957991
BLAKE2b-256 5d35d7462d3444acf38b5c61989ad614bc014d25f708f075282b8e4b966fd777

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page