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

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pulumi_opnsense-0.3.51.tar.gz
Algorithm Hash digest
SHA256 94ffea8f92500a75b03e6ff35bae929874bbb10a93805e16e71e8db8f5c926ba
MD5 788b8e49873493d8462475ab6ef89d1d
BLAKE2b-256 ea2b1a1e62010d930da3e73913adcf433d42aa46decfd83b7aa990e4f2bb9866

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pulumi_opnsense-0.3.51-py3-none-any.whl
Algorithm Hash digest
SHA256 c682b28236e27c61075fae93e5ea5bcdb3ec123a1d6cf8f2007e7673879e4d91
MD5 83af04432863528ee8489a0367cca7b3
BLAKE2b-256 a02045c5bcd2aabc128522a65d90b966d18138f1d70b3dcbd3959fe368d21d43

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