Bastion Service
Zero-footprint managed bastion with session-managed SSH/port-forward access to private subnets - replaces jump hosts.
Verification
Plan-validatedPassed: module logic verified on a mocked plan - inputs, validation rules, conditional creation and outputs resolve (no real provider, no cloud).
Conformance
- Static validation (fmt · validate · tflint)
- Security scan clean (Checkov)
- Plan tests (mocked: validation rules · outputs)
Provenance
- SHA-256 checksum
- Cosign signature
Functional
- Live test pending (no cloud run yet)
Last verified 2026-06-28 · how we verify
Verify this download
cosign · sha-256Don't take our word for it. Every release is signed with cosign - check the bytes against our pinned public key before you trust them.
# 1. Our pinned public key - fetch once, trust out-of-band
curl -O https://www.iac-bazaar.com/cosign.pub
# 2. This module's Sigstore bundle
curl -o oci-bastion-1.0.0.sigstore.json \
https://www.iac-bazaar.com/api/artifacts/oci-bastion/signature
# 3. Verify the tarball you downloaded
cosign verify-blob \
--key cosign.pub \
--bundle oci-bastion-1.0.0.sigstore.json \
oci-bastion-1.0.0.tar.gz
# → Verified OK
# 4. (optional) confirm the checksum too
echo "36f4c5b7bfec7a7e97e78a6971a088d8f44804ebffe05672d03effb29be68269 oci-bastion-1.0.0.tar.gz" | sha256sum -cUse it from the registry
terraform · opentofumodule "bastion" {
source = "www.iac-bazaar.com/iac-bazaar/oci-bastion/oci"
version = "1.0.0"
}Paid module — needs a purchase (or a subscription that covers it) plus a registry token from /account/tokens. Full setup: registry docs.
Inputs & outputs
Create a free account to read this module's contract
The declared contract — every input name, type, default and description, plus every output — is shown to signed-in accounts, not to anonymous visitors.
A free account sees the contract of every Free module. This one is Basic, so its contract unlocks when you buy it.
Documentation
oci-bastion
Status: static-validated, live-test pending. This module ships under live-test quarantine — it passes
tofu fmt,tofu validateandtflint, but a real apply → verify → destroy has not yet run (no OCI cloud sandbox available). Promotion to a full live-tested artifact follows when a sandbox exists.
The OCI Bastion service as a drop-in replacement for jump hosts: a
zero-footprint, fully-managed broker for session-scoped SSH / port-forward
access into private subnets — no public IP, no VM to patch, no standing SSH
exposure. Works with Terraform and OpenTofu (>= 1.6), OCI provider
>= 8.0, < 9.0. The Bastion service is free on all accounts.
Secure defaults:
- No connect-from-anywhere.
client_cidr_block_allow_listis required and must be non-empty (an empty list lets OCI default to0.0.0.0/0). A literal0.0.0.0/0is rejected unless you setallow_internet_clients = true. - Short-lived sessions.
max_session_ttl_in_secondsdefaults to 30 minutes and is capped at OCI's 3-hour ceiling. Each session'ssession_ttl_in_secondsmust be ≤ the bastion'smax_session_ttl_in_seconds(OCI rejects any longer-lived session); the module enforces this at plan time. - Key material is segregated. SSH public keys live in a separate
sensitivemap (session_public_keys) so session metadata stays plannable and the key never becomes afor_eachkey. - MANAGED_SSH / PORT_FORWARDING invariants (os_username, target_resource_id) are enforced with preconditions, so a malformed session fails at plan time.
Requirements
- Terraform or OpenTofu
>= 1.6 - Provider
oracle/oci>= 8.0, < 9.0
License
Commercial — LicenseRef-IaCBazaar-Commercial.
Usage code & full reference unlock after purchase
The complete copy-paste usage, the full input/output reference, and operational notes ship with your licence - shown here and bundled in the download.
- Usage
- Inputs
- Outputs
- Notes