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

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.49.tar.gz (10.4 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.49-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pulumi_opnsense-0.3.49.tar.gz
  • Upload date:
  • Size: 10.4 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.49.tar.gz
Algorithm Hash digest
SHA256 3632af98671d84c30c3b674baad6fe088478a01e21092a39977ac26dd16042f8
MD5 0b653acaa0f980e45d22ab9806aa5149
BLAKE2b-256 15661dc6795433b2cf1816f6ba296c0b2f959fccf3af4fe8109c82b07212b5d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pulumi_opnsense-0.3.49-py3-none-any.whl
Algorithm Hash digest
SHA256 6e968193561a8b8e0e92c12b75dcdde5cbc8a599595561c440241f7487ff7d5b
MD5 727f932f84a09da5f92ac177ecc0e744
BLAKE2b-256 2e25c3129355ef6e75db4505bd83c304c7b7e68758b8d215eb36c5843669ac0b

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