Skip to content
A Chef server written in Go, able to run entirely in memory, with optional persistence with saving the in-memory data to disk or using MySQL or Postgres as the data storage backend. Docs: http://goiardi.readthedocs.org/en/latest/index.html
Go PLpgSQL Shell
Latest commit cc38b4b @ctdk Merge pull request #45 from tas50/master
Update URLs
Failed to load latest commit information.
actor The go tests got lost in the shuffle, and they were no longer accurat…
authentication add unit test for authentication.AuthenticateHeader()
chefcrypto Handle PKCS#1 RSA public keys without dying
client The go tests got lost in the shuffle, and they were no longer accurat…
config Didn't get all versions updated
cookbook
databag switch from ctdk/goas/v2/logger to tideland/goas/logger
datastore switch from ctdk/goas/v2/logger to tideland/goas/logger
depgraph terraform removed depgraph, so vendor depgraph and digraph
digraph terraform removed depgraph, so vendor depgraph and digraph
docs Didn't get all versions updated
environment Fix an annoying chef-pedant failure over error strings
etc Add proxy hostname and port to the sample config file
filestore switch from ctdk/goas/v2/logger to tideland/goas/logger
indexer switch from ctdk/goas/v2/logger to tideland/goas/logger
loginfo switch from ctdk/goas/v2/logger to tideland/goas/logger
node switch from ctdk/goas/v2/logger to tideland/goas/logger
packaging jessie iteration here too
report go fmt
role go fmt
sandbox switch from ctdk/goas/v2/logger to tideland/goas/logger
search switch from ctdk/goas/v2/logger to tideland/goas/logger
serfin switch from ctdk/goas/v2/logger to tideland/goas/logger
shovey switch from ctdk/goas/v2/logger to tideland/goas/logger
sql-files db bundles for release
user Fix bug where clients could be created with the same name as a user (…
util Allow . in cookbook names here too.
.gitignore Add schema files to the generated deb
BUGS Update docs, CHANGELOG, BUGS, TODO
CHANGELOG Update CHANGELOG for 0.10.3
CONDUCT.md CoC
CONTRIBUTORS credits
LICENSE Initial public release
NOTICE update contact email a couple of places
README.md Update URLs
TODO Prep for release
authenticate_users.go Hooboy, I imagine everything's broken right now. Chugging along with …
circle.yml run the deploy script slightly differently
clients.go Fix all the build errors
common.go switch from ctdk/goas/v2/logger to tideland/goas/logger
cookbooks.go Spruce up _latest and _recipes cookbooks for when there are gazillion…
data.go Fix all the build errors
doc.go Updating some more docs
environments.go switch from ctdk/goas/v2/logger to tideland/goas/logger
events.go Fix all the build errors
export.go Progress on import/export with node statuses and shovey
file_store.go Actually use the right config option
goiardi.go log levels needed massaged a little for the improved tideflats loggin…
import.go switch from ctdk/goas/v2/logger to tideland/goas/logger
lists.go Fix bug where clients could be created with the same name as a user (…
nodes.go Still cranking on node statuses
principals.go Through reports, but not the handler stuff for them
reports.go Unbreak posting reports
roles.go Fix all the build errors
sandboxes.go Sandboxes got a little mangled in the formatting/linting/light refact…
search.go go fmt
shovey.go go fmt
status.go go fmt, and have shovey honor the --use-shovey flag and error out if …
universe.go Spruce up _latest and _recipes cookbooks for when there are gazillion…
users.go Fix all the build errors

README.md

Goiardi

Circle CI

Goiardi is an implementation of the Chef server (http://www.chef.io) written in Go. It can either run entirely in memory with the option to save and load the in-memory data and search indexes to and from disk, drawing inspiration from chef-zero, or it can use MySQL or PostgreSQL as its storage backend.

DOCUMENTATION

The full goiardi documentation has been moved out of this README because it was getting too big to be easily manageable. It now uses sphinx to manage and format the documentation, which can be found under the docs/ directory. To learn about sphinx-doc, see http://sphinx-doc.org/. The documentation can also be found online at http://goiardi.readthedocs.org/en/latest/.

In addition to the aforementioned Chef documentation at http://docs.opscode.com, more documentation specific to goiardi can be viewed with godoc. See https://godoc.org/golang.org/x/tools/cmd/godoc for an explanation of how godoc works. The goiardi godocs can also be viewed online at https://godoc.org/github.com/ctdk/goiardi.

TODO

See the TODO file for an up-to-date list of what needs to be done. There's a lot.

BUGS

There's going to be a lot of these for a while, so we'll just keep those in a BUGS file, won't we?

WHY?

This started as a project to learn Go, and because I thought that an in memory chef server would be handy. Then I found out about chef-zero, but I still wanted a project to learn Go, so I kept it up. Chef 11 Server also only runs under Linux at this time, while Goiardi is developed under Mac OS X and ought to run under any platform Go supports (only partially tested at this time though).

CONTRIBUTING

If you feel like contributing, great! Just fork the repo, make your improvements, and submit a pull request. Tests would, of course, be appreciated. Adding tests where there are no tests currently would be even more appreciated. At least, though, try and not break anything worse than it is. Test coverage has improved, but is still an ongoing concern.

AUTHOR

Jeremy Bingham (jeremy@goiardi.gl)

COPYRIGHT

Copyright 2013-2015, Jeremy Bingham

The depgraph and digraph packages are vendored from terraform and are copyrighted by Hashicorp.

CODE OF CONDUCT

This project adheres to the Open Code of Conduct. By participating, you are expected to honor this code.

This code of conduct can also be found in CONDUCT.md in this repository.

LICENSE

Like many Chef ecosystem programs, goairdi is licensed under the Apache 2.0 License. See the LICENSE file for details.

The goiardi documentation in the docs directory is licensed under a Creative Commons Attribution 4.0 International (CC-BY 4.0) License.

Chef is copyright (c) 2008-2014 Chef Software (formerly Opscode, Inc.) and its various contributors.

The depgraph and digraph packages are vendored from Hashicorp's terraform package, and is under the Mozilla Public License version 2.0. The MPL is included in those directories and applies only to those files.

Thanks go out to the fine folks of Opscode and the Chef community for all their hard work.

Also, if you were wondering, Ettore Boiardi was the man behind Chef Boyardee. Wakka wakka.

Something went wrong with that request. Please try again.