|
1 | 1 | # Datum Network Services |
2 | 2 |
|
3 | | -> [!CAUTION] |
4 | | -> This operator is currently in a POC phase. The POC integration branch will |
5 | | -> be orphaned and separate PRs opened for discrete components (APIs, controllers, |
6 | | -> etc) as they mature. |
| 3 | +The network services operator defines APIs and core controllers for interacting |
| 4 | +with network related entities such as Networks, Network Contexts, and Subnets. |
7 | 5 |
|
8 | | -See the [apis](./api/v1alpha) defined for this project. |
| 6 | +The operator itself is not responsible for provisioning of resources onto data |
| 7 | +planes, but instead relies on infrastructure providers such as the [GCP |
| 8 | +Infrastructure Provider][infra-provider-gcp] to interact with vendor or platform |
| 9 | +specific APIs in order to satisfy the intents defined in custom resources |
| 10 | + |
| 11 | +[infra-provider-gcp]: https://github.com/datum-cloud/infra-provider-gcp |
| 12 | + |
| 13 | +## Documentation |
| 14 | + |
| 15 | +Documentation will be available at [docs.datum.net](https://docs.datum.net/) |
| 16 | +shortly. |
| 17 | + |
| 18 | +## Getting Started |
| 19 | + |
| 20 | +### Prerequisites |
| 21 | + |
| 22 | +- go version v1.23.0+ |
| 23 | +- docker version 17.03+. |
| 24 | +- kubectl version v1.31.0+. |
| 25 | +- Access to a Kubernetes v1.31.0+ cluster. |
| 26 | + |
| 27 | +### To Deploy on the cluster |
| 28 | + |
| 29 | +**Build and push your image to the location specified by `IMG`:** |
| 30 | + |
| 31 | +```sh |
| 32 | +make docker-build docker-push IMG=<some-registry>/tmp:tag |
| 33 | +``` |
| 34 | + |
| 35 | +**NOTE:** This image ought to be published in the personal registry you specified. |
| 36 | +And it is required to have access to pull the image from the working environment. |
| 37 | +Make sure you have the proper permission to the registry if the above commands don’t work. |
| 38 | + |
| 39 | +**Install the CRDs into the cluster:** |
| 40 | + |
| 41 | +```sh |
| 42 | +make install |
| 43 | +``` |
| 44 | + |
| 45 | +**Deploy the Manager to the cluster with the image specified by `IMG`:** |
| 46 | + |
| 47 | +```sh |
| 48 | +make deploy IMG=<some-registry>/tmp:tag |
| 49 | +``` |
| 50 | + |
| 51 | +> **NOTE**: If you encounter RBAC errors, you may need to grant yourself cluster-admin |
| 52 | +privileges or be logged in as admin. |
| 53 | + |
| 54 | +**Create instances of your solution** |
| 55 | +You can apply the samples (examples) from the config/sample: |
| 56 | + |
| 57 | +```sh |
| 58 | +kubectl apply -k config/samples/ |
| 59 | +``` |
| 60 | + |
| 61 | +>**NOTE**: Ensure that the samples has default values to test it out. |
| 62 | +
|
| 63 | +### To Uninstall |
| 64 | + |
| 65 | +**Delete the instances (CRs) from the cluster:** |
| 66 | + |
| 67 | +```sh |
| 68 | +kubectl delete -k config/samples/ |
| 69 | +``` |
| 70 | + |
| 71 | +**Delete the APIs(CRDs) from the cluster:** |
| 72 | + |
| 73 | +```sh |
| 74 | +make uninstall |
| 75 | +``` |
| 76 | + |
| 77 | +**UnDeploy the controller from the cluster:** |
| 78 | + |
| 79 | +```sh |
| 80 | +make undeploy |
| 81 | +``` |
| 82 | + |
| 83 | +<!-- ## Contributing --> |
| 84 | + |
| 85 | +**NOTE:** Run `make help` for more information on all potential `make` targets |
| 86 | + |
| 87 | +More information can be found via the [Kubebuilder Documentation](https://book.kubebuilder.io/introduction.html) |
0 commit comments