terraform-provider-uds

command module
v0.5.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 8, 2026 License: AGPL-3.0 Imports: 8 Imported by: 0

README

OpenTofu Provider for UDS (Unified Defense Stack)

Manage UDS resources with OpenTofu. Currently, the provider supports deploying and managing UDS packages.

[!WARNING] This provider is an alpha release. Its interfaces and behavior may change between releases, including breaking changes.

Installation

Provider releases are available from the OpenTofu Registry and Terraform Registry.

Usage

terraform {
  required_providers {
    uds = {
      source  = "defenseunicorns/uds"
      version = "~> 0.5.3" # x-release-please-version
    }
  }
}

resource "uds_package" "init" {
  source = "oci://ghcr.io/zarf-dev/packages/init:v0.85.0"

  # init is keyless-signed. This example skips verification for brevity.
  signature_verification = {
    verify = false
  }
}

resource "uds_package" "dos_games" {
  depends_on = [uds_package.init]
  source     = "oci://ghcr.io/zarf-dev/packages/dos-games:1.3.0"
  namespace  = "demo"

  # dos-games is key-signed. This example skips verification for brevity.
  signature_verification = {
    verify = false
  }
}
tofu init
tofu plan
tofu apply
Logging

Provider and Zarf output is emitted through OpenTofu's provider log stream rather than written directly to stdout. The following settings control that provider/OpenTofu log stream only:

  • Set TF_LOG=INFO for lifecycle messages and non-muted Zarf command output.
  • Set TF_LOG=DEBUG for detailed Zarf diagnostics.
  • Set TF_LOG_PROVIDER=INFO or TF_LOG_PROVIDER=DEBUG to filter provider logs.
  • Set TF_LOG_PATH=/absolute/path to persist logs.

Failed non-muted Zarf output is included in the normal Terraform diagnostic regardless of these log settings. Successful Zarf command output remains log-only, while muted command output remains suppressed. Raw successful Zarf command output is still subject to the logging system's filtering and persistence settings.

Documentation

Development

See CONTRIBUTING.md.

License

See LICENSE.

Documentation

Overview

Package main provides the entrypoint for the UDS Terraform provider.

Directories

Path Synopsis
internal
cluster
Package cluster provides interfaces and implementations for Zarf cluster operations.
Package cluster provides interfaces and implementations for Zarf cluster operations.
docheaderfilter command
Package main filters SPDX headers from rendered documentation code blocks.
Package main filters SPDX headers from rendered documentation code blocks.
fileutil
Package fileutil provides file utility functions.
Package fileutil provides file utility functions.
fixzarf
Package fixzarf provides utilities to fix zarf argument handling and initialization ordering.
Package fixzarf provides utilities to fix zarf argument handling and initialization ordering.
logging
Package logging integrates provider and Zarf logging with Terraform logs.
Package logging integrates provider and Zarf logging with Terraform logs.
packager
Package packager provides interfaces and implementations for Zarf package operations.
Package packager provides interfaces and implementations for Zarf package operations.
provider
Package provider implements the UDS Terraform provider.
Package provider implements the UDS Terraform provider.
provider/validator
Package validator provides custom validation functions for Terraform attributes.
Package validator provides custom validation functions for Terraform attributes.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL