docs/plugins/index.md
When Chaos Monkey runs inside of Netflix, it integrates with a number of proprietary systems and contains some Netflix-specific business logic. For example:
In order to support release Chaos Monkey as open source, these proprietary integrations are implemented as plugins that aren't released. Chaos Monkey ships with no-op implementations of these plugins.
As an example, let's say you wished to implement a custom constrainer for your organization.
This doc assumes that you will put the code in
$GOPATH/example.com/chaosmonkey. You should substitute "example.com" with
something relevant to your organization.
If you haven't done this already, ensure the open source code is on your local
machine. You can use go get for this:
go get github.com/netflix/chaosmonkey/cmd/chaosmonkey
File: $GOPATH/src/example.com/chaosmonkey/constrainer.go
See the Constrainer page for an example implementation.
File: $GOPATH/src/example.com/chasmonkey/cmd/chaosmonkey/main.go
It looks like this:
package main
import (
"github.com/Netflix/chaosmonkey/command"
_ "example.com/chaosmonkey/constrainer"
)
func main() {
command.Execute()
}
go build example.com/chaosmonkey/cmd/chaosmonkey