Skip to content

Commit 826f71d

Browse files
committed
change name
1 parent a5b25b3 commit 826f71d

7 files changed

Lines changed: 52 additions & 51 deletions

File tree

README.md

Lines changed: 41 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
# Configuration Management for OpenTofu and Terraform
1+
# IaCConsole CLI — Configuration Management for OpenTofu and Terraform
22

3-
[![GitHub stars](https://img.shields.io/github/stars/alt-dima/tofugu)](https://github.com/alt-dima/tofugu)
4-
[![GitHub license](https://img.shields.io/github/license/alt-dima/tofugu)](https://github.com/alt-dima/tofugu/blob/main/LICENSE)
5-
[![Go Report Card](https://goreportcard.com/badge/github.com/alt-dima/tofugu)](https://goreportcard.com/report/github.com/alt-dima/tofugu)
6-
[![GitHub release](https://img.shields.io/github/v/release/alt-dima/tofugu)](https://github.com/alt-dima/tofugu/releases)
3+
[![GitHub stars](https://img.shields.io/github/stars/alt-dima/iacconsole-cli)](https://github.com/alt-dima/iacconsole-cli)
4+
[![GitHub license](https://img.shields.io/github/license/alt-dima/iacconsole-cli)](https://github.com/alt-dima/iacconsole-cli/blob/main/LICENSE)
5+
[![Go Report Card](https://goreportcard.com/badge/github.com/alt-dima/iacconsole-cli)](https://goreportcard.com/report/github.com/alt-dima/iacconsole-cli)
6+
[![GitHub release](https://img.shields.io/github/v/release/alt-dima/iacconsole-cli)](https://github.com/alt-dima/iacconsole-cli/releases)
77
[![Go Version](https://img.shields.io/badge/go-%3E%3D1.21-blue)](https://golang.org/)
8-
[![Downloads](https://img.shields.io/github/downloads/alt-dima/tofugu/total)](https://github.com/alt-dima/tofugu/releases)
8+
[![Downloads](https://img.shields.io/github/downloads/alt-dima/iacconsole-cli/total)](https://github.com/alt-dima/iacconsole-cli/releases)
99

10-
`tofugu` is a configuration management CLI that dynamically orchestrates OpenTofu or Terraform deployments. It separates infrastructure configuration from code, enabling DevOps teams to reuse Terraform modules across multiple environments (dev, staging, production) without code duplication. Configuration can be sourced from files or a Configuration Management Database (CMDB) with an OpenAPI-powered interface called Toaster.
10+
IaCConsole CLI is a configuration management tool that dynamically orchestrates OpenTofu or Terraform deployments. It separates infrastructure configuration from code, enabling DevOps teams to reuse Terraform modules across multiple environments (dev, staging, production) without code duplication. Configuration can be sourced from files or the IaCConsole API (CMDB), an OpenAPI-powered configuration database.
1111

1212
## Table of Contents
1313

@@ -38,23 +38,23 @@
3838
You will need any Kubernetes cluster (best small temporary like Podman+Kind or MiniKube).
3939
Check that kubectl context poiting to this test cluster! Not Production!
4040

41-
For a full end-to-end example of using TofuGu in a CI/CD pipeline, see the pre-configured Jenkins deployment in [examples/jenkins/README.md](examples/jenkins/README.md).
41+
For a full end-to-end example of using IaCConsole CLI in a CI/CD pipeline, see the pre-configured Jenkins deployment in [examples/jenkins/README.md](examples/jenkins/README.md).
4242
<img width="1432" height="1188" alt="2025-11-07_20-41" src="https://github.com/user-attachments/assets/76a6e8b5-16cc-4818-840e-22603e38bc63" />
4343

4444
## Installation
4545

4646
### Download Pre-built Binaries
4747

48-
1. Download the latest release from [GitHub Releases](https://github.com/alt-dima/tofugu/releases) (version >= 0.5.0)
48+
1. Download the latest release from [GitHub Releases](https://github.com/alt-dima/iacconsole-cli/releases) (version >= 0.5.0)
4949
2. Extract the binary for your platform (Linux/macOS)
5050
3. Make it executable: `chmod +x tofugu`
5151
4. Move to your PATH: `sudo mv tofugu /usr/local/bin/`
5252

5353
### Build from Source
5454

5555
```bash
56-
git clone https://github.com/alt-dima/tofugu.git
57-
cd tofugu
56+
git clone https://github.com/alt-dima/iacconsole-cli.git
57+
cd iacconsole-cli
5858
go build -o bin/tofugu .
5959
```
6060

@@ -66,7 +66,7 @@ go build -o bin/tofugu .
6666
## Quick start locally with demo configuration
6767

6868
2. Install [OpenTofu](https://opentofu.org/docs/intro/install/)
69-
3. Execute to generate simple demo configuration with connection to demo account in [Configuration Management Database (CMDB) with OpenAPI - Toaster](#configuration-management-database-cmdb-with-openapi---toaster):
69+
3. Execute to generate simple demo configuration with connection to demo account in the [IaCConsole API (CMDB)](#configuration-management-database-cmdb---iacconsole-api):
7070

7171
```bash
7272
tofugu init
@@ -82,27 +82,28 @@ tofugu init --toaster=false
8282

8383
## Quick start with AI Coding Assistants
8484

85-
Getting started with `tofugu` is even easier using AI coding assistants:
85+
Getting started with IaCConsole CLI is even easier using AI coding assistants:
8686

8787
1. Open the repository in your preferred editor with an AI assistant installed:
8888

89-
- GitHub Copilot in VS Code
90-
- Cursor
91-
- Claude/Anthropic
92-
- WindSurf
93-
- Cline
89+
- GitHub Copilot in VS Code
90+
- Cursor
91+
- Claude/Anthropic
92+
- WindSurf
93+
- Cline
9494

9595
2. Ask questions like:
96-
- "How do I set up tofugu for AWS resources?"
97-
- "Help me create a new tofi for a GCP instance"
98-
- "How do I use Toaster CMDB with tofugu?"
99-
- "Show me how to pass environment variables to my terraform code"
96+
97+
- "How do I set up IaCConsole for AWS resources?"
98+
- "Help me create a new tofi for a GCP instance"
99+
- "How do I use the IaCConsole API (CMDB)?"
100+
- "Show me how to pass environment variables to my terraform code"
100101

101102
These instructions provide context about:
102103

103-
- The architecture and key concepts of tofugu
104+
- The architecture and key concepts of IaCConsole CLI
104105
- How to work with tofies, dimensions, and inventory sources
105-
- Integration with Toaster CMDB (OpenAPI-powered Configuration Management Console) for centralized configuration
106+
- Integration with the IaCConsole API (CMDB) and IaCConsole Web UI for centralized configuration
106107
- Project-specific conventions and workflows
107108

108109
For more complex tasks, you can ask the AI assistant to guide you step-by-step through creating configurations, setting up the backend, or troubleshooting deployment issues.
@@ -157,30 +158,30 @@ Currently, only `dimensions` with a list of the required/expected dimensions (fr
157158

158159
## Configuration Storage
159160

160-
### Configuration Management Database (CMDB) with OpenAPI - Toaster
161+
### Configuration Management Database (CMDB) — IaCConsole API
161162

162-
Toaster is an OpenAPI-powered Configuration Management Database with a web-based **Configuration Management Console** for centrally managing infrastructure configurations.
163+
IaCConsole API is an OpenAPI-powered Configuration Management Database with a web-based **IaCConsole Web UI** for centrally managing infrastructure configurations.
163164

164-
You could set the env variable `toasterurl` to point to Toaster CMDB, like:
165+
You can set the env variable `toasterurl` to point to the IaCConsole API (CMDB), like:
165166

166167
```bash
167168
export toasterurl='https://accountid:accountpass@toaster.altuhov.su'
168169
```
169170

170-
To generate your own credentials please go to [https://toaster.altuhov.su/](https://toaster.altuhov.su/), fill the form with Account Name, Email, and press `Create Account` and you will receive generated credentials and a ready-to-use export command like:
171+
To generate your own credentials please go to [https://iacconsole.com/](https://iacconsole.com/), fill the form with Account Name, Email, and press `Create Account` and you will receive generated credentials and a ready-to-use export command like:
171172

172173
```
173174
export toasterurl=https://6634b72292e9e996105de19e:generatedpassword@toaster.altuhov.su
174175
```
175176

176177
<img width="500" alt="Screenshot_20250915_222318" src="https://github.com/user-attachments/assets/062848dc-e67d-48c6-adfe-9e1b9fddc7fd" />
177178

178-
With the correct `toasterurl`, TofuGu will connect and receive all the required dimension data from Toaster CMDB.
179+
With the correct `toasterurl`, the CLI will connect and receive all the required dimension data from the IaCConsole API (CMDB).
179180
An additional parameter could be passed to tofugu `-w workspacename`. In general, `workspacename` is the branch name of the source repo where the dimension is stored. If Toaster CMDB does not find the dimension with the specified `workspacename`, it will try to return the dimension from the `master` workspace/branch!
180181

181-
**Toaster CMDB** provides additional features for your CI/CD pipelines:
182+
**IaCConsole API (CMDB)** provides additional features for your CI/CD pipelines:
182183

183-
- **Configuration Management Console** - Web UI for managing configurations at [https://toaster.altuhov.su/console](https://toaster.altuhov.su/console)
184+
- **IaCConsole Web UI** - Visual console for managing configurations at [https://iacconsole.com/console](https://iacconsole.com/console)
184185
- **OpenAPI RESTful API** - Programmatic access to configuration data with full API documentation
185186
- **CI/CD Integration** - Fetch configurations directly in pipelines (e.g., [first-app.json](examples/inventory/demo-org/application/first-app.json) for validation)
186187
- **Dynamic Dropdowns** - Get dimension lists for [Jenkins drop-downs](examples/jenkins/README.md) to select deployment targets
@@ -190,13 +191,13 @@ An additional parameter could be passed to tofugu `-w workspacename`. In general
190191
**OpenAPI Documentation:**
191192
[Swagger API docs - Full RESTful API documentation and examples](https://app.swaggerhub.com/apis-docs/altuhovsu/tofugu_toaster_api/)
192193

193-
To upload/update dimensions in Toaster from your Inventory Files repo you could use [inventory-to-toaster.sh script example](examples/inventory-to-toaster.sh) and execute it like `bash examples/inventory-to-toaster.sh examples/inventory/`
194+
To upload/update dimensions to the IaCConsole API from your Inventory Files repo you can use [inventory-to-toaster.sh script example](examples/inventory-to-toaster.sh) and execute it like `bash examples/inventory-to-toaster.sh examples/inventory/`
194195

195-
Please join the [Toaster CMDB beta-testers!](https://github.com/alt-dima/tofugu/issues/10)
196+
Please join the [IaCConsole beta-testers!](https://github.com/alt-dima/iacconsole-cli/issues/10)
196197

197198
### File-based Configuration Storage (Inventory Files)
198199

199-
If the env variable `toasterurl` is not set, TofuGu will use file-based configuration Storage (probably dedicated git repo), specified by the path configured in `inventory_path`.
200+
If the env variable `toasterurl` is not set, the CLI will use file-based configuration Storage (probably dedicated git repo), specified by the path configured in `inventory_path`.
200201

201202
Examples:
202203

@@ -205,7 +206,7 @@ Examples:
205206

206207
### Dimensions usage in tf-code
207208

208-
When you set dimensions in the tofugu flags `-d datacenter:staging1`, TofuGu will provide you inside tf-code next variables:
209+
When you set dimensions in the CLI flags `-d datacenter:staging1`, IaCConsole CLI will provide you inside tf-code the following variables:
209210

210211
- var.tofugu_datacenter_name = will contain string `staging1`
211212
- var.tofugu_datacenter_data = will contain the whole object from `staging1.json`
@@ -243,7 +244,7 @@ Config file (in YAML format) path may be provided by the `--config` flag, for ex
243244
tofugu --config path_to_config/tofuguconfig cook -o demo-org -d account:test-account -d datacenter:staging1 -t vpc -- init
244245
```
245246

246-
If the `--config` flag is not set, then it will try to load from the default location `$HOME/.tofugu`
247+
If the `--config` flag is not set, then it will try to load from the default location `$HOME/.tofugu` (current binary name remains `tofugu`).
247248

248249
[.tofugu example](examples/.tofugu):
249250

@@ -268,7 +269,7 @@ gcp-org:
268269
- `inventory_path` = relative path to the folder with JSONs
269270
- `cmd_to_exec` = name of the binary to execute (`tofu` or `terraform`)
270271
- `backend` = Config values for backend provider. All the child key:values will be provided to `init` and `$tofugu_state_path` will be replaced by the generated path.
271-
For example, when you execute `tofugu cook ...... -- init`, TofuGu actually will execute `init -backend-config=bucket=gcp-tfstates -backend-config=prefix=account_free-tier/free_instance.tfstate`
272+
For example, when you execute `tofugu cook ...... -- init`, IaCConsole CLI actually will execute `init -backend-config=bucket=gcp-tfstates -backend-config=prefix=account_free-tier/free_instance.tfstate`
272273

273274
At least
274275

@@ -313,7 +314,7 @@ Examples:
313314
314315
## Remote state (Terraform Backend where state data files are stored)
315316
316-
AWS, Google Cloud, and some other backends are supported! You could configure any backend provider in the [TofuGu Config file](#hometofugu)
317+
AWS, Google Cloud, and some other backends are supported! You can configure any backend provider in the [Config file](#hometofugu)
317318
318319
[For AWS S3 your terraform code (`tofi`) should contain at least:](examples/tofies/demo-org/vpc/versions.tf#L4):
319320
@@ -341,7 +342,7 @@ This could be useful if you want to store by default tfstate for all the organiz
341342
342343
To simplify "Data Source Configuration" (`data "terraform_remote_state" "tfstate" { }`) it will be nice to have backend config values as tfvars.
343344
344-
`var.tofugu_backend_config` will contain all the parameters from [TofuGu config (backend Section)](#hometofugu)
345+
`var.tofugu_backend_config` will contain all the parameters from the [config (backend Section)](#hometofugu)
345346
346347
[For example, for AWS S3](examples/tofies/demo-org/vpc/data.tf):
347348
@@ -385,5 +386,5 @@ Do not forget to create the plugin-cache dir: `mkdir "$HOME/.terraform.d/plugin-
385386

386387
## License
387388

388-
`tofugu` is licensed with Apache License Version 2.0.
389+
IaCConsole CLI is licensed with Apache License Version 2.0.
389390
Please read the LICENSE file for more details.

cmd/cook.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"strings"
1010
"syscall"
1111

12-
"github.com/alt-dima/tofugu/utils"
12+
"github.com/alt-dima/iacconsole-cli/utils"
1313
"github.com/spf13/cobra"
1414
)
1515

cmd/inittofu.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"os"
77
"path/filepath"
88

9-
"github.com/alt-dima/tofugu/utils"
9+
"github.com/alt-dima/iacconsole-cli/utils"
1010
"github.com/spf13/cobra"
1111
)
1212

examples/jenkins/Jenkinsfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ properties([
1919
import groovy.json.JsonSlurper
2020
2121
try {
22-
def url = new URL('https://toaster.altuhov.su/api/dimension/example-org/account?workspace=master&fallbacktomaster=true&needdimdata=false')
22+
def url = new URL('https://api.iacconsole.com/v1/dimension/example-org/account?workspace=master&fallbacktomaster=true&needdimdata=false')
2323
def connection = url.openConnection()
2424
connection.setRequestProperty('Authorization', 'Basic NjYyY2FiN2M1ZTExNjgxOTczOGIwMWZlOnN1cGVydG9hc3Rlcg==')
2525
connection.requestMethod = 'GET'
@@ -58,7 +58,7 @@ properties([
5858
import groovy.json.JsonSlurper
5959
6060
try {
61-
def url = new URL('https://toaster.altuhov.su/api/dimension/example-org/datacenter?workspace=master&fallbacktomaster=true&needdimdata=false')
61+
def url = new URL('https://api.iacconsole.com/v1/dimension/example-org/datacenter?workspace=master&fallbacktomaster=true&needdimdata=false')
6262
def connection = url.openConnection()
6363
connection.setRequestProperty('Authorization', 'Basic NjYyY2FiN2M1ZTExNjgxOTczOGIwMWZlOnN1cGVydG9hc3Rlcg==')
6464
connection.requestMethod = 'GET'
@@ -86,7 +86,7 @@ pipeline {
8686
stages {
8787
stage('Build') {
8888
steps {
89-
git url: 'https://github.com/alt-dima/tofugu.git', branch: 'main'
89+
git url: 'https://github.com/alt-dima/iacconsole-cli.git', branch: 'main'
9090
echo "Selected account: ${params.Account}"
9191
echo "Selected data center: ${params.DataCenter}"
9292
}
@@ -107,7 +107,7 @@ pipeline {
107107
sh "curl -L -o tofu_1.10.7_linux_${archSuffix}.tar.gz https://github.com/opentofu/opentofu/releases/download/v1.10.7/tofu_1.10.7_linux_${archSuffix}.tar.gz"
108108
sh "tar -xvf tofu_1.10.7_linux_${archSuffix}.tar.gz -C /tmp"
109109

110-
sh "curl -L -o tofugu_0.5.1_linux_${archSuffix}.tar.gz https://github.com/alt-dima/tofugu/releases/download/v0.5.1/tofugu_0.5.1_linux_${archSuffix}.tar.gz"
110+
sh "curl -L -o tofugu_0.5.1_linux_${archSuffix}.tar.gz https://github.com/alt-dima/iacconsole-cli/releases/download/v0.5.1/iacconsole-cli_0.5.1_linux_${archSuffix}.tar.gz"
111111
sh "tar -xvf tofugu_0.5.1_linux_${archSuffix}.tar.gz"
112112
}
113113
}

examples/jenkins/values.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ controller:
55
configScripts:
66
welcome-message: |
77
jenkins:
8-
systemMessage: "Jenkins For TofuGu Toaster Demo"
8+
systemMessage: "Jenkins For IaCConsole Demo"
99
pipeline-job: |
1010
jobs:
1111
- script: >
12-
pipelineJob('tofugu-pipeline') {
12+
pipelineJob('iacconsole-pipeline') {
1313
definition {
1414
cpsScm {
1515
scm {
1616
git {
1717
remote {
18-
url('https://github.com/alt-dima/tofugu.git')
18+
url('https://github.com/alt-dima/iacconsole-cli.git')
1919
credentials('')
2020
}
2121
branch('main')

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module github.com/alt-dima/tofugu
1+
module github.com/alt-dima/iacconsole-cli
22

33
go 1.25.0
44

main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package main
22

3-
import "github.com/alt-dima/tofugu/cmd"
3+
import "github.com/alt-dima/iacconsole-cli/cmd"
44

55
var (
66
version string = "undefined"

0 commit comments

Comments
 (0)