This is a resource plugin that provisions temporary queues in Amazon SQS for use within a Signadot Sandbox.
Before installing the plugin, create a Kubernetes Secret called aws-auth
in
the signadot
namespace containing a credentials
file in the format that the
aws
CLI typically reads from ~/.aws/credentials
. For example, if you have a
credentials
file prepared in /path/to/plugin-credentials
:
kubectl -n signadot create secret generic aws-auth --from-file=credentials=/path/to/plugin-credentials
These credentials will be used by aws
CLI to connect the AWS API.
See the AWS CLI docs
for more details on the credentials
file format.
Using the signadot
CLI, register the plugin in Signadot Control Plane:
signadot resourceplugin apply -f ./plugin.yaml
When creating a Signadot Sandbox, you can request a temporary SQS queue from
this plugin by specifying the plugin name amazon-sqs
and passing the following input parameters.
Parameter | Description | Example |
---|---|---|
region (Required) |
The AWS region in which to create the queue | us-east-1 |
attributes |
Optional value to pass to the aws sqs create-queue command's --attributes flag. See the command reference for details. |
DelaySeconds=30 |
tags |
Optional value to pass to the aws sqs create-queue command's --tags flag. See the command reference for details. |
MyTag=value,Tag2=value |
After the resource is provisioned, the following output keys will be available for use by forked workloads in the sandbox:
Output Key | Description | Example |
---|---|---|
provision.queue-name |
The name of the SQS queue that was created. | signadot-MyResource-k5ncuujcjllj2 |
provision.queue-url |
The URL of the SQS queue that was created. | https://sqs.us-east-1.amazonaws.com/0123456789/signadot-k5ncuujcjllj2-MyResource |
example-sandbox.yaml
is an example of a sandbox that uses this plugin.
To run it, you will need to install the example-baseline
application
in your cluster, and use signadot
CLI to create the sandbox (replacing <cluster-name>
with your
cluster name, and <example-baseline-namespace>
with the namespace where example-baseline
was deployed):
signadot sandbox apply -f ./example-sandbox.yaml --set cluster=<cluster-name> --set namespace=<example-baseline-namespace>
Now, in the Signadot Dashboard, you can follow the status of your sandbox,
and once ready, you will be able to access the preview endpoint, where you will see the added env var:
SQS_URL
.
Make sure all sandboxes that used the chart are deleted, so that the plugin gets
a chance to deprovision anything that was provisioned, and then use signadot
CLI to uninstall the plugin:
signadot resourceplugin delete -f ./plugin.yaml
Finally delete the aws-auth
secret from signadot
namespace:
kubectl -n signadot delete secret aws-auth