-
Notifications
You must be signed in to change notification settings - Fork 28
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: add a simple local development guide
- Loading branch information
Showing
5 changed files
with
102 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
# Developer Guide | ||
|
||
## Install prerequisites | ||
|
||
1. Install make. | ||
- `xcode-select --install` on macOS. | ||
- `sudo apt-get install build-essential` on Ubuntu Linux | ||
1. Install [Go][go] | ||
1. Install [KIND][kind] | ||
- `GO111MODULE="on" go get sigs.k8s.io/kind@v<stableVersion>`. | ||
1. Install [Kustomize][kustomize] | ||
- [install instructions][kustomizelinux] | ||
1. Install [envsubst][envsubst] | ||
- `go get github.com/a8m/envsubst/cmd/envsubst` | ||
|
||
## Fork and get the source | ||
|
||
Fork the [cluster-api-provider-oci repo](https://github.com/oracle/cluster-api-provider-oci): | ||
|
||
```bash | ||
cd "$(go env GOPATH)"/src | ||
mkdir sigs.k8s.io | ||
cd sigs.k8s.io/ | ||
git clone [email protected]:<GITHUB USERNAME>/cluster-api-provider-oci.git | ||
cd cluster-api-provider-oci | ||
git remote add upstream [email protected]:orale/cluster-api-provider-oci.git | ||
git fetch upstream | ||
``` | ||
|
||
## Running local management cluster for development | ||
|
||
The simplest way to test the code is to run it from local. | ||
If you have `capoci-controller-manager` running in your management cluster, | ||
please scale down the deployment: | ||
|
||
```bash | ||
kubectl scale deployment/capoci-controller-manager --replicas=0 -n cluster-api-provider-oci-system | ||
``` | ||
|
||
To build, run and test all your code changes locally, copy the | ||
`hack/auth-config-template.yaml` file to `<repo-path>/auth-config.yml` in your | ||
cloned copy of the repository and modify it to match your local configuration. | ||
|
||
Then run the following commands: | ||
|
||
```bash | ||
export AUTH_CONFIG_DIR="<repo-path>/auth-config.yaml" | ||
make run | ||
``` | ||
|
||
If you want to run your changes using a docker built image, execute the | ||
following steps: | ||
|
||
```bash | ||
export TAG=<tag> | ||
export REGISTRY="<region>.ocir.io/<namespace>" | ||
make docker-build | ||
``` | ||
|
||
`region` for example, `phx` or `us-phoenix-1`. See the | ||
[Available Endpoints](https://docs.oracle.com/en-us/iaas/Content/Registry/Concepts/registryprerequisites.htm#Availab) | ||
topic in the Oracle Cloud Infrastructure Registry documentation. | ||
|
||
`namespace` is the auto-generated Object Storage namespace string of the tenancy | ||
(as shown on the Tenancy Information page) that owns the repository to which you | ||
want to push the image. | ||
|
||
![tenancy_namespace](../images/tenancy_namespace.png) | ||
|
||
Push the resulting docker image to the repository. For more info on how to push | ||
to OCIR see | ||
<https://www.oracle.com/webfolder/technetwork/tutorials/obe/oci/registry/index.html> | ||
|
||
Execute the following steps to install the image | ||
|
||
```bash | ||
make release-manifests | ||
kubectl apply -f out/infrastructure-oci/v0.1.1-development/infrastructure-components.yaml | ||
``` | ||
|
||
[go]: https://golang.org/doc/install | ||
[go.mod]: https://github.com/kubernetes-sigs/cluster-api-provider-aws/blob/master/go.mod | ||
[kind]: https://sigs.k8s.io/kind | ||
[kustomize]: https://github.com/kubernetes-sigs/kustomize | ||
[kustomizelinux]: https://github.com/kubernetes-sigs/kustomize/blob/master/docs/INSTALL.md | ||
[envsubst]: https://github.com/a8m/envsubst |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# see region identifier in https://docs.oracle.com/en-us/iaas/Content/General/Concepts/regions.htm | ||
# for a list of regions | ||
region: <region> | ||
tenancy: ocid1.tenancy.oc1..<unique_ID> | ||
user: ocid1.user.oc1..<unique_ID> | ||
key: | | ||
-----BEGIN RSA PRIVATE KEY----- | ||
<your_private_key> | ||
-----END RSA PRIVATE KEY----- | ||
fingerprint: <your_private_key_fingerprint> | ||
|
||
useInstancePrincipals: false |