Skip to content

Commit 006442f

Browse files
authored
Merge pull request #435 from furkatgofurov7/operator-book-structure
📖 Inital Netlify book structure version of operator
2 parents b1f52e3 + 58ec470 commit 006442f

34 files changed

+1032
-14
lines changed

docs/book/src/01_intro.md

Lines changed: 0 additions & 8 deletions
This file was deleted.

docs/book/src/CONTRIBUTING.MD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{{#include ../../../CONTRIBUTING.md}}

docs/book/src/SUMMARY.md

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,30 @@
1-
[Introduction](./01_intro.md)
2-
-[Installation](./02_installation/00.md)
3-
- [Plugin](./02_installation/01_plugin.md)
1+
# Summary
2+
3+
[Introduction](./introduction.md)
4+
[Quick Start](./user/quick-start.md)
5+
- [Installation](./installation/installation.md)
6+
- [Using plugin](./installation/plugin-installation.md)
7+
- [Using Manifests from Release Assets](./installation/manifest-installation.md)
8+
- [Using Helm Charts](./installation/helm-chart-installation.md)
9+
[Concepts](./user/concepts.md)
10+
- [Topics](./topics/topics.md)
11+
- [Cluster API Provider Lifecycle](./topics/capi-provides-lifecycle.md)
12+
- [Installing a Provider](./topics/installing-provider.md)
13+
- [Upgrading a Provider](./topics/upgrading-provider.md)
14+
- [Modifying a Provider](./topics/modifying-provider.md)
15+
- [Deleting a Provider](./topics/deleting-provider.md)
16+
- [Basic Cluster API Provider Installation](./topics/basic-capi-provider-installation.md)
17+
- [Installing the CoreProvider](./topics/installing-core-provider.md)
18+
- [Installing Azure Infrastructure Provider](./topics/installing-capz.md)
19+
- [Deleting providers](./topics/deleting-providers.md)
20+
- [Air-gapped Environment](./topics/air-gapped-environtment.md)
21+
- [Injecting additional manifests](./topics/injecting-additional-manifests.md)
22+
- [Developer Guide](./developer/guide.md)
23+
- [Releasing](./developer/release.md)
24+
- [Version migration](./developer/v1alpha1-to-v1alpha2.md)
25+
- [Reference](./reference/reference.md)
26+
- [API Reference](./reference/api_reference.md)
27+
- [Glossary](./reference/glossary.md)
28+
- [Code of Conduct](./code-of-conduct.md)
29+
- [Contributing](./CONTRIBUTING.md)
30+
- [CI Jobs](./reference/ci-jobs.md)

docs/book/src/code-of-conduct.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Code of Conduct
2+
3+
{{#include ../../../code-of-conduct.md}}

docs/book/src/developer/guide.md

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# Developer Guide
2+
3+
## Prerequisites
4+
5+
### Docker
6+
7+
Iterating on the Cluster API Operator involves repeatedly building Docker containers.
8+
9+
[docker]: https://docs.docker.com/install/
10+
11+
### A Cluster
12+
13+
You'll likely want an existing cluster as your [management cluster][mcluster].
14+
The easiest way to do this is with [kind] v0.9 or newer, as explained in the quick start.
15+
16+
Make sure your cluster is set as the default for `kubectl`.
17+
If it's not, you will need to modify subsequent `kubectl` commands below.
18+
19+
[mcluster]: ../reference/glossary.md#management-cluster
20+
[kind]: https://github.com/kubernetes-sigs/kind
21+
22+
### kubectl
23+
24+
[kubectl] for interacting with the management cluster.
25+
26+
[kubectl]: https://kubernetes.io/docs/tasks/tools/install-kubectl/
27+
28+
### Helm
29+
30+
[Helm] for installing operator on the cluster (optional).
31+
32+
[Helm]: https://helm.sh/docs/intro/install/
33+
34+
### A container registry
35+
36+
If you're using [kind], you'll need a way to push your images to a registry so they can be pulled.
37+
You can instead [side-load] all images, but the registry workflow is lower-friction.
38+
39+
Most users test with [GCR], but you could also use something like [Docker Hub][hub].
40+
If you choose not to use GCR, you'll need to set the `REGISTRY` environment variable.
41+
42+
[side-load]: https://kind.sigs.k8s.io/docs/user/quick-start/#loading-an-image-into-your-cluster
43+
[GCR]: https://cloud.google.com/container-registry/
44+
[hub]: https://hub.docker.com/
45+
46+
### Kustomize
47+
48+
You'll need to [install `kustomize`][kustomize].
49+
There is a version of `kustomize` built into kubectl, but it does not have all the features of `kustomize` v3 and will not work.
50+
51+
[kustomize]: https://kubectl.docs.kubernetes.io/installation/kustomize/
52+
53+
### Kubebuilder
54+
55+
You'll need to [install `kubebuilder`][kubebuilder].
56+
57+
[kubebuilder]: https://book.kubebuilder.io/quick-start.html#installation
58+
59+
### Cert-Manager
60+
61+
You'll need to deploy [cert-manager] components on your [management cluster][mcluster], using `kubectl`
62+
63+
```bash
64+
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.2/cert-manager.yaml
65+
```
66+
67+
Ensure the cert-manager webhook service is ready before creating the Cluster API Operator components.
68+
69+
This can be done by following instructions for [manual verification](https://cert-manager.io/docs/installation/verify/#manual-verification)
70+
from the [cert-manager] web site.
71+
Note: make sure to follow instructions for the release of cert-manager you are installing.
72+
73+
[cert-manager]: https://github.com/cert-manager/cert-manager
74+
75+
## Development
76+
77+
## Option 1: Tilt
78+
79+
[Tilt][tilt] is a tool for quickly building, pushing, and reloading Docker containers as part of a Kubernetes deployment.
80+
81+
Once you have a running Kubernetes cluster, you can run:
82+
83+
```bash
84+
tilt up
85+
```
86+
87+
That's it! Tilt will automatically reload the deployment to your local cluster every time you make a code change.
88+
89+
[tilt]: https://tilt.dev
90+
91+
## Option 2: The kustomize way
92+
93+
```bash
94+
# Build all the images
95+
make docker-build
96+
97+
# Push images
98+
make docker-push
99+
100+
# Apply the manifests
101+
kustomize build config/default | ./hack/tools/bin/envsubst | kubectl apply -f -
102+
```
103+
104+
File renamed without changes.
File renamed without changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Using Helm Charts

docs/book/src/02_installation/00.md renamed to docs/book/src/installation/installation.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,3 @@
22

33
This section describes `cluster-api-operator` components installation instructions.
44

5-
## [Plugin](./01_plugin.md)
6-
7-
This document describes the plugin installation steps and prerequisites.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Using Manifests from Release Assets

0 commit comments

Comments
 (0)