Nonlinear Programming Methods
    Have ideas to improve npm?Join in the discussion! »

    sendak

    0.0.6 • Public • Published

    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, jane.arc@gsa.gov

    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.

    Install

    npm i sendak

    DownloadsWeekly Downloads

    1

    Version

    0.0.6

    License

    CC0-1.0

    Last publish

    Collaborators

    • avatar