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.1

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.1.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.1-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pulumi_opnsense-0.4.1.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.1.tar.gz
Algorithm Hash digest
SHA256 b5f391e544df4eee1134c441ad6317727ec9a8a9d971932566955b7801a2b63d
MD5 6e065d26b52d82332d04aca1e918a9b2
BLAKE2b-256 1f1fa7885a5fcc341e64a73d3577e6c7cfeeca2ee30ede61e478f667da5545d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pulumi_opnsense-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a502f87df0cc24d4666155e6927fd48d1b19b97286050720d76312769061a4a9
MD5 a47558e602adc7ff6c99f9a61874dd58
BLAKE2b-256 a04db62b8f4b1d1f5c1bbc1c68469d4dc46df1de94961c66f7d4426faf53168f

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