-
Notifications
You must be signed in to change notification settings - Fork 1
Add support for configs #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
defang/steering/deploying-to-aws.md
Outdated
| - Stack name: must be alphanumeric and must not start with a number | ||
| - Region: for example: `us-west-2` | ||
| - AWS Profile: the AWS profile with which the user should authenticate to AWS | ||
| - AWS Profile: the AWS profile with which the user should authenticate to AWS. First, verify the AWS CLI is installed and configured by running `aws`. You can list available profiles with `aws configure list-profiles`, and once the profiles are retrieved; prompt the user to select one. If the AWS CLI is not installed or configured, direct the user to the [installation guide](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html). Once the AWS CLI has been successfully installed, guide the user to configure an AWS Profile by running `aws configure` and entering their credentials. Then restart the stack creation process. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This feels like the wrong place to add this info. This is a list of the properties required to create a stack. Let's add a new section below to explain how to create or select a profile
| ## Viewing Configs | ||
|
|
||
| To view the current configs for your project, use the following MCP tool: | ||
|
|
||
| ```bash | ||
| list_configs | ||
| ``` | ||
|
|
||
| This will display a list of all the configs currently set for your project. This list does not represent configs you are still required to set; it only shows what has already been set. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need this? We have tool descriptions which should serve this purpose.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ## Setting Configs | ||
|
|
||
| To set a config, use the following MCP tool: | ||
|
|
||
| ```bash | ||
| set_config | ||
| ``` | ||
|
|
||
| When setting configs, make sure to ask the user for either a specific value or whether to generate a random value. Do not assume choices on behalf of the user. | ||
|
|
||
| **IMPORTANT**: | ||
| When using the `set_config` tool, ensure that only one of the following options is provided: either the `value` parameter or the `random` flag. | ||
| Providing both will result in an error. | ||
| Example: | ||
|
|
||
| ```json | ||
| { | ||
| "name": "POSTGRES_PASSWORD", | ||
| "value": "helloworld123", | ||
| "random": true, | ||
| "working_directory": "." | ||
| } | ||
| ``` | ||
|
|
||
| Available parameters: | ||
|
|
||
| - `name` (required): The key for the config you want to set. | ||
| - `value` (optional): The value for the config. Do not provide this parameter if you are using the `random` parameter. | ||
| Example: | ||
| ```json | ||
| { | ||
| "name": "POSTGRES_PASSWORD", | ||
| "value": "helloworld123", | ||
| "working_directory": "." | ||
| } | ||
| ``` | ||
| - `random` (optional): If this flag is provided, a random value will be generated for the config. Do not provide the `value` parameter if you are using this parameter. | ||
| Example: | ||
| ```json | ||
| { | ||
| "name": "POSTGRES_PASSWORD", | ||
| "random": true, | ||
| "working_directory": "." | ||
| } | ||
| ``` | ||
|
|
||
| ## Deleting Configs | ||
|
|
||
| To delete a config, use the following MCP tool: | ||
|
|
||
| ```bash | ||
| remove_config | ||
| ``` | ||
|
|
||
| This will remove the specified config from your project. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All of this is roughly redundant to our tool descriptions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When I tested this in Kiro, it didn’t seem to have enough context on how to manage configurations. I ran experiments without this file before creating it, and the tool was not able to reliably set configs until the file was added.
It’s possible that the Kiro team hasn’t fully implemented reading tool parameter descriptions yet. For example, the Terraform Power includes a dedicated file that explains how to use their MCP server, which likely helps provide that missing context.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we be amending our tool descriptions?
Co-authored-by: Jordan Stephens <jordan@stephens.io>
This pull request introduces several improvements to the Defang deployment documentation, focusing on clarifying stack creation steps for AWS and GCP, updating steering file references, and adding comprehensive documentation for managing deployment configs. The changes aim to make the deployment process more user-friendly and robust by providing clearer guidance and additional resources.