sendak
v0.0.6
Published
Sendak manages metadata for cloud deployments
Downloads
22
Readme
Sendak, or Infrastructure-as-a-service-as-a-service
Sendak gives 18F a single interface to manage its projects, users, and deployments across Amazon Web Services and GitHub.
Sendak lets teams specify projects, which can be linked to:
- AWS IAM users
- AWS resources in VPCs
- Git/GitHub repositories
Sendak also enables team permission management. For example:
- Granting individual permissions (e.g. importing SSH keys)
- Checking for whether multi-factor authentication is enabled
Finally, Sendak provides a consistent deployment interface that wraps a project's existing deployment and configuration process.
To get started:
If you're developing Sendak, check out the developing guide.
Primary author: @janearc, [email protected]
Usage
Commands take the form:
sendak [command] [--options]
For example, to list certain fields about your IAM groups:
sendak list-iam-groups --arn --gid
This returns something like:
[ { arn: 'arn:aws:iam::1234567890:group/default-group',
gid: 'XXXXXXXXXXXXXXXXXXXXXX' } ]
Ask for help and available options for any command with --help
:
sendak list-iam-groups --help
For a full list of commands:
sendak list-tasks
Setting up Sendak
npm install -g sendak
Configure your AWS credentials. Sendak first looks for config files in your
~/.aws
directory, as created by the AWS Node SDK or the AWS CLI tool.If you don't have
~/.aws
config files, Sendak looks for environment variables:
export AWS_ACCESS_KEY_ID=[your-access-key]
export AWS_SECRET_ACCESS_KEY=[your-secret-key]
export AWS_REGION=us-east-1
- If you'll be using GitHub private repositories, you'll need to provide GitHub credentials. The simplest way to authenticate is to create a personal access token in your GitHub application settings and set it to an environment variable:
export GH_TOKEN=[your-app-token]
(You can also use
full application OAuth credentials
by setting GH_KEY
and GH_SECRET
.)
If you plan to work with your team's project metadata, you'll need access to your team's Riak instance. Sendak will expect Riak at
localhost:8098
by default.Check that your environment is working:
sendak check-environment --riak --github --aws # or...
sendak check-environment --all
You should now be able to run Sendak commands.
What's a Sendak
From Wikipedia:
Maurice Bernard Sendak (/ˈsɛndæk/; June 10, 1928 – May 8, 2012) was an American illustrator and writer of children's books. He became widely known for his book Where the Wild Things Are, first published in 1963. Born to Jewish-Polish parents, his childhood was affected by the death of many of his family members during the Holocaust. Besides Where the Wild Things Are, Sendak also wrote works such as In the Night Kitchen and Outside Over There, and illustrated Little Bear.
The progenitor of this software was called Thing Launcher, which was developed at CFPB.
Sendak, you see, keeps track of the Wild Things for 18F.
Public domain
This project is in the worldwide public domain. As stated in CONTRIBUTING:
This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.
All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.