|
1 | | -# testplugin |
2 | | -// TODO(user): Add simple overview of use/purpose |
3 | | - |
4 | | -## Description |
5 | | -// TODO(user): An in-depth paragraph about your project and overview of use |
6 | | - |
7 | | -## Getting Started |
8 | | - |
9 | | -### Prerequisites |
10 | | -- go version v1.24.0+ |
11 | | -- docker version 17.03+. |
12 | | -- kubectl version v1.11.3+. |
13 | | -- Access to a Kubernetes v1.11.3+ cluster. |
14 | | - |
15 | | -### To Deploy on the cluster |
16 | | -**Build and push your image to the location specified by `IMG`:** |
17 | | - |
18 | | -```sh |
19 | | -make docker-build docker-push IMG=<some-registry>/testplugin:tag |
20 | | -``` |
21 | | - |
22 | | -**NOTE:** This image ought to be published in the personal registry you specified. |
23 | | -And it is required to have access to pull the image from the working environment. |
24 | | -Make sure you have the proper permission to the registry if the above commands don’t work. |
25 | | - |
26 | | -**Install the CRDs into the cluster:** |
27 | | - |
28 | | -```sh |
29 | | -make install |
30 | | -``` |
31 | | - |
32 | | -**Deploy the Manager to the cluster with the image specified by `IMG`:** |
33 | | - |
34 | | -```sh |
35 | | -make deploy IMG=<some-registry>/testplugin:tag |
36 | | -``` |
37 | | - |
38 | | -> **NOTE**: If you encounter RBAC errors, you may need to grant yourself cluster-admin |
39 | | -privileges or be logged in as admin. |
40 | | - |
41 | | -**Create instances of your solution** |
42 | | -You can apply the samples (examples) from the config/sample: |
43 | | - |
44 | | -```sh |
45 | | -kubectl apply -k config/samples/ |
46 | | -``` |
47 | | - |
48 | | ->**NOTE**: Ensure that the samples has default values to test it out. |
49 | | -
|
50 | | -### To Uninstall |
51 | | -**Delete the instances (CRs) from the cluster:** |
52 | | - |
53 | | -```sh |
54 | | -kubectl delete -k config/samples/ |
55 | | -``` |
56 | | - |
57 | | -**Delete the APIs(CRDs) from the cluster:** |
58 | | - |
59 | | -```sh |
60 | | -make uninstall |
61 | | -``` |
62 | | - |
63 | | -**UnDeploy the controller from the cluster:** |
64 | | - |
65 | | -```sh |
66 | | -make undeploy |
67 | | -``` |
68 | | - |
69 | | -## Project Distribution |
70 | | - |
71 | | -Following the options to release and provide this solution to the users. |
72 | | - |
73 | | -### By providing a bundle with all YAML files |
74 | | - |
75 | | -1. Build the installer for the image built and published in the registry: |
76 | | - |
77 | | -```sh |
78 | | -make build-installer IMG=<some-registry>/testplugin:tag |
79 | | -``` |
80 | | - |
81 | | -**NOTE:** The makefile target mentioned above generates an 'install.yaml' |
82 | | -file in the dist directory. This file contains all the resources built |
83 | | -with Kustomize, which are necessary to install this project without its |
84 | | -dependencies. |
85 | | - |
86 | | -2. Using the installer |
87 | | - |
88 | | -Users can just run 'kubectl apply -f <URL for YAML BUNDLE>' to install |
89 | | -the project, i.e.: |
90 | | - |
91 | | -```sh |
92 | | -kubectl apply -f https://raw.githubusercontent.com/<org>/testplugin/<tag or branch>/dist/install.yaml |
93 | | -``` |
94 | | - |
95 | | -### By providing a Helm Chart |
96 | | - |
97 | | -1. Build the chart using the optional helm plugin |
98 | | - |
99 | | -```sh |
100 | | -kubebuilder edit --plugins=helm/v1-alpha |
101 | | -``` |
102 | | - |
103 | | -2. See that a chart was generated under 'dist/chart', and users |
104 | | -can obtain this solution from there. |
105 | | - |
106 | | -**NOTE:** If you change the project, you need to update the Helm Chart |
107 | | -using the same command above to sync the latest changes. Furthermore, |
108 | | -if you create webhooks, you need to use the above command with |
109 | | -the '--force' flag and manually ensure that any custom configuration |
110 | | -previously added to 'dist/chart/values.yaml' or 'dist/chart/manager/manager.yaml' |
111 | | -is manually re-applied afterwards. |
112 | | - |
113 | | -## Contributing |
114 | | -// TODO(user): Add detailed information on how you would like others to contribute to this project |
115 | | - |
116 | | -**NOTE:** Run `make help` for more information on all potential `make` targets |
117 | | - |
118 | | -More information can be found via the [Kubebuilder Documentation](https://book.kubebuilder.io/introduction.html) |
119 | | - |
120 | | -## License |
121 | | - |
122 | | -Copyright 2025. |
123 | | - |
124 | | -Licensed under the Apache License, Version 2.0 (the "License"); |
125 | | -you may not use this file except in compliance with the License. |
126 | | -You may obtain a copy of the License at |
127 | | - |
128 | | - http://www.apache.org/licenses/LICENSE-2.0 |
129 | | - |
130 | | -Unless required by applicable law or agreed to in writing, software |
131 | | -distributed under the License is distributed on an "AS IS" BASIS, |
132 | | -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
133 | | -See the License for the specific language governing permissions and |
134 | | -limitations under the License. |
135 | | - |
| 1 | +This directory is intentionally left empty. The sample external plugin test creates a temporary Kubebuilder project here at runtime and cleans it afterward. |
0 commit comments