CLI tool to interact and use THipster, build with Typer.
THipster is a tool dedicated to simplifying the ordeal associated with writing Terraform files. It allows users to write infrastructure as code in a simplified format, using either YAML (with JINJA) or the dedicated Thipster DSL.
Written entirely in Python, it leverages the Python CDK for Terraform to create Terraform files and apply them to the chosen provider.
Written in Python 3.11, thipster-cli is build using Typer.
THipster-cli is currently in an active development state. If you want to know more, please check the CHANGELOG for more details.
To use the CLI, you will need to have all the required THipster dependencies installed on your machine. Please refer to the THipster documentation for more details.
The project is designed to be simply installed using pip.
pip install thipstercli
The list of available versions can be found on PyPI.
The CLI can be configured using a configuration file. A default config.json
file will be created in the /home/<user>/.config/thipstercli
directory the first time the CLI is used.
Example of a configuration file:
{
"app_name": "thipstercli",
"auth_provider": "google",
"input_dir": ".",
"local_models_repository_path": "models",
"models_repository": "THipster/models",
"models_repository_branch": "main",
"models_repository_provider": "local",
"output_dir": ".",
"verbose": false
}
The cli is composed of 3 main commands:
version
: display the current version of the package
thipster version -t
providers
: subcommand group tp handle all tasks related to infrastructure providers
thipster providers --help
run
: main command to execute the thipster tool
thipster run --help
You can also check the thipster package documentation for more details on the main features and purpose of the tool.
To test the CLI, you can run the following command:
pip install -e .[test]
pytest tests
All known issues, bugs, improvements, etc. are tracked as GitHub issues.
If you have questions, concerns, bug reports, etc, please file an issue in this repository's Issue Tracker.
To install the project in development mode, run the following command:
pip install -e .[dev,test]
pre-commit install && pre-commit run --all-files
If you would like to be involved in the project feel free to check the CONTRIBUTING file. We will be happy to have you onboard.