Simplerubysteps

Simplerubysteps simplifies the administration of AWS Step Functions with ruby (eventually - this is an early alpha version)

This is software in the experimental stage and should not really be used by anyone. Be warned.

Installation

Prerequisites (for alpha version):

  • Linux-like environment (the deployment tools are currently implemented with shell scripts)
  • AWS CLI installed

Add this line to your application's Gemfile:

require "simplerubysteps"

And install the gem:

$ gem install simplerubysteps

Usage

Create AWS Step Functions State Machine with ruby DSL

cd samples/sample1
vi workflow.rb

Create CloudFormation stack with Step Functions State Machine and supporting Lambda functions

export AWS_PROFILE=...
cd samples/sample1
simplerubysteps-deploy

Trigger State Machine Execution and wait for completion

export AWS_PROFILE=...          
cd samples/sample1
echo '{"foo": "James Bond"}' | simplerubysteps-workflow-run

Delete CloudFormation stack

export AWS_PROFILE=...
cd samples/sample1
simplerubysteps-destroy

Development

After checking out the repo, run bin/setup to install dependencies.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

TODOs

  • Support for StateMachineType (STANDARD or EXPRESS)
  • Custom IAM role policies (Step Functions and Lambda)
  • sls-like tooling in ruby with AWS SDK
  • Workflow action unit test support
  • ...

Contributing

Bug reports and pull requests are (soon - after alpha phase) welcome on GitHub at https://github.com/chtz/simplerubysteps

License

The gem is available as open source under the terms of the MIT License.