Configuration for the CLI can be performed in several ways:
On the command line
Using environment variables
Using a configuration file (YAML or JSON)
When using a configuration file it is possible to setup more than one project.
The following tables show the configuration options that are available at the root level and the command level.
The following options can be applied to any command within the Stacks CLI.
|AMIDOSTACKS_CONFIG||Path to the configuration file to use|
|AMIDOSTACKS_LOG_LEVEL||Level of logging to be used|
|AMIDOSTACKS_LOG_FORMAT||Output type of the logging|
|AMIDOSTACKS_LOG_COLOUR||State if logging should include colour|
|AMIDOSTACKS_LOG_FILE||Write all logs to the specified file|
|AMIDOSTACKS_DIRECTORY_WORKINGDIR||Directory that the projects should be created in|
|AMIDOSTACKS_DIRECTORY_TEMPDIR||Directory to be used by Stacks for its temp files||System temp directory|
|AMIDOSTACKS_OPTIONS_NOBANNER||Do not display the Stacks banner when running the command|
|AMIDOSTACKS_OPTIONS_NOCLIVERSION||Do not perform a version check for the latest version of the Amido Stacks CLI|
Name of the project to create
Source control system to be used
URL to the remote repository
Each project will have its own
The framework that is to be used
The sort of project to be created
The version of the Amido stacks project to use.
This can be a version, a tag, a SHA ref or a branch.
Properties that need to be set to allow the scaffolding to run the correct command
The project settings file will be defined by the project maintainers, but will may specify that a property needs to be set.
Platform being deployed to
Pipeline being used to build the project
Cloud platform being used
Region that the project will be deployed to
Group in the cloud platform that will hold all the resources
Name of your company or organisation
Area of the company that is responsible for the project
Component of the overall project
Name of the storage account being used for the state
Group name of the storage account
Container being used to store the data
External domain root to be used for the projects
Internal domain root to be used for projects.
If not specified then the internal domain will be inferred from the external by replacing the TLD with
Create a log file of all the commands that have been run during the scaffold process
The command log is create in the current directory with the filename
Perform a dry run of the scaffold process. Useful for checking that things will be setup as required. No operations will be performed on the machine when run in this mode
Name of the file to look for in the project
Generate a log of all the commands that the CLI has run.
Perform a dryrun of all the CLI. Particularly useful when used with
If using the interactive or command line mode for configuring the CLI, the given configuration can be saved to a file. This allows the configuration to be replayed again at a later date.
The configuration is saved to
Do not perform cleanup operations after the scaffoling has been completed
This is a destructive operation
It will also continue to run if the command version checks fail. For example if the project calls for
Command Log Format
If the command log has been enabled, using
--cmdlog, a file with all the commands that have been run during the scaffolding operation will be generated. The format of this file is as follows:
[<DIR>] <CMD> <ARGS>
The \<DIR> shows in which directory the command has been run in. Please note that this directory may have been deleted after the CLI has been run as it was temporary.
The \<CMD> and \<ARGS> show the command that was run and the arguments that were passed to it.
On Windows based machines the \<CMD> will be prefixed with
cmd /Cwhich tells the CLI how to run the command. PowerShell has not yet been used as it is easy to customise the shell and those customisations may cause the CLI to fail when running the commands.
The following shows an example of a configuration file that can be passed to the command.
CLI Configuration File.
- name: tigerfest
Note that when using the configuration file it is possible to specify multiple projects to be configured. This allows several projects to be setup at the same time, without having to run the command multiple times. Each project will be created within the specified working directory.
If this file was called
conf.yml the command to run to consume the file would be:
.\stacks-cli.exe scaffold -c .\local\conf.yml