Skip to content

Repository files navigation

Iact3 logo

Iact3

Iact3(IaC Template Testing Tool) is a tool that tests Alibaba Cloud ROS(Resource Orchestration Service) templates and Terraform. It deploys your template in multiple Alibaba Cloud Regions and generates a report for each region via a simple configuration file.

It provides both a command-line interface (CLI) and a web-based UI for an interactive experience.

alibabacloud-ros-iact3 alibabacloud-ros-iact3

Iact3 (IaC Template Testing Tool) is a CLI for testing Alibaba Cloud ROS(Resource Orchestration Service) and Terraform templates.

  • Tests ROS and Terraform IaC templates before rollout.
  • Runs templates with multiple test cases, parameters, and regions from a simple configuration file.
  • Provides commands for validation, preview, cost estimation, policy inspection, stack cleanup, and pseudo-parameter generation.

Requirements

  • Python 3.7+

Installation

pip install alibabacloud-ros-iact3

Usage

CLI Mode

Run template tests from the project root:

iact3 test run

Or pass an explicit project path:

iact3 test run --project-path ./demo

Common commands:

iact3 validate
iact3 preview
iact3 cost
iact3 policy
iact3 test params

See the documentation for full CLI usage.

Web UI Mode

Start the built-in web server for a browser-based interface:

iact3 server start

The terminal prints an access token. Open http://localhost:8088 and enter that token to sign in.

The Web UI provides:

  • Workspace — edit templates and config files, run analysis (validate, preview, cost, policy) and full tests in one page
  • Dashboard — monitor test runs, browse analysis history, and manage projects
  • Reports — view and download generated output files
  • Settings — configure credentials and default values

Optional parameters:

  • --host — loopback bind address (default: 127.0.0.1)
  • --port — port number (default: 8088)
  • --token — set the access token instead of generating one

The built-in server intentionally does not listen on external interfaces because it serves plain HTTP. For remote access, keep it on loopback and use an SSH tunnel to forward the port.

Example:

iact3 server start --host 127.0.0.1 --port 9000

Building Standalone Binary

You can build iact3 as a standalone binary using PyInstaller, which requires no Python installation to run.

Prerequisites

  • Python 3.8+
  • Build dependencies (pip install ".[binary]")

Build

python build.py

The binary will be generated at dist/iact3 (or dist/iact3.exe on Windows).

Pre-built Binaries

Pre-built binaries for Linux (amd64), macOS (arm64), and Windows (amd64) are available on the Releases page. Download the appropriate binary for your platform and run it directly. (Apple Silicon only; Intel Mac users can install via pip.)

Documentation

Fantastic documentation is available at: English | 中文版.

About

Iact3 is a CLI for testing Alibaba Cloud ROS and Terraform templates.

Topics

Resources

Stars

14 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages