IaC Bazaar
Oracle CloudPlan-validated

Bastion Service

Zero-footprint managed bastion with session-managed SSH/port-forward access to private subnets - replaces jump hosts.

terraformOracle Cloud#oci
oci-bastionterraform v1.7

Verification

Plan-validated

Passed: 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

Functional

  • Live test pending (no cloud run yet)

Last verified 2026-06-28 · how we verify

Verify this download

cosign · sha-256

Don'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 -c

Use it from the registry

terraform · opentofu
module "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 validate and tflint, 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_list is required and must be non-empty (an empty list lets OCI default to 0.0.0.0/0). A literal 0.0.0.0/0 is rejected unless you set allow_internet_clients = true.
  • Short-lived sessions. max_session_ttl_in_seconds defaults to 30 minutes and is capped at OCI's 3-hour ceiling. Each session's session_ttl_in_seconds must be the bastion's max_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 sensitive map (session_public_keys) so session metadata stays plannable and the key never becomes a for_each key.
  • 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