diff --git a/docs/developing/build.md b/docs/developing/build.md index 71bfff6b65..e21af64ce3 100644 --- a/docs/developing/build.md +++ b/docs/developing/build.md @@ -1,8 +1,6 @@ -# Build from source +# Build -## Build - -You can build your Ark image locally on the machine where you run your cluster, or you can push it to a private registry. This section covers both workflows. +You can build your Ark image locally on the machine where you run your cluster, or you can push it to a private registry. Set the `$REGISTRY` environment variable (used in the `Makefile`) to push the Heptio Ark images to your own registry. This allows any node in your cluster to pull your locally built image. @@ -28,11 +26,7 @@ Run `make update` to regenerate files if you make the following changes: * Add/edit/remove command line flags and/or their help text * Add/edit/remove commands or subcommands -* Add new API types - -Run [generate-proto.sh][13] to regenerate files if you make the following changes: - -* Add/edit/remove protobuf message or service definitions. These changes require the [proto compiler][14]. +* Add new API types ### Cross compiling @@ -41,7 +35,7 @@ To build for another platform, run `make build--`. For example, to build for the Mac, run `make build-darwin-amd64`. All binaries are placed in `_output/bin//`-- for example, `_output/bin/darwin/amd64/ark`. -Ark's `Makefile` has a convenience target, `all-build`, that builds the following platforms: +Ark's Makefile includes a convenience target, `all-build`, that builds the following platforms: * linux-amd64 * linux-arm @@ -59,19 +53,11 @@ files (clientset, listers, shared informers, docs) are up to date. If you need to add or update the vendored dependencies, see [Vendoring dependencies][11]. [0]: ../README.md -[1]: #prerequisites -[2]: #download -[3]: #build -[4]: https://blog.golang.org/organizing-go-code -[5]: https://golang.org/doc/install -[6]: https://github.com/heptio/ark/tree/master/examples [7]: #run [8]: config-definition.md [10]: #vendoring-dependencies [11]: vendoring-dependencies.md [12]: #test -[13]: https://github.com/heptio/ark/blob/master/hack/generate-proto.sh -[14]: https://grpc.io/docs/quickstart/go.html#install-protocol-buffers-v3 [15]: https://docs.aws.amazon.com/cli/latest/topic/config-vars.html#the-shared-credentials-file [16]: https://cloud.google.com/docs/authentication/getting-started#setting_the_environment_variable [17]: https://aws.amazon.com/quickstart/architecture/heptio-kubernetes/ diff --git a/docs/developing/dev-prereq.md b/docs/developing/dev-prereq.md index 2a94728681..a698ec34bb 100644 --- a/docs/developing/dev-prereq.md +++ b/docs/developing/dev-prereq.md @@ -1,4 +1,4 @@ - +# Set up ## Prerequisites @@ -7,9 +7,7 @@ * kubectl installed * [Go][5] installed (minimum version 1.8) -### Prerequisites - -When running Heptio Ark, you will need to account for the following (all of which are handled in the [`/examples`][6] manifests): +Also make sure you have: * Appropriate RBAC permissions in the cluster * Read access for all data from the source cluster and namespaces @@ -20,7 +18,9 @@ When running Heptio Ark, you will need to account for the following (all of whic * A [BackupStorageLocation][20] object definition for the Ark server * (Optional) A [VolumeSnapshotLocation][21] object definition for the Ark server, to take PV snapshots -## Getting the source +For detailed examples, see the YAML files in the [examples directory][6]. + +## Get source ```bash mkdir $HOME/go @@ -30,5 +30,15 @@ go get github.com/heptio/ark Where `go` is your [import path][4] for Go. -For Go development, it is recommended to add the Go import path (`$HOME/go` in this example) to your path. +For Go development, it's a good idea to add the Go import path (`$HOME/go` in this example) to your path. + +## Extras + +If you add, edit, or remove protobuf message or service definitions, you must run [generate-proto.sh][13] to regenerate files. These changes require the [proto compiler][14]. + +[4]: https://blog.golang.org/organizing-go-code +[5]: https://golang.org/doc/install +[6]: https://github.com/heptio/ark/tree/master/examples +[13]: https://github.com/heptio/ark/blob/master/hack/generate-proto.sh +[14]: https://grpc.io/docs/quickstart/go.html#install-protocol-buffers-v3