You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Mar 28, 2024. It is now read-only.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+5-7Lines changed: 5 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,17 +1,15 @@
1
1
# Contributing to terraform-provider-namespace-management
2
2
3
-
TODO replace with CLA (As it's Apache 2.0)
4
-
5
3
The terraform-provider-namespace-management project team welcomes contributions from the community. Before you start working with terraform-provider-namespace-management, please
6
-
read our [Developer Certificate of Origin](https://cla.vmware.com/dco). All contributions to this repository must be
4
+
Read our [Contributor License Agreement](https://cla.vmware.com/cla/1/preview). All contributions to this repository must be
7
5
signed as described on that page. Your signature certifies that you wrote the patch or have the right to pass it on
8
6
as an open-source patch.
9
7
10
8
## Contribution Flow
11
9
12
10
This is a rough outline of what a contributor's workflow looks like:
13
11
14
-
- Create a topic branch from where you want to base your work
12
+
- Create a topic branch from where you want to base your work using the naming convention feature-GITHUBISSUENUM as per GitFlow
15
13
- Make commits of logical units
16
14
- Make sure your commit messages are in the proper format (see below)
17
15
- Push your changes to a topic branch in your fork of the repository
This product is licensed to you under the Apache License, V2.0 (the "License"). You may not use this product except in compliance with the License.
4
-
5
-
This product may include a number of subcomponents with separate copyright notices and license terms. Your use of these subcomponents is subject to the terms and conditions of the subcomponent's license, as noted in the LICENSE file.
3
+
Licensed under the Apache License, Version 2.0 (the "License");
4
+
you may not use this file except in compliance with the License.
5
+
You may obtain a copy of the License at
6
+
7
+
http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+
Unless required by applicable law or agreed to in writing, software
10
+
distributed under the License is distributed on an "AS IS" BASIS,
11
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+
See the License for the specific language governing permissions and
- Module: Include support for Custom ingress and egress CIDR ranges in TkgServiceConfiguration
87
+
- Module: CA certs for all components
88
+
- Module: Tests to verify ca cert changes
89
+
- Module: Include restriction of Certs used for EC P-256
90
+
- v1.3 Workload cluster common patterns
91
+
- Module: Bootstrap Harbor VM support (Requires a Harbor OVA)
92
+
- Module: Helm Harbor services cluster support and sample (Requires a bootstrap harbor)
93
+
- Module: Node/pod communication check tests (VMs, Pods)
94
+
- v1.4 End to End regression testing against our other products
95
+
- Regression CD testing, via tag rather than commit
96
+
- Provider: Overarching tests for develop branch
97
+
- Provider: Concourse loads environment combinations and runs multiple env pipelines in order using Terraform
98
+
- Support n-2 photon versions
99
+
- Automate testing on h20 (7.0u2) and homelab (7.0u3) using remote workers
100
+
- This is a total of 6 combinations
101
+
- Module: Add more version combinations
102
+
- n-2 Avi version support
103
+
- This is a total of 12 combinations
104
+
- v1.5 Full testing suite for CD (No changes to Provider)
74
105
- Add new environment and versions
75
106
- NSX-T n-2 version support
76
107
- NSX-T support with Avi load balancer
77
108
- Latest ESXi/vSphere version tested (currently 7.0u3d)
78
109
- n-2 tests for Avi Load Balancer, Avi Terraform Plugin (Matched to Avi), NSX-T and NSX-T Terraform Plugin (Matched to NSX-T)
79
110
- This is 576 combinations
80
-
- Full suite of tests (main and develop branches) with all latest minor releases of k8s TKRs
81
-
- Tanzu Standard on top of vSphere for Tanzu, with restricted psp/opa
111
+
- Full suite of tests (using tags on the main and develop branches) with all latest minor releases of k8s TKRs
112
+
-Module: Tanzu Standard on top of vSphere for Tanzu, with restricted psp/opa
82
113
- Istio with ingress, egress, istio-cni, minimum extra permissions (just the CNI pod)
83
114
- Kiali support for istio configuration validation/manual checking
84
115
- Full release documentation
85
-
- Launch video
86
-
116
+
- Video
117
+
- TODO Discuss with Automation team on additional features for their tool
118
+
- v? Other namespace-management API endpoints not discussed above
119
+
- Based on customer feedback only
120
+
- No other endpoints known used today
121
+
- For a full list: https://developer.vmware.com/apis/vsphere-automation/latest/vcenter/namespace_management/
122
+
- E.g. changing password rotation settings as per https://developer.vmware.com/apis/vsphere-automation/latest/vcenter/api/vcenter/namespace-management/clusters/clusteractionrotate_password/post/
87
123
88
-
## Status (PRIOR TO INITIAL PUBLIC RELEASE ONLY, THEN REMOVED FROM HERE)
- Given a vSphere cluster ID (NOT name) like 'domain-c1005', enables workload management
106
142
- Uses POST /api/vcenter/namespace-management/clusters/{cluster}?action=enable
107
-
- Implemented, untested, see examples/01_basic_create/clusters/main.tf
108
-
- Uses hardcoded cluster enable spec data today
109
-
- Limited to NSX-T today rather than full information due to missing govmomi features: https://github.com/vmware/govmomi/issues/2860
110
-
- Warning: Due to the above, the workload cluster NTP source(s) will not be set, which will cause your workload clusters to not spin up successfully until you manually add this configuration element via vCenter
143
+
- Implemented, tested, see examples/01_basic_create/clusters/main.tf and examples/full_esxi_tanzu_cluster/main.tf
144
+
- Only tested on vSphere networking (not NSX-T) today
111
145
- clusterRead()
112
146
- Given a cluster NAME (NOT id) like 'Cluster01' returns the cluster's Tanzu Supervisor Cluster summary
113
147
- Uses List method as data_clusters clusterRead today
114
148
- Working, see see examples/02_basic_read/clusters/main.tf
115
149
- Limited to cluster summary today rather than full information due to missing govmomi feature: https://github.com/vmware/govmomi/issues/2860
150
+
- Implies that we cannot implement clusterUpdate() too until this issue is resolved upstream
116
151
- clusterUpdate()
117
152
- Given a vSphere cluster ID (NOT name) like 'domain-c1005', replaces the current cluster enable spec with a new full spec
118
-
- Not implemented today
153
+
- Not yet implemented
119
154
- clusterDelete()
120
155
- Given a vSphere cluster ID (NOT name) like 'domain-c1005', disables workload management
121
156
- Doesn't actually delete the vSphere cluster, just the Tanzu Supervisor Cluster
122
-
- Not implemented
157
+
- Not yet implemented
123
158
124
159
## Try it out
125
160
126
161
### Prerequisites
127
162
128
163
* You must have Terraform installed on your system
129
164
* You must have a Go runtime installed with corresponding build tools
130
-
* You must have a vSphere 7.0 update 2 (7.0.2) system configured with a vCenter and at least two hosts (ideally 3 or more)
165
+
* You must have a vSphere 7.0 update 2 (7.0.2) or above system configured with a vCenter and at least ESXi two hosts (ideally 3 or more)
131
166
132
167
## Building the provider
133
168
169
+
Note that in the current version a patched release of Govmomi is required. You can fetch, build and install this from this URL: https://github.com/adamfowleruk/govmomi/tree/issue-2860 . We will remove this before the first major release once the fixes are applied in Govmomi.
170
+
134
171
Run the following command to build the provider
135
172
136
173
```shell
@@ -145,39 +182,21 @@ First, build and install the provider.
145
182
make install
146
183
```
147
184
148
-
Download the simulator from here:
149
-
150
-
TODO REWORK THIS SECTION TO NOT USE THE SIMULATOR
151
-
152
-
Now unpack and run the VMware simulator
153
-
```shell
154
-
cat ~/Downloads/vcsim_PLATFORM_ARCH.tar.gz | sudo tar -C /usr/local/bin -xzvf - vcsim
155
-
vcsim &
156
-
```
157
-
158
-
This will report `export GOVC_URL=https://user:pass@127.0.0.1:8989/sdk GOVC_SIM_PID=69867` when running
185
+
Edit the sample file to customise it to your vSphere environment. You can find this in examples/02-basic-create/main.tf
159
186
160
187
Then, run the following command to initialize the workspace and apply the sample configuration.
161
188
162
189
```shell
163
-
cd examples/SOME_EXAMPLE
190
+
cd examples/02-basic-create
164
191
terraform init && terraform apply
165
192
```
166
193
167
-
### Build & Run
168
-
169
-
1. Step 1
170
-
2. Step 2
171
-
3. Step 3
172
-
173
194
## Documentation
174
195
175
196
## Contributing
176
197
177
-
TODO REPLACE WITH CLA (As it's Apache 2)
178
-
179
198
The terraform-provider-namespace-management project team welcomes contributions from the community. Before you start working with terraform-provider-namespace-management, please
180
-
read our [Developer Certificate of Origin](https://cla.vmware.com/dco). All contributions to this repository must be
199
+
Read our [Contributor License Agreement](https://cla.vmware.com/cla/1/preview). All contributions to this repository must be
181
200
signed as described on that page. Your signature certifies that you wrote the patch or have the right to pass it on
182
201
as an open-source patch. For more detailed information, refer to [CONTRIBUTING.md](CONTRIBUTING.md).
0 commit comments