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:HostOverrideopnsense:unbound:HostAliasOverride
Provider configuration keys:
opnsense:addressopnsense:keyopnsense:secret
Repository Layout
provider/- provider implementation and schema sourcesdk/- generated SDKs for Go, Node.js, Python, and .NETexamples/- Pulumi example programs (yamlis 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
developworkflow builds and validates the provider on pull requests and on schedule.main-tagworkflow creates release tags from commits onmain.releaseworkflow 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=trueis set in theMakefileto prefer local, pinned plugins.- Example config values in
examples/yamlare 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pulumi_opnsense-0.3.50.tar.gz.
File metadata
- Download URL: pulumi_opnsense-0.3.50.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0af10c49bde1b4cd5f6d662a3bc33fea611028c9c4ecde83d4d569f8e85748a6
|
|
| MD5 |
d7965b2ab8456f1afae287c7bfe19b83
|
|
| BLAKE2b-256 |
5be0bc9d72bc0af62ec4f3cc592cc7b0a8b9896d618a245348df4141d17645ff
|
File details
Details for the file pulumi_opnsense-0.3.50-py3-none-any.whl.
File metadata
- Download URL: pulumi_opnsense-0.3.50-py3-none-any.whl
- Upload date:
- Size: 14.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b884abbec2ed1c77686f6149f1926c0dbd1c62863e418c29d226e2e407019ca0
|
|
| MD5 |
0608124fc4a70b9addc81e601e9a5a2c
|
|
| BLAKE2b-256 |
ed652e72045eddb6cd3278dcc421c756d3ee14ebe53de31e9f45bf24455293eb
|