clburlison / bakeit

A platform agnostic chef bootstrap tool
MIT License
8 stars 0 forks source link
bootstrap chef golang

This was a side project to learn some Go. Don't use this in production. Support not given, use at your own risk, etc.

bakeit

CircleCI PRs Welcome Go Report Card

bakeit is a platform agnostic chef bootstrap tool. Unlike knife bootstrap, bakeit is written for end points not servers. All required configuration data is compiled into a single static binary that can be ran on the end point for bootstrapping.

Table of Contents

Features

Basic Usage

This section is designed for users new to the Go ecosystem that just want to build and use this project.

  1. Download and install Go 1.9
  2. Set required Go variables
    export GOPATH=$(go env GOPATH)
    PATH=$PATH:${GOPATH}/bin
  3. Create the proper go path
    mkdir -p $GOPATH/src/github.com/clburlison/bakeit
  4. Clone this repo
    git clone git@github.com:clburlison/bakeit $GOPATH/src/github.com/clburlison/bakeit
  5. Download dependencies
    make deps
  6. Modify the config.go file. Make sure to modify the following keys:
    • ChefClientChefServerURL - The URL to your chef server
    • ChefClientValidationClientName - The name of your validator file
    • ValidationPEM - The contents of your validator certificate
    • OrgCert - (Optional) The contents of your organization certificate
  7. Build
    make build-all
  8. Copy the correct output file from build/ to a machine and run it.
  9. Running instructions

    # Linux/macOS
    sudo /path/bakeit
    
    # Windows. Open a command prompt as administrator
    /path/bakeit.exe

Developers

Coming soon!

Contributing

See CONTRIBUTING.md

Changelog

See CHANGELOG.md

License

MIT © Clayton Burlison