errose28 commented on code in PR #116: URL: https://github.com/apache/ozone-site/pull/116#discussion_r1894419731
########## docs/02-quick-start/01-installation/02-kubernetes.md: ########## @@ -1,7 +1,107 @@ --- sidebar_label: Kubernetes --- +<!--- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> # Try Ozone With Kubernetes -**TODO:** File a subtask under [HDDS-9856](https://issues.apache.org/jira/browse/HDDS-9856) and complete this page or section. +## Minikube + +**Requirements:** Review Comment: ```suggestion ### Requirements ``` ########## docs/02-quick-start/01-installation/02-kubernetes.md: ########## @@ -1,7 +1,106 @@ --- sidebar_label: Kubernetes --- +<!--- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> # Try Ozone With Kubernetes Review Comment: Let's add a quick summary here about the options for deploying Ozone with K8s and the info that will follow. This will also be automatically picked up in the doc card summary seen [here](https://ozone-site-v2.staged.apache.org/docs/quick-start/installation/) ########## docs/02-quick-start/01-installation/02-kubernetes.md: ########## @@ -1,7 +1,107 @@ --- sidebar_label: Kubernetes --- +<!--- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> # Try Ozone With Kubernetes -**TODO:** File a subtask under [HDDS-9856](https://issues.apache.org/jira/browse/HDDS-9856) and complete this page or section. +## Minikube + +**Requirements:** + +* Working minikube setup +* kubectl + +`kubernetes/examples` folder of the Ozone distribution contains Kubernetes deployment resource files for multiple use cases. By default the Kubernetes resource files are configured to use *apache/ozone* image from the Docker Hub. + +To deploy it to minikube, use the minikube configuration set: + +``` bash +cd kubernetes/examples/minikube +kubectl apply -k . +``` + +And you can check the results with + +``` bash +kubectl get pod +``` + +Note: the `kubernetes/examples/minikube` resource set is optimized for minikube usage: + +* You can have multiple Datanodes even if you have only one host (in a real production cluster usually you need one Datanode per physical host) +* The services are published with node port + +### Access the services + +Now you can access any of the services. For each web endpoint an additional NodeType service is defined in the minikube k8s resource set. NodeType services are available via a generated port of any of the host nodes: + +``` bash +kubectl get svc +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +datanode ClusterIP None <none> <none> 27s +kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 118m +om ClusterIP None <none> 9874/TCP 27s +om-public NodePort 10.108.48.148 <none> 9874:32649/TCP 27s +s3g ClusterIP None <none> 9878/TCP 27s +s3g-public NodePort 10.97.133.137 <none> 9878:31880/TCP 27s +scm ClusterIP None <none> 9876/TCP 27s +scm-public NodePort 10.105.231.28 <none> 9876:32171/TCP 27s +``` + +Minikube contains a convenience command to access any of the NodePort services: + +``` bash +minikube service s3g-public +Opening kubernetes service default/s3g-public in default browser... Review Comment: I haven't tried this, but what does this display? Is it the s3g web UI? ########## docs/02-quick-start/01-installation/02-kubernetes.md: ########## @@ -1,7 +1,107 @@ --- sidebar_label: Kubernetes --- +<!--- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> # Try Ozone With Kubernetes -**TODO:** File a subtask under [HDDS-9856](https://issues.apache.org/jira/browse/HDDS-9856) and complete this page or section. +## Minikube + +**Requirements:** + +* Working minikube setup +* kubectl + +`kubernetes/examples` folder of the Ozone distribution contains Kubernetes deployment resource files for multiple use cases. By default the Kubernetes resource files are configured to use *apache/ozone* image from the Docker Hub. Review Comment: ```suggestion The `kubernetes/examples` directory of the Ozone distribution contains Kubernetes deployment resource files for multiple use cases. By default the Kubernetes resource files are configured to use the [apache/ozone](https://hub.docker.com/r/apache/ozone) image from Docker Hub. ``` ########## docs/02-quick-start/01-installation/02-kubernetes.md: ########## @@ -1,7 +1,107 @@ --- sidebar_label: Kubernetes --- +<!--- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> # Try Ozone With Kubernetes -**TODO:** File a subtask under [HDDS-9856](https://issues.apache.org/jira/browse/HDDS-9856) and complete this page or section. +## Minikube + +**Requirements:** + +* Working minikube setup +* kubectl + +`kubernetes/examples` folder of the Ozone distribution contains Kubernetes deployment resource files for multiple use cases. By default the Kubernetes resource files are configured to use *apache/ozone* image from the Docker Hub. + +To deploy it to minikube, use the minikube configuration set: + +``` bash +cd kubernetes/examples/minikube +kubectl apply -k . +``` + +And you can check the results with + +``` bash +kubectl get pod +``` + +Note: the `kubernetes/examples/minikube` resource set is optimized for minikube usage: + +* You can have multiple Datanodes even if you have only one host (in a real production cluster usually you need one Datanode per physical host) +* The services are published with node port + +### Access the services + +Now you can access any of the services. For each web endpoint an additional NodeType service is defined in the minikube k8s resource set. NodeType services are available via a generated port of any of the host nodes: + +``` bash +kubectl get svc +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +datanode ClusterIP None <none> <none> 27s +kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 118m +om ClusterIP None <none> 9874/TCP 27s +om-public NodePort 10.108.48.148 <none> 9874:32649/TCP 27s +s3g ClusterIP None <none> 9878/TCP 27s +s3g-public NodePort 10.97.133.137 <none> 9878:31880/TCP 27s +scm ClusterIP None <none> 9876/TCP 27s +scm-public NodePort 10.105.231.28 <none> 9876:32171/TCP 27s +``` + +Minikube contains a convenience command to access any of the NodePort services: + +``` bash +minikube service s3g-public +Opening kubernetes service default/s3g-public in default browser... +``` + +## Hosted Kubernetes Cluster + +**Requirements:** + +* Working Kubernetes cluster (LoadBalancer, PersistentVolume are not required) +* kubectl + +As *apache/ozone* Docker images are available from Docker Hub, the deployment process is very similar to Minikube deployment. The only big difference is that we have dedicated set of k8s files for hosted clusters (for example we can use one Datanode per host) + +### Deploy to Kubernetes + +`kubernetes/examples` folder of the Ozone distribution contains Kubernetes deployment resource files for multiple use cases. + +To deploy to a hosted cluster use the Ozone subdirectory: + +``` bash +cd kubernetes/examples/ozone +kubectl apply -k . +``` + +And you can check the results with + +``` bash +kubectl get pod +``` + +### Access the services + +Now you can access any of the services. By default the services are not published but you can access them with port-forward rules. + +``` bash +kubectl port-forward s3g-0 9878:9878 +kubectl port-forward scm-0 9876:9876 +``` Review Comment: At some point here the we should run `ozone version` in a pod as part of the test that things were set up correctly. More thorough testing will be done in the following "Reading and Writing Data" section. ########## docs/02-quick-start/01-installation/02-kubernetes.md: ########## @@ -1,7 +1,107 @@ --- sidebar_label: Kubernetes --- +<!--- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> Review Comment: I'm not sure what our approach to license headers on markdown should be. - [The ASF policy](https://www.apache.org/legal/src-headers.html#faq-webpages) seems to imply it is only required if we are shipping these pages with a release, which we are not currently. - The ASF website itself does not have headers on their [page source](https://github.com/apache/www-site/blob/main/content/legal/src-headers.md?plain=1) - The [default skywalking eyes config](https://github.com/apache/skywalking-eyes?tab=readme-ov-file#configurations) which is set up for apache projects does not check markdown files and ours does not either. - Adding the header in this way will cause [this issue](https://github.com/facebook/docusaurus/issues/10589) in docusaurus. If we need it we would probably have to put it as comments in the yaml front matter. None of the current markdown pages have headers so I'm thinking we keep going in that direction but I can't find conclusive evidence saying they aren't required. ########## docs/02-quick-start/01-installation/02-kubernetes.md: ########## @@ -1,7 +1,107 @@ --- sidebar_label: Kubernetes --- +<!--- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> # Try Ozone With Kubernetes -**TODO:** File a subtask under [HDDS-9856](https://issues.apache.org/jira/browse/HDDS-9856) and complete this page or section. +## Minikube + +**Requirements:** + +* Working minikube setup +* kubectl + +`kubernetes/examples` folder of the Ozone distribution contains Kubernetes deployment resource files for multiple use cases. By default the Kubernetes resource files are configured to use *apache/ozone* image from the Docker Hub. + +To deploy it to minikube, use the minikube configuration set: + +``` bash +cd kubernetes/examples/minikube +kubectl apply -k . +``` + +And you can check the results with + +``` bash +kubectl get pod +``` + +Note: the `kubernetes/examples/minikube` resource set is optimized for minikube usage: + +* You can have multiple Datanodes even if you have only one host (in a real production cluster usually you need one Datanode per physical host) +* The services are published with node port Review Comment: Can you elaborate on what this means? ########## docs/02-quick-start/01-installation/02-kubernetes.md: ########## @@ -1,7 +1,107 @@ --- sidebar_label: Kubernetes --- +<!--- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> # Try Ozone With Kubernetes -**TODO:** File a subtask under [HDDS-9856](https://issues.apache.org/jira/browse/HDDS-9856) and complete this page or section. +## Minikube + +**Requirements:** + +* Working minikube setup +* kubectl Review Comment: Please use `-` for unordered lists since it is consistent with the existing pages in the new site. This was supposed to be enforced by markdownlint but I made a mistake in the config. I'll push a fix for the markdownlint config soon. ########## docs/02-quick-start/01-installation/02-kubernetes.md: ########## @@ -1,7 +1,107 @@ --- sidebar_label: Kubernetes --- +<!--- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> # Try Ozone With Kubernetes -**TODO:** File a subtask under [HDDS-9856](https://issues.apache.org/jira/browse/HDDS-9856) and complete this page or section. +## Minikube + +**Requirements:** + +* Working minikube setup +* kubectl + +`kubernetes/examples` folder of the Ozone distribution contains Kubernetes deployment resource files for multiple use cases. By default the Kubernetes resource files are configured to use *apache/ozone* image from the Docker Hub. + +To deploy it to minikube, use the minikube configuration set: + +``` bash +cd kubernetes/examples/minikube +kubectl apply -k . +``` + +And you can check the results with + +``` bash +kubectl get pod +``` + +Note: the `kubernetes/examples/minikube` resource set is optimized for minikube usage: + +* You can have multiple Datanodes even if you have only one host (in a real production cluster usually you need one Datanode per physical host) +* The services are published with node port + +### Access the services + +Now you can access any of the services. For each web endpoint an additional NodeType service is defined in the minikube k8s resource set. NodeType services are available via a generated port of any of the host nodes: + +``` bash +kubectl get svc +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +datanode ClusterIP None <none> <none> 27s +kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 118m +om ClusterIP None <none> 9874/TCP 27s +om-public NodePort 10.108.48.148 <none> 9874:32649/TCP 27s +s3g ClusterIP None <none> 9878/TCP 27s +s3g-public NodePort 10.97.133.137 <none> 9878:31880/TCP 27s +scm ClusterIP None <none> 9876/TCP 27s +scm-public NodePort 10.105.231.28 <none> 9876:32171/TCP 27s +``` + +Minikube contains a convenience command to access any of the NodePort services: + +``` bash +minikube service s3g-public +Opening kubernetes service default/s3g-public in default browser... +``` + +## Hosted Kubernetes Cluster Review Comment: The formatting suggestions above also apply to this section ########## docs/02-quick-start/01-installation/02-kubernetes.md: ########## @@ -1,7 +1,107 @@ --- sidebar_label: Kubernetes --- +<!--- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> # Try Ozone With Kubernetes -**TODO:** File a subtask under [HDDS-9856](https://issues.apache.org/jira/browse/HDDS-9856) and complete this page or section. +## Minikube + +**Requirements:** + +* Working minikube setup +* kubectl + Review Comment: ```suggestion ### Deploy the Services ``` ########## docs/02-quick-start/01-installation/02-kubernetes.md: ########## @@ -1,7 +1,107 @@ --- sidebar_label: Kubernetes --- +<!--- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> # Try Ozone With Kubernetes -**TODO:** File a subtask under [HDDS-9856](https://issues.apache.org/jira/browse/HDDS-9856) and complete this page or section. +## Minikube + +**Requirements:** + +* Working minikube setup +* kubectl + +`kubernetes/examples` folder of the Ozone distribution contains Kubernetes deployment resource files for multiple use cases. By default the Kubernetes resource files are configured to use *apache/ozone* image from the Docker Hub. + +To deploy it to minikube, use the minikube configuration set: + +``` bash +cd kubernetes/examples/minikube +kubectl apply -k . +``` + +And you can check the results with + +``` bash +kubectl get pod +``` + +Note: the `kubernetes/examples/minikube` resource set is optimized for minikube usage: + +* You can have multiple Datanodes even if you have only one host (in a real production cluster usually you need one Datanode per physical host) +* The services are published with node port + +### Access the services + +Now you can access any of the services. For each web endpoint an additional NodeType service is defined in the minikube k8s resource set. NodeType services are available via a generated port of any of the host nodes: Review Comment: ```suggestion Now you can access any of the services. For each web endpoint an additional NodeType service is defined in the minikube k8s resource set. NodeType services are available via a generated port on any of the host nodes: ``` ########## docs/02-quick-start/01-installation/02-kubernetes.md: ########## @@ -1,7 +1,107 @@ --- sidebar_label: Kubernetes --- +<!--- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> # Try Ozone With Kubernetes -**TODO:** File a subtask under [HDDS-9856](https://issues.apache.org/jira/browse/HDDS-9856) and complete this page or section. +## Minikube + +**Requirements:** + +* Working minikube setup +* kubectl + +`kubernetes/examples` folder of the Ozone distribution contains Kubernetes deployment resource files for multiple use cases. By default the Kubernetes resource files are configured to use *apache/ozone* image from the Docker Hub. + +To deploy it to minikube, use the minikube configuration set: + +``` bash +cd kubernetes/examples/minikube +kubectl apply -k . +``` + +And you can check the results with + +``` bash +kubectl get pod +``` + +Note: the `kubernetes/examples/minikube` resource set is optimized for minikube usage: + +* You can have multiple Datanodes even if you have only one host (in a real production cluster usually you need one Datanode per physical host) +* The services are published with node port + +### Access the services + +Now you can access any of the services. For each web endpoint an additional NodeType service is defined in the minikube k8s resource set. NodeType services are available via a generated port of any of the host nodes: + +``` bash +kubectl get svc +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +datanode ClusterIP None <none> <none> 27s +kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 118m +om ClusterIP None <none> 9874/TCP 27s +om-public NodePort 10.108.48.148 <none> 9874:32649/TCP 27s +s3g ClusterIP None <none> 9878/TCP 27s +s3g-public NodePort 10.97.133.137 <none> 9878:31880/TCP 27s +scm ClusterIP None <none> 9876/TCP 27s +scm-public NodePort 10.105.231.28 <none> 9876:32171/TCP 27s +``` + +Minikube contains a convenience command to access any of the NodePort services: Review Comment: ```suggestion Minikube provides a convenience command to access any of the NodePort services: ``` ########## docs/02-quick-start/01-installation/02-kubernetes.md: ########## @@ -1,7 +1,107 @@ --- sidebar_label: Kubernetes --- +<!--- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> # Try Ozone With Kubernetes -**TODO:** File a subtask under [HDDS-9856](https://issues.apache.org/jira/browse/HDDS-9856) and complete this page or section. +## Minikube + +**Requirements:** + +* Working minikube setup +* kubectl + +`kubernetes/examples` folder of the Ozone distribution contains Kubernetes deployment resource files for multiple use cases. By default the Kubernetes resource files are configured to use *apache/ozone* image from the Docker Hub. + +To deploy it to minikube, use the minikube configuration set: + +``` bash +cd kubernetes/examples/minikube +kubectl apply -k . +``` + +And you can check the results with + +``` bash +kubectl get pod +``` + +Note: the `kubernetes/examples/minikube` resource set is optimized for minikube usage: Review Comment: For callouts like this we should docusaurus admonitions as described in the [contributing guide](https://github.com/apache/ozone-site/blob/HDDS-9225-website-v2/CONTRIBUTING.md#page-format). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
