Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document development workflow #13

Closed
invidian opened this issue Dec 11, 2020 · 0 comments · Fixed by #29
Closed

Document development workflow #13

invidian opened this issue Dec 11, 2020 · 0 comments · Fixed by #29
Labels
kind/documentation Categorizes issue or PR as related to documentation.
Milestone

Comments

@invidian
Copy link
Contributor

invidian commented Dec 11, 2020

It would be good to document how to develop this provider.

So far, I figured out that one needs to follow https://cluster-api.sigs.k8s.io/developer/tilt.html (with fixes added in #12).

I still didn't figure out how to put TINKERBELL_GRPC_AUTHORITY and TINKERBELL_CERT_URL into it, right now I just edit the secret which contains them and restart the pod manually.

Next thing we should figure out how to setup Tinkerbell for testing it. @detiber pointed me to https://github.com/detiber/tink/blob/kindDev/README-TILT.md, so we can run Tinkerbell on the same K8s cluster as the cluster API, but I didn't figure that part yet.

Also, we can consider merging those 2 workflows somehow, so tilt up just works automagically.

Note: cluster-api must be on branch release-0.3 right now.

WIP list of steps:

  1. curl -fsSL https://github.com/tilt-dev/tilt/master/scripts/install.sh | bash
  2. git clone https://github.com/kubernetes-sigs/cluster-api
  3. git clone git@github.com:tinkerbell/cluster-api-provider-tink.git
  4. cd cluster-api
  5. git checkout release-0.3
cat <<EOF > tilt-settings.json
{
  "default_registry": "quay.io/<your username>",
  "provider_repos": ["../cluster-api-provider-tink"],
  "enable_providers": ["tinkerbell", "docker", "kubeadm-bootstrap", "kubeadm-control-plane"],
  "allowed_contexts": ["<your kubeconfig context to use"]
}
EOF
  1. export TINKERBELL_GRPC_AUTHORITY=10.17.3.2:42113 TINKERBELL_CERT_URL=http://10.17.3.2:42114/cert
  2. tilt up

Make sure TINKERBELL_GRPC_AUTHORITY and TINKERBELL_CERT_URL points to the running Tinkerbell instance, where your Kubernetes cluster pods can access it.

If all commands above succeeded, Tilt website should be all green and changes to the codebase of the provider should propagate to the cluster.

@invidian invidian added the kind/documentation Categorizes issue or PR as related to documentation. label Dec 11, 2020
@invidian invidian added this to the v0.1.0 milestone Jan 7, 2021
invidian added a commit to kinvolk/cluster-api-provider-tink that referenced this issue Jan 15, 2021
This commit adds initial documentation on how to run development version
of CAPT and how to create a workload cluster using it.

Closes tinkerbell#13

Signed-off-by: Mateusz Gozdek <mateusz@kinvolk.io>
invidian added a commit to kinvolk/cluster-api-provider-tink that referenced this issue Jan 15, 2021
This commit adds initial documentation on how to run development version
of CAPT and how to create a workload cluster using it.

Closes tinkerbell#13

Signed-off-by: Mateusz Gozdek <mateusz@kinvolk.io>
invidian added a commit to kinvolk/cluster-api-provider-tink that referenced this issue Jan 15, 2021
This commit adds initial documentation on how to run development version
of CAPT and how to create a workload cluster using it.

Closes tinkerbell#13

Signed-off-by: Mateusz Gozdek <mateusz@kinvolk.io>
invidian added a commit to kinvolk/cluster-api-provider-tink that referenced this issue Jan 15, 2021
This commit adds initial documentation on how to run development version
of CAPT and how to create a workload cluster using it.

Closes tinkerbell#13

Signed-off-by: Mateusz Gozdek <mateusz@kinvolk.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/documentation Categorizes issue or PR as related to documentation.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant