Skip to content

Latest commit

 

History

History

amazon-sqs

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Amazon SQS Plugin

This is a resource plugin that provisions temporary queues in Amazon SQS for use within a Signadot Sandbox.

Installing the Plugin

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

Using the Plugin

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.

Removing the Plugin

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