You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficcontrol.apache.org by GitBox <gi...@apache.org> on 2021/05/23 00:35:33 UTC

[GitHub] [trafficcontrol] rob05c opened a new pull request #5878: Add t3c manpages

rob05c opened a new pull request #5878:
URL: https://github.com/apache/trafficcontrol/pull/5878


   Adds t3c manpages.
   
   Is docs. 
   No tests, no code change.
   No changelog, no interface change.
   
   - [x] This PR is not related to any Issue
   
   ## Which Traffic Control components are affected by this PR?
   - Traffic Ops ORT
   
   ## What is the best way to verify this PR?
   Build RPM, install RPM, verify man, man-K, apropos, etc work for t3c apps.
   
   ## If this is a bug fix, what versions of Traffic Control are affected?
   Not a bug fix.
   
   ## The following criteria are ALL met by this PR
   - [x] This PR includes tests OR I have explained why tests are unnecessary
   - [x] This PR includes documentation OR I have explained why documentation is unnecessary
   - [x] This PR includes an update to CHANGELOG.md OR such an update is not necessary
   - [x] This PR includes any and all required license headers
   - [x] This PR **DOES NOT FIX A SERIOUS SECURITY VULNERABILITY** (see [the Apache Software Foundation's security guidelines](https://www.apache.org/security/) for details)
   
   
   ## Additional Information


-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficcontrol] zrhoffman merged pull request #5878: Add t3c manpages

Posted by GitBox <gi...@apache.org>.
zrhoffman merged pull request #5878:
URL: https://github.com/apache/trafficcontrol/pull/5878


   


-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficcontrol] zrhoffman commented on a change in pull request #5878: Add t3c manpages

Posted by GitBox <gi...@apache.org>.
zrhoffman commented on a change in pull request #5878:
URL: https://github.com/apache/trafficcontrol/pull/5878#discussion_r638336604



##########
File path: cache-config/build/trafficcontrol-cache-config.spec
##########
@@ -134,39 +147,71 @@ cp -p ${RPM_SOURCE_DIR}/trafficcontrol-cache-config-%{version}/build/atstccfg.lo
 touch ${RPM_BUILD_ROOT}/var/log/trafficcontrol-cache-config/atstccfg.log
 
 cp -p "$src"/t3c-generate/t3c-generate ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-generate/t3c-generate.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-generate.1.gz
 
 t3csrc=src/github.com/apache/trafficcontrol/"$ccdir"/t3c
 cp -p "$t3csrc"/t3c ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c/t3c.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c.1.gz
 
 t3c_apply_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-apply
 cp -p "$t3c_apply_src"/t3c-apply ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-apply/t3c-apply.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-apply.1.gz
 
 to_req_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-request
 cp -p "$to_req_src"/t3c-request ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-request/t3c-request.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-request.1.gz
 
 to_upd_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-update
 cp -p "$to_upd_src"/t3c-update ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-update/t3c-update.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-update.1.gz
 
 t3c_diff_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-diff
 cp -p "$t3c_diff_src"/t3c-diff ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-diff/t3c-diff.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-diff.1.gz
 
 t3c_check_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-check
 cp -p "$t3c_check_src"/t3c-check ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-check/t3c-check.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-check.1.gz
 
 t3c_check_refs_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-check-refs
 cp -p "$t3c_check_refs_src"/t3c-check-refs ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-check-refs/t3c-check-refs.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-check-refs.1.gz
 
 t3c_check_reload_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-check-reload
 cp -p "$t3c_check_reload_src"/t3c-check-reload ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-check-reload/t3c-check-reload.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-check-reload.1.gz
 
 t3c_preprocess_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-preprocess
 cp -p "$t3c_preprocess_src"/t3c-preprocess ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-preprocess/t3c-preprocess.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-preprocess.1.gz
+
+ls ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/
 
 %clean
 rm -rf ${RPM_BUILD_ROOT}
 
 %post
 
+# update mandb to put man pages in the whatis database, so apps like 'whatis' and 'apropos' get the new pages
+mandb_out="$(mandb 2>&1)"
+mandb_ret=$?
+if [ $mandb_ret -eq 0 ]; then
+	printf "%s\n" "Updated mandb"
+else
+	printf "Failed to update mandb: code %s\n%s\n" "${mandb_ret}" "${mandb_out}"
+fi
+
+%postun
+
+# update whatis database, to remove t3c data
+mandb_out="$(mandb 2>&1)"
+mandb_ret=$?
+if [ $mandb_ret -eq 0 ]; then

Review comment:
       Missed the later need for return code, and agreed, the existing way is perfectly readable.




-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficcontrol] zrhoffman commented on a change in pull request #5878: Add t3c manpages

Posted by GitBox <gi...@apache.org>.
zrhoffman commented on a change in pull request #5878:
URL: https://github.com/apache/trafficcontrol/pull/5878#discussion_r637471405



##########
File path: infrastructure/cdn-in-a-box/Makefile
##########
@@ -180,7 +180,7 @@ $(TS_DIST_RPM): $(TS_SOURCE)
 	"$(PKG_COMMAND)" $(PKG_FLAGS) traffic_stats$(BUILD_SUFFIX)
 
 $(ORT_DIST_RPM): $(ORT_SOURCE)
-	"$(PKG_COMMAND)" $(PKG_FLAGS) cache-config$(BUILD_SUFFIX)
+	"$(PKG_COMMAND)" -b $(PKG_FLAGS) cache-config$(BUILD_SUFFIX)

Review comment:
       Gotcha, I see you added `pandoc` as a dependency. I have manually pushed a build for the `apache/trafficcontrol-cache-config_builder` image from this branch, so our CI should pass now.




-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficcontrol] zrhoffman commented on a change in pull request #5878: Add t3c manpages

Posted by GitBox <gi...@apache.org>.
zrhoffman commented on a change in pull request #5878:
URL: https://github.com/apache/trafficcontrol/pull/5878#discussion_r638340285



##########
File path: infrastructure/docker/build/Dockerfile-cache-config
##########
@@ -37,9 +37,14 @@ RUN if [[ ${RHEL_VERSION%%.*} -ge 8 ]]; then \
 		git \
 		rpm-build \
 		rsync \
+		gzip \
 		epel-release && \
 	yum -y clean all
 
+RUN yum -y install dnf-plugins-core
+RUN yum -y config-manager --set-enabled PowerTools || yum -y config-manager --set-enabled powertools

Review comment:
       In CDN in a Box, we handle this with an `if` statement and an `enable_repo` variable:
   https://github.com/apache/trafficcontrol/blob/c90a2bc3a415240d916479d6e0c1447629b5ac7f/infrastructure/cdn-in-a-box/traffic_ops/Dockerfile#L35-L45




-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficcontrol] rob05c commented on a change in pull request #5878: Add t3c manpages

Posted by GitBox <gi...@apache.org>.
rob05c commented on a change in pull request #5878:
URL: https://github.com/apache/trafficcontrol/pull/5878#discussion_r637472610



##########
File path: infrastructure/cdn-in-a-box/Makefile
##########
@@ -180,7 +180,7 @@ $(TS_DIST_RPM): $(TS_SOURCE)
 	"$(PKG_COMMAND)" $(PKG_FLAGS) traffic_stats$(BUILD_SUFFIX)
 
 $(ORT_DIST_RPM): $(ORT_SOURCE)
-	"$(PKG_COMMAND)" $(PKG_FLAGS) cache-config$(BUILD_SUFFIX)
+	"$(PKG_COMMAND)" -b $(PKG_FLAGS) cache-config$(BUILD_SUFFIX)

Review comment:
       Thanks! Ok, I removed the commits changing it to build instead of pulling




-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficcontrol] rob05c commented on a change in pull request #5878: Add t3c manpages

Posted by GitBox <gi...@apache.org>.
rob05c commented on a change in pull request #5878:
URL: https://github.com/apache/trafficcontrol/pull/5878#discussion_r638336013



##########
File path: cache-config/build/trafficcontrol-cache-config.spec
##########
@@ -134,39 +147,71 @@ cp -p ${RPM_SOURCE_DIR}/trafficcontrol-cache-config-%{version}/build/atstccfg.lo
 touch ${RPM_BUILD_ROOT}/var/log/trafficcontrol-cache-config/atstccfg.log
 
 cp -p "$src"/t3c-generate/t3c-generate ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-generate/t3c-generate.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-generate.1.gz
 
 t3csrc=src/github.com/apache/trafficcontrol/"$ccdir"/t3c
 cp -p "$t3csrc"/t3c ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c/t3c.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c.1.gz
 
 t3c_apply_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-apply
 cp -p "$t3c_apply_src"/t3c-apply ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-apply/t3c-apply.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-apply.1.gz
 
 to_req_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-request
 cp -p "$to_req_src"/t3c-request ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-request/t3c-request.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-request.1.gz
 
 to_upd_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-update
 cp -p "$to_upd_src"/t3c-update ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-update/t3c-update.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-update.1.gz
 
 t3c_diff_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-diff
 cp -p "$t3c_diff_src"/t3c-diff ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-diff/t3c-diff.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-diff.1.gz
 
 t3c_check_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-check
 cp -p "$t3c_check_src"/t3c-check ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-check/t3c-check.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-check.1.gz
 
 t3c_check_refs_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-check-refs
 cp -p "$t3c_check_refs_src"/t3c-check-refs ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-check-refs/t3c-check-refs.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-check-refs.1.gz
 
 t3c_check_reload_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-check-reload
 cp -p "$t3c_check_reload_src"/t3c-check-reload ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-check-reload/t3c-check-reload.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-check-reload.1.gz
 
 t3c_preprocess_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-preprocess
 cp -p "$t3c_preprocess_src"/t3c-preprocess ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-preprocess/t3c-preprocess.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-preprocess.1.gz
+
+ls ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/
 
 %clean
 rm -rf ${RPM_BUILD_ROOT}
 
 %post
 
+# update mandb to put man pages in the whatis database, so apps like 'whatis' and 'apropos' get the new pages
+mandb_out="$(mandb 2>&1)"
+mandb_ret=$?
+if [ $mandb_ret -eq 0 ]; then

Review comment:
       But then the line below won't have the return code:
   ```
   printf "Failed to update mandb: code %s\n%s\n" "${mandb_ret}" "${mandb_out}"
   ```
   
   I'm sure there's a way to get both in a one-liner, but I find this more readable.




-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficcontrol] rob05c commented on a change in pull request #5878: Add t3c manpages

Posted by GitBox <gi...@apache.org>.
rob05c commented on a change in pull request #5878:
URL: https://github.com/apache/trafficcontrol/pull/5878#discussion_r638336283



##########
File path: cache-config/build/trafficcontrol-cache-config.spec
##########
@@ -134,39 +147,71 @@ cp -p ${RPM_SOURCE_DIR}/trafficcontrol-cache-config-%{version}/build/atstccfg.lo
 touch ${RPM_BUILD_ROOT}/var/log/trafficcontrol-cache-config/atstccfg.log
 
 cp -p "$src"/t3c-generate/t3c-generate ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-generate/t3c-generate.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-generate.1.gz
 
 t3csrc=src/github.com/apache/trafficcontrol/"$ccdir"/t3c
 cp -p "$t3csrc"/t3c ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c/t3c.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c.1.gz
 
 t3c_apply_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-apply
 cp -p "$t3c_apply_src"/t3c-apply ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-apply/t3c-apply.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-apply.1.gz
 
 to_req_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-request
 cp -p "$to_req_src"/t3c-request ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-request/t3c-request.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-request.1.gz
 
 to_upd_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-update
 cp -p "$to_upd_src"/t3c-update ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-update/t3c-update.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-update.1.gz
 
 t3c_diff_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-diff
 cp -p "$t3c_diff_src"/t3c-diff ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-diff/t3c-diff.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-diff.1.gz
 
 t3c_check_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-check
 cp -p "$t3c_check_src"/t3c-check ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-check/t3c-check.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-check.1.gz
 
 t3c_check_refs_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-check-refs
 cp -p "$t3c_check_refs_src"/t3c-check-refs ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-check-refs/t3c-check-refs.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-check-refs.1.gz
 
 t3c_check_reload_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-check-reload
 cp -p "$t3c_check_reload_src"/t3c-check-reload ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-check-reload/t3c-check-reload.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-check-reload.1.gz
 
 t3c_preprocess_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-preprocess
 cp -p "$t3c_preprocess_src"/t3c-preprocess ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-preprocess/t3c-preprocess.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-preprocess.1.gz
+
+ls ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/
 
 %clean
 rm -rf ${RPM_BUILD_ROOT}
 
 %post
 
+# update mandb to put man pages in the whatis database, so apps like 'whatis' and 'apropos' get the new pages
+mandb_out="$(mandb 2>&1)"
+mandb_ret=$?
+if [ $mandb_ret -eq 0 ]; then
+	printf "%s\n" "Updated mandb"
+else
+	printf "Failed to update mandb: code %s\n%s\n" "${mandb_ret}" "${mandb_out}"
+fi
+
+%postun
+
+# update whatis database, to remove t3c data
+mandb_out="$(mandb 2>&1)"
+mandb_ret=$?
+if [ $mandb_ret -eq 0 ]; then

Review comment:
       As above, need the return code, I'd prefer to keep variables for readability




-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficcontrol] rob05c commented on a change in pull request #5878: Add t3c manpages

Posted by GitBox <gi...@apache.org>.
rob05c commented on a change in pull request #5878:
URL: https://github.com/apache/trafficcontrol/pull/5878#discussion_r638342222



##########
File path: infrastructure/docker/build/Dockerfile-cache-config
##########
@@ -37,9 +37,14 @@ RUN if [[ ${RHEL_VERSION%%.*} -ge 8 ]]; then \
 		git \
 		rpm-build \
 		rsync \
+		gzip \
 		epel-release && \
 	yum -y clean all
 
+RUN yum -y install dnf-plugins-core
+RUN yum -y config-manager --set-enabled PowerTools || yum -y config-manager --set-enabled powertools

Review comment:
       Fixed.




-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficcontrol] zrhoffman commented on a change in pull request #5878: Add t3c manpages

Posted by GitBox <gi...@apache.org>.
zrhoffman commented on a change in pull request #5878:
URL: https://github.com/apache/trafficcontrol/pull/5878#discussion_r637471473



##########
File path: infrastructure/cdn-in-a-box/Makefile
##########
@@ -180,7 +180,7 @@ $(TS_DIST_RPM): $(TS_SOURCE)
 	"$(PKG_COMMAND)" $(PKG_FLAGS) traffic_stats$(BUILD_SUFFIX)
 
 $(ORT_DIST_RPM): $(ORT_SOURCE)
-	"$(PKG_COMMAND)" $(PKG_FLAGS) cache-config$(BUILD_SUFFIX)
+	"$(PKG_COMMAND)" -b $(PKG_FLAGS) cache-config$(BUILD_SUFFIX)

Review comment:
       > Is there a procedure for getting Github checks to pass when a Dockerfile needs updating?
   
   Not an automated one ATM, although we would definitely benefit from having one in the future.




-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficcontrol] zrhoffman commented on a change in pull request #5878: Add t3c manpages

Posted by GitBox <gi...@apache.org>.
zrhoffman commented on a change in pull request #5878:
URL: https://github.com/apache/trafficcontrol/pull/5878#discussion_r638291519



##########
File path: cache-config/build/build_rpm.sh
##########
@@ -111,6 +141,17 @@ initBuildArea() {
 	echo "The build area has been initialized.";
 }
 
+# buildManpage builds an app's manpage using pandoc.
+# It takes 1 argument: the app name.
+# The working directory must be of the app, and must contain a README.md formatted like a manpage.
+buildManpage() {
+	app="$1";
+	desc="ATC t3c Manual";
+	# prepend the pandoc header to the readme
+  printf "%s\n%s\n%s\n%s" "% ${app}(1) ${app} ${TC_VERSION} | ${desc}" "%" "% $(date '+%Y-%m-%d')" "$(cat ./README.md)" > README.md

Review comment:
       This line is indented with spaces, but surrounding lines are indented with tabs.

##########
File path: cache-config/build/trafficcontrol-cache-config.spec
##########
@@ -134,39 +147,71 @@ cp -p ${RPM_SOURCE_DIR}/trafficcontrol-cache-config-%{version}/build/atstccfg.lo
 touch ${RPM_BUILD_ROOT}/var/log/trafficcontrol-cache-config/atstccfg.log
 
 cp -p "$src"/t3c-generate/t3c-generate ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-generate/t3c-generate.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-generate.1.gz
 
 t3csrc=src/github.com/apache/trafficcontrol/"$ccdir"/t3c
 cp -p "$t3csrc"/t3c ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c/t3c.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c.1.gz
 
 t3c_apply_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-apply
 cp -p "$t3c_apply_src"/t3c-apply ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-apply/t3c-apply.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-apply.1.gz
 
 to_req_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-request
 cp -p "$to_req_src"/t3c-request ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-request/t3c-request.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-request.1.gz
 
 to_upd_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-update
 cp -p "$to_upd_src"/t3c-update ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-update/t3c-update.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-update.1.gz
 
 t3c_diff_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-diff
 cp -p "$t3c_diff_src"/t3c-diff ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-diff/t3c-diff.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-diff.1.gz
 
 t3c_check_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-check
 cp -p "$t3c_check_src"/t3c-check ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-check/t3c-check.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-check.1.gz
 
 t3c_check_refs_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-check-refs
 cp -p "$t3c_check_refs_src"/t3c-check-refs ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-check-refs/t3c-check-refs.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-check-refs.1.gz
 
 t3c_check_reload_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-check-reload
 cp -p "$t3c_check_reload_src"/t3c-check-reload ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-check-reload/t3c-check-reload.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-check-reload.1.gz
 
 t3c_preprocess_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-preprocess
 cp -p "$t3c_preprocess_src"/t3c-preprocess ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-preprocess/t3c-preprocess.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-preprocess.1.gz
+
+ls ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/
 
 %clean
 rm -rf ${RPM_BUILD_ROOT}
 
 %post
 
+# update mandb to put man pages in the whatis database, so apps like 'whatis' and 'apropos' get the new pages
+mandb_out="$(mandb 2>&1)"
+mandb_ret=$?
+if [ $mandb_ret -eq 0 ]; then

Review comment:
       This can be
   ```shell
   if mandb_out="$(mandb 2>&1)"; then
   ```

##########
File path: infrastructure/docker/build/Dockerfile-cache-config
##########
@@ -37,9 +37,14 @@ RUN if [[ ${RHEL_VERSION%%.*} -ge 8 ]]; then \
 		git \
 		rpm-build \
 		rsync \
+		gzip \
 		epel-release && \
 	yum -y clean all
 
+RUN yum -y install dnf-plugins-core
+RUN yum -y config-manager --set-enabled PowerTools || yum -y config-manager --set-enabled powertools
+RUN yum -y install pandoc

Review comment:
       These layers should be combined into 1 to leverage cache busting.

##########
File path: cache-config/build/trafficcontrol-cache-config.spec
##########
@@ -134,39 +147,71 @@ cp -p ${RPM_SOURCE_DIR}/trafficcontrol-cache-config-%{version}/build/atstccfg.lo
 touch ${RPM_BUILD_ROOT}/var/log/trafficcontrol-cache-config/atstccfg.log
 
 cp -p "$src"/t3c-generate/t3c-generate ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-generate/t3c-generate.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-generate.1.gz
 
 t3csrc=src/github.com/apache/trafficcontrol/"$ccdir"/t3c
 cp -p "$t3csrc"/t3c ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c/t3c.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c.1.gz
 
 t3c_apply_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-apply
 cp -p "$t3c_apply_src"/t3c-apply ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-apply/t3c-apply.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-apply.1.gz
 
 to_req_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-request
 cp -p "$to_req_src"/t3c-request ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-request/t3c-request.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-request.1.gz
 
 to_upd_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-update
 cp -p "$to_upd_src"/t3c-update ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-update/t3c-update.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-update.1.gz
 
 t3c_diff_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-diff
 cp -p "$t3c_diff_src"/t3c-diff ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-diff/t3c-diff.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-diff.1.gz
 
 t3c_check_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-check
 cp -p "$t3c_check_src"/t3c-check ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-check/t3c-check.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-check.1.gz
 
 t3c_check_refs_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-check-refs
 cp -p "$t3c_check_refs_src"/t3c-check-refs ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-check-refs/t3c-check-refs.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-check-refs.1.gz
 
 t3c_check_reload_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-check-reload
 cp -p "$t3c_check_reload_src"/t3c-check-reload ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-check-reload/t3c-check-reload.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-check-reload.1.gz
 
 t3c_preprocess_src=src/github.com/apache/trafficcontrol/"$ccdir"/t3c-preprocess
 cp -p "$t3c_preprocess_src"/t3c-preprocess ${RPM_BUILD_ROOT}/"$installdir"
+gzip -c -9 "$src"/t3c-preprocess/t3c-preprocess.1 > ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/t3c-preprocess.1.gz
+
+ls ${RPM_BUILD_ROOT}/"$mandir"/"$man1dir"/
 
 %clean
 rm -rf ${RPM_BUILD_ROOT}
 
 %post
 
+# update mandb to put man pages in the whatis database, so apps like 'whatis' and 'apropos' get the new pages
+mandb_out="$(mandb 2>&1)"
+mandb_ret=$?
+if [ $mandb_ret -eq 0 ]; then
+	printf "%s\n" "Updated mandb"
+else
+	printf "Failed to update mandb: code %s\n%s\n" "${mandb_ret}" "${mandb_out}"
+fi
+
+%postun
+
+# update whatis database, to remove t3c data
+mandb_out="$(mandb 2>&1)"
+mandb_ret=$?
+if [ $mandb_ret -eq 0 ]; then

Review comment:
       Like above, this can be
   ```shell
   if mandb_out="$(mandb 2>&1)"; then
   ```

##########
File path: cache-config/t3c-generate/README.md
##########
@@ -16,112 +16,115 @@
     specific language governing permissions and limitations
     under the License.
 -->
-# t3c-generate
-The `t3c-generate` app generates configuration files server-side on ATC cache servers.
-
-!!! Warning !!!
-    <strong>t3c-generate does not have a stable command-line interface, it can and will change without warning. Scripts should avoid calling it for the time being.</strong>
-
-## Usage
-```
-t3c-generate -h
-t3c-generate -v
-t3c-generate -l
-t3c-generate [-e ERROR_LOCATION] [-i INFO_LOCATION] [-p] [-P TO_PASSWORD] [-r N] [-s] [-t TIMEOUT] [-u TO_URL] [-U TO_USER] [-w WARNING_LOCATION] [-y] [--dir TSROOT] -n CACHE_NAME
-t3c-generate [-e ERROR_LOCATION] [-i INFO_LOCATION] [-p] [-P TO_PASSWORD] [-r N] [-s] [-t TIMEOUT] [-u TO_URL] [-U TO_USER] [-w WARNING_LOCATION] [--dir TSROOT] -n CACHE_NAME -d DATA
-t3c-generate [-e ERROR_LOCATION] [-i INFO_LOCATION] [-p] [-P TO_PASSWORD] [-r N] [-s] [-t TIMEOUT] [-u TO_URL] [-U TO_USER] [-w WARNING_LOCATION] [--dir TSROOT] -n CACHE_NAME -a REVAL_STATUS -q QUEUE_STATUS
-```
-The available options are:
-```
--a, --set-reval-status string
-    Sets the reval_pending property of the server in Traffic Ops. Must be 'true'
-    or 'false'. Requires --set-queue-status also be set. This disables normal
-    output.
--e, --log-location-error string
-    A location for error-level logging. Passing "stderr" causes it to log to
-    STDERR, "stdout" causes logging to STDOUT, "null" disables error-level
-    logging, and anything else is treated as a path to a file which will contain
-    the logs. (Default: stderr)
--d, --get-data string
-    Specifies non-configuration-file data to retrieve from Traffic Ops. This
-    disables normal output. Valid values are update-status, packages, chkconfig,
-    system-info, and statuses. Output is in JSON-encoded format. For specifics,
-    refer to the official documentation.
---dir string
-    Specifies a directory path in which to place Trafficserver configuration
-    files in the event that "location" Parameters aren't found for them. If this
-    is not given and location Parameters aren't found for required files,
-    t3c-generate will exit with an error.
+
+<!--
+
+  !!!
+      This file is both a Github Readme and manpage!
+      Please make sure changes appear properly with man,
+      and follow man conventions, such as:
+      https://www.bell-labs.com/usr/dmr/www/manintro.html
+
+      A primary goal of t3c is to follow POSIX and LSB standards
+      and conventions, so it's easy to learn and use by people
+      who know Linux and other *nix systems. Providing a proper
+      manpage is a big part of that.
+  !!!
+
+-->
+# NAME
+
+t3c-generate - Traffic Control Cache Configuration generation tool
+
+# SYNOPSIS
+
+t3c-generate [-2bchlvVy] [-D directory] [-e location] [-i location] [-T versions] [-w location]
+
+[&#45;h|&#45;&#45;help]
+
+[&#45;v|&#45;&#45;version]

Review comment:
       `\-\-` can be used instead of `&#45;&#45;`.

##########
File path: cache-config/t3c-request/README.md
##########
@@ -17,59 +17,117 @@
     under the License.
 -->
 
-# t3c-request
+<!--
+
+  !!!
+      This file is both a Github Readme and manpage!
+      Please make sure changes appear properly with man,
+      and follow man conventions, such as:
+      https://www.bell-labs.com/usr/dmr/www/manintro.html
+
+      A primary goal of t3c is to follow POSIX and LSB standards
+      and conventions, so it's easy to learn and use by people
+      who know Linux and other *nix systems. Providing a proper
+      manpage is a big part of that.
+  !!!
+
+-->
+# NAME
+
+t3c-request - Traffic Control Cache Configuration data requestor
 
-## Synopsis
-	t3c-request [-hI] [-D value] [-d value] [-e value] [-H value] [-i value] \
-		[-l value] [-P value] [-t value] [-u value] [-U value]
+# SYNOPSIS
+
+t3c-request [-hIprv] [-D &lt;config|update-status|packages|chkconfig|system-info|statuses&gt;] [-d location] [-e location] [-H hostname] [-i location] [-l seconds] [-P password] [-t milliseconds] [-u url] [-U username]
+
+[&#45;&#45;help]

Review comment:
       `\-\-` is easier to read than `&#45;&#45;`

##########
File path: cache-config/t3c-check/README.md
##########
@@ -0,0 +1,70 @@
+<!--
+    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.
+-->
+
+<!--
+
+  !!!
+      This file is both a Github Readme and manpage!
+      Please make sure changes appear properly with man,
+      and follow man conventions, such as:
+      https://www.bell-labs.com/usr/dmr/www/manintro.html
+
+      A primary goal of t3c is to follow POSIX and LSB standards
+      and conventions, so it's easy to learn and use by people
+      who know Linux and other *nix systems. Providing a proper
+      manpage is a big part of that.
+  !!!
+
+-->
+# NAME
+
+t3c-check - Traffic Control Cache Configuration generated file check tool
+
+# SYNOPSIS
+
+t3c-check &lt;command&gt; [&lt;args&gt;]
+
+[&#45;&#45;help]
+
+# DESCRIPTION
+
+The t3c-check application has commands for checking things about new config files, such as
+whether they can be safely applied or if a service reload or restart will be required.
+
+For the arguments of a command, see 't3c-check &lt;command&gt; &#45;&#45;help'.

Review comment:
       `&#45;&#45;` should be written as `\-\-` for clarity.

##########
File path: cache-config/t3c-check-reload/README.md
##########
@@ -0,0 +1,87 @@
+<!--
+    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.
+-->
+
+<!--
+
+  !!!
+      This file is both a Github Readme and manpage!
+      Please make sure changes appear properly with man,
+      and follow man conventions, such as:
+      https://www.bell-labs.com/usr/dmr/www/manintro.html
+
+      A primary goal of t3c is to follow POSIX and LSB standards
+      and conventions, so it's easy to learn and use by people
+      who know Linux and other *nix systems. Providing a proper
+      manpage is a big part of that.
+  !!!
+
+-->
+
+# NAME
+
+t3c-check-reload - Traffic Control Cache Configuration reload check tool
+
+# SYNOPSIS
+
+t3c-check-reload [-c paths] [-m mode] [-p packages]
+
+[&#45;&#45;help]

Review comment:
       Another place to replace `&#45;&#45;` with `\-\-`.

##########
File path: cache-config/t3c-apply/README.md
##########
@@ -1,42 +1,200 @@
-# t3c-apply
-
-t3c-apply is a transliteration of traffic_ops_ort.pl script to the go language.
-It is designed to replace the traffic_ops_ort.pl perl script and it is used to apply
-configuration from Traffic Control, stored in Traffic Ops, to the cache.
-
-Typical usage is to install `t3c` on the cache machine, and then run it periodically via a CRON job.
-
-## Options
-
-The `t3c-apply` app has the following command-line options:
-
-
-long option                             | short | default | description
---------------------------------------- | ------| ------- | ------------------------------------------------------------------------------------
---cache-hostname=[hostname]                    | -H    | ""      | override the short hostname of the OS for config generation.
---dispersion=[seconds]                         | -D    | 300     | wait a random number of seconds between 0 and [seconds] before starting.
---login-dispersion=[seconds]                   | -l    | 0       | wait a random number of seconds between 0 and [seconds] before login.
---log-location-debug=[value]                   | -d    | stdout  | Where to log debugs. May be a file path, stdout, stderr, or null
---log-location-error=[value]                   | -e    | stdout  | Where to log errors. May be a file path, stdout, stderr, or null
---log-location-info=[value]                    | -i    | stdout  | Where to log info messages. May be a file path, stdout, stderr, or null
---log-location-warn=[value]                    | -w    | stdout  | Where to log warning messages. May be a file path, stdout, stderr, or null
---num-retries=[number]                         | -r    | 3       | retry connection to Traffic Ops URL [number] times.
---rev-proxy-disable=['true' or 'false']        | -p    | false   | bypass the reverse proxy even if one has been configured.
---reval-wait-time=[seconds]                    | -T    | 60      | wait a random number of seconds between 0 and [seconds] before revlidation
---run-mode=[mode]                              | -m    | report  | The mode of operation, where mode is [badass|report|revalidate|syncds].
---skip-os-check=['true' or 'false']            | -s    | false   | bypass the check for a supported CentOS version.
---traffic-ops-timeout-milliseconds=[ms]        | -t    | 30000   | The Traffic Ops request timeout in milliseconds.
---traffic-ops-password=[password]              | -P    | ""      | TrafficOps password. Required if not set with the environment variable TO_PASS
---traffic-ops-url=[url]                        | -u    | ""      | TrafficOps URL. Required if not set with the environment variable TO_URL
---traffic-ops-user=[username]                  | -U    | ""      | TrafficOps username. Required if not set with the environment variable TO_USER
---trafficserver-home=[directory]               | -R    | ""      | Used to specify an alternate install location for ATS, otherwise its set from the RPM.
---dns-local-bind=['true' or 'false']           | -b    | false   | set the ATS config to bind to the Server's Service Address in Traffic Ops for DNS.
---wait-for-parents=['true' or 'false']         | -W    | true    | do not update if parent_pending = 1 in the update json.
---git=['yes' or 'no' or 'auto']                | -g    | auto    | track changes in git. If yes, create and commit to a repo. If auto, commit if a repo exists.
---default-client-enable-h2=['true' or 'false'] | -2    | false   | Whether to enable HTTP/2 on Delivery Services by default, if they have no explicit Parameter.
---default-client-tls-versions=[versions]       | -v    | ""      | Comma-delimited list of default TLS versions for Delivery Services with no Parameter, e.g. '1.1,1.2,1.3'. If omitted, all versions are enabled.
-
-# Modes
+<!--
+    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.
+-->
+
+<!--
+
+  !!!
+      This file is both a Github Readme and manpage!
+      Please make sure changes appear properly with man,
+      and follow man conventions, such as:
+      https://www.bell-labs.com/usr/dmr/www/manintro.html
+
+      A primary goal of t3c is to follow POSIX and LSB standards
+      and conventions, so it's easy to learn and use by people
+      who know Linux and other *nix systems. Providing a proper
+      manpage is a big part of that.
+  !!!
+
+-->
+# NAME
+
+t3c-apply - Traffic Control Cache Configuration applicator
+
+# SYNOPSIS
+
+t3c-apply [-2bchIpsSvW] [-D seconds] [-d location] [-e location] [-g &lt;yes|no|auto&gt;] [-H hostname] [-i location] [-l seconds] [-M location] [-m &lt;badass|report|revalidate|syncds&gt;] [-P password] [-r retries] [-R path] [-T seconds] [-t milliseconds] [-u url] [-U username] [-V versions] [-w &lt;true|false&gt;]
+
+[&#45;&#45;help]

Review comment:
       `&#45;&#45;` is counterintuitive, escaping 2 dashes can be accomplished with `\-\-`.

##########
File path: cache-config/t3c-diff/README.md
##########
@@ -0,0 +1,71 @@
+<!--
+    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.
+-->
+
+<!--
+
+  !!!
+      This file is both a Github Readme and manpage!
+      Please make sure changes appear properly with man,
+      and follow man conventions, such as:
+      https://www.bell-labs.com/usr/dmr/www/manintro.html
+
+      A primary goal of t3c is to follow POSIX and LSB standards
+      and conventions, so it's easy to learn and use by people
+      who know Linux and other *nix systems. Providing a proper
+      manpage is a big part of that.
+  !!!
+
+-->
+# NAME
+
+t3c-diff - Traffic Control Cache Configuration contextual diff tool
+
+# SYNOPSIS
+
+t3c-diff &lt;file-a&gt; &lt;file-a&gt;
+
+[&#45;&#45;help]

Review comment:
       Use `\-\-` instead of `&#45;&#45;`.

##########
File path: cache-config/t3c-check-refs/README.md
##########
@@ -17,38 +17,91 @@
     under the License.
 -->
 
-# t3c-check-refs
-
-This implements the ATS plugin readiness verifier as defined in the
-blueprint #4628, see https://github.com/apache/trafficcontrol/pull/4628
-
-## Synopsis
-  t3c-check-refs [options] [optional_config_file]
-
-## Description
-  The t3c-check-refs app will read an ATS formatted plugin.config or remap.config
-  file line by line and verify that the plugin '.so' files are available in the
-  filesystem or relative to the ATS plugin installation directory by the
-  absolute or relative plugin filename.
-
-  In addition, any plugin parameters that end in '.config', '.cfg', or '.txt'
-  are considered to be plugin configuration files and there existence in the
-  filesystem or relative to the ATS configuration files directory is verified.
-
-  The configuration file argument is optional.  If no config file argument is
-  supplied, t3c-check-refs reads its config file input from 'stdin'
-
-## Options
-  --log-location-debug=[value] | -d [value], where to log debugs, default is empty
-  --log-location-error=[value], | -e [value], where to log errors, default is 'stderr'
-  --log-location-info=[value] | -i [value], where to log infos, default is 'stderr'
-  --trafficserver-config-dir=[value] | -c [value], where to find ATS config files, default is '/opt/trafficserver/etc/trafficserver'
-  --trafficserver-plugin-dir=[value] | -p [value], where to find ATS plugins, default is '/opt/trafficserver/libexec/trafficserver'
-  --help | -h, this help message
-
-## Exit Status
-  Returns 0 if no missing plugin DSO or config files are found.
-  Otherwise the total number of missing plugin DSO and config files
-  are returned.
-  
-  
+<!--
+
+  !!!
+      This file is both a Github Readme and manpage!
+      Please make sure changes appear properly with man,
+      and follow man conventions, such as:
+      https://www.bell-labs.com/usr/dmr/www/manintro.html
+
+      A primary goal of t3c is to follow POSIX and LSB standards
+      and conventions, so it's easy to learn and use by people
+      who know Linux and other *nix systems. Providing a proper
+      manpage is a big part of that.
+  !!!
+
+-->
+
+# NAME
+
+t3c-check-refs - Traffic Control Cache Configuration generated file reference check tool
+
+## SYNOPSIS
+
+t3c-check-refs [-c directory] [-d location] [-e location] [-f files] [-i location] [-p directory] [file]
+
+[&#45;&#45;help]

Review comment:
       `&#45;&#45;` should be written as `\-\-`.

##########
File path: cache-config/t3c/README.md
##########
@@ -17,18 +17,75 @@
     under the License.
 -->
 
-# t3c
+<!--
+
+  !!!
+      This file is both a Github Readme and manpage!
+      Please make sure changes appear properly with man,
+      and follow man conventions, such as:
+      https://www.bell-labs.com/usr/dmr/www/manintro.html
+
+      A primary goal of t3c is to follow POSIX and LSB standards
+      and conventions, so it's easy to learn and use by people
+      who know Linux and other *nix systems. Providing a proper
+      manpage is a big part of that.
+  !!!
+
+-->
+# NAME
+
+t3c - Traffic Control Cache Configuration tools
+
+# SYNOPSIS
+
+t3c [&#45;&#45;help]

Review comment:
       Another place to use `\-\-` instead of `&#45;&#45;`

##########
File path: cache-config/t3c-update/README.md
##########
@@ -17,50 +17,111 @@
     under the License.
 -->
 
-# t3c-update
-
-## Synopsis
-	t3c-update [-h] [-a value] [-d value] [-e value] [-H value] [-i value] \
-		[-l value] [-P value] [-q value] [-t value] [-u value] [-U value]
-
-## Description
-  The t3c-update app is used to set the update and reval status,
-  on Traffic Ops.
-
-## Options
-  -a  --set-reval-status [true | false] set the servers revalidate status (required)
-  -q  --set-update-status [true | false] set the servers update queue status (required)
-
-	-d, --log-location-debug=value
-        Where to log debugs. May be a file path, stdout or stderr.
-        Default is no debug logging.
-	-e, --log-location-error=value
-        Where to log errors. May be a file path, stdout, or stderr.
-        Default is stderr.
-	-i, --log-location-info=value
-        Where to log infos. May be a file path, stdout or stderr.
-        Default is stderr.
-	-H, --cache-host-name=value
-     		Host name of the cache to update the statuses of on TrafficOps.
-        Server host name in Traffic Ops, not a URL, and not the FQDN.
-        Defaults to the OS configured hostname.
-	-h, --help  Print usage information and exit
- 	-I, --traffic-ops-insecure
-				[true | false] ignore certificate errors from Traffic Ops
-	-l, --login-dispersion=value
-        [seconds] wait a random number of seconds between 0 and
-        [seconds] before login to traffic ops, default 0
-	-P, --traffic-ops-password=value
-        Traffic Ops password. Required. May also be set with the
-        environment variable TO_PASS
-	-t, --traffic-ops-timeout-milliseconds=value
-        Timeout in milli-seconds for Traffic Ops requests, default
-        is 30000 [30000]
-	-u, --traffic-ops-url=value
-        Traffic Ops URL. Must be the full URL, including the scheme.
-        Required. May also be set with     the environment variable
-        TO_URL
-	-U, --traffic-ops-user=value
-        Traffic Ops username. Required. May also be set with the
-        environment variable TO_USER
+<!--
+
+  !!!
+      This file is both a Github Readme and manpage!
+      Please make sure changes appear properly with man,
+      and follow man conventions, such as:
+      https://www.bell-labs.com/usr/dmr/www/manintro.html
+
+      A primary goal of t3c is to follow POSIX and LSB standards
+      and conventions, so it's easy to learn and use by people
+      who know Linux and other *nix systems. Providing a proper
+      manpage is a big part of that.
+  !!!
+
+-->
+# NAME
+
+t3c-update - Traffic Control Cache Configuration cache status updater
+
+# SYNOPSIS
+
+t3c-update [-ahIqv] [-d value] [-e value] [-H value] [-i value] [-l value] [-P value] [-t value] [-u value] [-U
+ value]
+ 
+[&#45;h|&#45;&#45;help]
+
+[&#45;v|&#45;&#45;version]

Review comment:
       To get 2 dashes, `\-\-` can be used instead of `&#45;&#45;`

##########
File path: cache-config/t3c-check/README.md
##########
@@ -0,0 +1,70 @@
+<!--
+    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.
+-->
+
+<!--
+
+  !!!
+      This file is both a Github Readme and manpage!
+      Please make sure changes appear properly with man,
+      and follow man conventions, such as:
+      https://www.bell-labs.com/usr/dmr/www/manintro.html
+
+      A primary goal of t3c is to follow POSIX and LSB standards
+      and conventions, so it's easy to learn and use by people
+      who know Linux and other *nix systems. Providing a proper
+      manpage is a big part of that.
+  !!!
+
+-->
+# NAME
+
+t3c-check - Traffic Control Cache Configuration generated file check tool
+
+# SYNOPSIS
+
+t3c-check &lt;command&gt; [&lt;args&gt;]
+
+[&#45;&#45;help]

Review comment:
       `&#45;&#45;` can be `\-\-` here.

##########
File path: infrastructure/docker/build/Dockerfile-cache-config
##########
@@ -37,9 +37,14 @@ RUN if [[ ${RHEL_VERSION%%.*} -ge 8 ]]; then \
 		git \
 		rpm-build \
 		rsync \
+		gzip \
 		epel-release && \
 	yum -y clean all
 
+RUN yum -y install dnf-plugins-core
+RUN yum -y config-manager --set-enabled PowerTools || yum -y config-manager --set-enabled powertools

Review comment:
       This layer fails to build when building for CentOS 7:
   
   ```
   ```
   
   ```shell
   [user@computer trafficcontrol]$ RHEL_VERSION=7 docker-compose -f infrastructure/docker/build/docker-compose.yml build cache-config_build
   [...]
   #7 1.814 Command line error: no such option: --set-enabled
   #7 ERROR: executor failed running [/bin/sh -c yum -y config-manager --set-enabled PowerTools || yum -y config-manager --set-enabled powertools]: exit code: 1
   ------
    > [common-dependencies 4/5] RUN yum -y config-manager --set-enabled PowerTools || yum -y config-manager --set-enabled powertools:
   ------
   executor failed running [/bin/sh -c yum -y config-manager --set-enabled PowerTools || yum -y config-manager --set-enabled powertools]: exit code: 1
   Service 'cache-config_build' failed to build : Build failed
   ```

##########
File path: infrastructure/docker/build/Dockerfile-cache-config
##########
@@ -37,9 +37,14 @@ RUN if [[ ${RHEL_VERSION%%.*} -ge 8 ]]; then \
 		git \
 		rpm-build \
 		rsync \
+		gzip \
 		epel-release && \
 	yum -y clean all
 
+RUN yum -y install dnf-plugins-core
+RUN yum -y config-manager --set-enabled PowerTools || yum -y config-manager --set-enabled powertools

Review comment:
       > ```shell
   > yum -y config-manager --set-enabled PowerTools
   > ```
   
   Your call, but IMO no need to support CentOS 8 before 8.3.




-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficcontrol] zrhoffman commented on a change in pull request #5878: Add t3c manpages

Posted by GitBox <gi...@apache.org>.
zrhoffman commented on a change in pull request #5878:
URL: https://github.com/apache/trafficcontrol/pull/5878#discussion_r637470898



##########
File path: infrastructure/cdn-in-a-box/Makefile
##########
@@ -180,7 +180,7 @@ $(TS_DIST_RPM): $(TS_SOURCE)
 	"$(PKG_COMMAND)" $(PKG_FLAGS) traffic_stats$(BUILD_SUFFIX)
 
 $(ORT_DIST_RPM): $(ORT_SOURCE)
-	"$(PKG_COMMAND)" $(PKG_FLAGS) cache-config$(BUILD_SUFFIX)
+	"$(PKG_COMMAND)" -b $(PKG_FLAGS) cache-config$(BUILD_SUFFIX)

Review comment:
       No need to manually build [`apache/trafficcontrol-cache-config_builder`](https://hub.docker.com/r/apache/trafficcontrol-cache-config_builder), the image exists in Docker Hub.




-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficcontrol] rob05c commented on a change in pull request #5878: Add t3c manpages

Posted by GitBox <gi...@apache.org>.
rob05c commented on a change in pull request #5878:
URL: https://github.com/apache/trafficcontrol/pull/5878#discussion_r638334175



##########
File path: infrastructure/docker/build/Dockerfile-cache-config
##########
@@ -37,9 +37,14 @@ RUN if [[ ${RHEL_VERSION%%.*} -ge 8 ]]; then \
 		git \
 		rpm-build \
 		rsync \
+		gzip \
 		epel-release && \
 	yum -y clean all
 
+RUN yum -y install dnf-plugins-core
+RUN yum -y config-manager --set-enabled PowerTools || yum -y config-manager --set-enabled powertools

Review comment:
       I'd prefer to leave it, if you don't mind. Better to support all minor versions where possible, and it's easy to do here.




-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficcontrol] rob05c commented on a change in pull request #5878: Add t3c manpages

Posted by GitBox <gi...@apache.org>.
rob05c commented on a change in pull request #5878:
URL: https://github.com/apache/trafficcontrol/pull/5878#discussion_r638333710



##########
File path: infrastructure/docker/build/Dockerfile-cache-config
##########
@@ -37,9 +37,14 @@ RUN if [[ ${RHEL_VERSION%%.*} -ge 8 ]]; then \
 		git \
 		rpm-build \
 		rsync \
+		gzip \
 		epel-release && \
 	yum -y clean all
 
+RUN yum -y install dnf-plugins-core
+RUN yum -y config-manager --set-enabled PowerTools || yum -y config-manager --set-enabled powertools
+RUN yum -y install pandoc

Review comment:
       Changed.




-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficcontrol] rob05c commented on a change in pull request #5878: Add t3c manpages

Posted by GitBox <gi...@apache.org>.
rob05c commented on a change in pull request #5878:
URL: https://github.com/apache/trafficcontrol/pull/5878#discussion_r638332792



##########
File path: cache-config/t3c-apply/README.md
##########
@@ -1,42 +1,200 @@
-# t3c-apply
-
-t3c-apply is a transliteration of traffic_ops_ort.pl script to the go language.
-It is designed to replace the traffic_ops_ort.pl perl script and it is used to apply
-configuration from Traffic Control, stored in Traffic Ops, to the cache.
-
-Typical usage is to install `t3c` on the cache machine, and then run it periodically via a CRON job.
-
-## Options
-
-The `t3c-apply` app has the following command-line options:
-
-
-long option                             | short | default | description
---------------------------------------- | ------| ------- | ------------------------------------------------------------------------------------
---cache-hostname=[hostname]                    | -H    | ""      | override the short hostname of the OS for config generation.
---dispersion=[seconds]                         | -D    | 300     | wait a random number of seconds between 0 and [seconds] before starting.
---login-dispersion=[seconds]                   | -l    | 0       | wait a random number of seconds between 0 and [seconds] before login.
---log-location-debug=[value]                   | -d    | stdout  | Where to log debugs. May be a file path, stdout, stderr, or null
---log-location-error=[value]                   | -e    | stdout  | Where to log errors. May be a file path, stdout, stderr, or null
---log-location-info=[value]                    | -i    | stdout  | Where to log info messages. May be a file path, stdout, stderr, or null
---log-location-warn=[value]                    | -w    | stdout  | Where to log warning messages. May be a file path, stdout, stderr, or null
---num-retries=[number]                         | -r    | 3       | retry connection to Traffic Ops URL [number] times.
---rev-proxy-disable=['true' or 'false']        | -p    | false   | bypass the reverse proxy even if one has been configured.
---reval-wait-time=[seconds]                    | -T    | 60      | wait a random number of seconds between 0 and [seconds] before revlidation
---run-mode=[mode]                              | -m    | report  | The mode of operation, where mode is [badass|report|revalidate|syncds].
---skip-os-check=['true' or 'false']            | -s    | false   | bypass the check for a supported CentOS version.
---traffic-ops-timeout-milliseconds=[ms]        | -t    | 30000   | The Traffic Ops request timeout in milliseconds.
---traffic-ops-password=[password]              | -P    | ""      | TrafficOps password. Required if not set with the environment variable TO_PASS
---traffic-ops-url=[url]                        | -u    | ""      | TrafficOps URL. Required if not set with the environment variable TO_URL
---traffic-ops-user=[username]                  | -U    | ""      | TrafficOps username. Required if not set with the environment variable TO_USER
---trafficserver-home=[directory]               | -R    | ""      | Used to specify an alternate install location for ATS, otherwise its set from the RPM.
---dns-local-bind=['true' or 'false']           | -b    | false   | set the ATS config to bind to the Server's Service Address in Traffic Ops for DNS.
---wait-for-parents=['true' or 'false']         | -W    | true    | do not update if parent_pending = 1 in the update json.
---git=['yes' or 'no' or 'auto']                | -g    | auto    | track changes in git. If yes, create and commit to a repo. If auto, commit if a repo exists.
---default-client-enable-h2=['true' or 'false'] | -2    | false   | Whether to enable HTTP/2 on Delivery Services by default, if they have no explicit Parameter.
---default-client-tls-versions=[versions]       | -v    | ""      | Comma-delimited list of default TLS versions for Delivery Services with no Parameter, e.g. '1.1,1.2,1.3'. If omitted, all versions are enabled.
-
-# Modes
+<!--
+    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.
+-->
+
+<!--
+
+  !!!
+      This file is both a Github Readme and manpage!
+      Please make sure changes appear properly with man,
+      and follow man conventions, such as:
+      https://www.bell-labs.com/usr/dmr/www/manintro.html
+
+      A primary goal of t3c is to follow POSIX and LSB standards
+      and conventions, so it's easy to learn and use by people
+      who know Linux and other *nix systems. Providing a proper
+      manpage is a big part of that.
+  !!!
+
+-->
+# NAME
+
+t3c-apply - Traffic Control Cache Configuration applicator
+
+# SYNOPSIS
+
+t3c-apply [-2bchIpsSvW] [-D seconds] [-d location] [-e location] [-g &lt;yes|no|auto&gt;] [-H hostname] [-i location] [-l seconds] [-M location] [-m &lt;badass|report|revalidate|syncds&gt;] [-P password] [-r retries] [-R path] [-T seconds] [-t milliseconds] [-u url] [-U username] [-V versions] [-w &lt;true|false&gt;]
+
+[&#45;&#45;help]

Review comment:
       Changed.

##########
File path: cache-config/build/build_rpm.sh
##########
@@ -111,6 +141,17 @@ initBuildArea() {
 	echo "The build area has been initialized.";
 }
 
+# buildManpage builds an app's manpage using pandoc.
+# It takes 1 argument: the app name.
+# The working directory must be of the app, and must contain a README.md formatted like a manpage.
+buildManpage() {
+	app="$1";
+	desc="ATC t3c Manual";
+	# prepend the pandoc header to the readme
+  printf "%s\n%s\n%s\n%s" "% ${app}(1) ${app} ${TC_VERSION} | ${desc}" "%" "% $(date '+%Y-%m-%d')" "$(cat ./README.md)" > README.md

Review comment:
       Changed.




-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficcontrol] rob05c commented on a change in pull request #5878: Add t3c manpages

Posted by GitBox <gi...@apache.org>.
rob05c commented on a change in pull request #5878:
URL: https://github.com/apache/trafficcontrol/pull/5878#discussion_r637471117



##########
File path: infrastructure/cdn-in-a-box/Makefile
##########
@@ -180,7 +180,7 @@ $(TS_DIST_RPM): $(TS_SOURCE)
 	"$(PKG_COMMAND)" $(PKG_FLAGS) traffic_stats$(BUILD_SUFFIX)
 
 $(ORT_DIST_RPM): $(ORT_SOURCE)
-	"$(PKG_COMMAND)" $(PKG_FLAGS) cache-config$(BUILD_SUFFIX)
+	"$(PKG_COMMAND)" -b $(PKG_FLAGS) cache-config$(BUILD_SUFFIX)

Review comment:
       I made those changes to make the Github checks pass. The build was failing because the Docker Hub images don't have the Dockerfile changes in this PR: https://github.com/apache/trafficcontrol/pull/5878/files#diff-bbc5344acb7207878d9fba88a12ae8a6149729c41b66a7e62377453133f1a208R46
   
   Is there a procedure for getting Github checks to pass when a Dockerfile needs updating?




-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficcontrol] rob05c commented on a change in pull request #5878: Add t3c manpages

Posted by GitBox <gi...@apache.org>.
rob05c commented on a change in pull request #5878:
URL: https://github.com/apache/trafficcontrol/pull/5878#discussion_r638333769



##########
File path: cache-config/t3c-request/README.md
##########
@@ -17,59 +17,117 @@
     under the License.
 -->
 
-# t3c-request
+<!--
+
+  !!!
+      This file is both a Github Readme and manpage!
+      Please make sure changes appear properly with man,
+      and follow man conventions, such as:
+      https://www.bell-labs.com/usr/dmr/www/manintro.html
+
+      A primary goal of t3c is to follow POSIX and LSB standards
+      and conventions, so it's easy to learn and use by people
+      who know Linux and other *nix systems. Providing a proper
+      manpage is a big part of that.
+  !!!
+
+-->
+# NAME
+
+t3c-request - Traffic Control Cache Configuration data requestor
 
-## Synopsis
-	t3c-request [-hI] [-D value] [-d value] [-e value] [-H value] [-i value] \
-		[-l value] [-P value] [-t value] [-u value] [-U value]
+# SYNOPSIS
+
+t3c-request [-hIprv] [-D &lt;config|update-status|packages|chkconfig|system-info|statuses&gt;] [-d location] [-e location] [-H hostname] [-i location] [-l seconds] [-P password] [-t milliseconds] [-u url] [-U username]
+
+[&#45;&#45;help]

Review comment:
       Changed.

##########
File path: cache-config/t3c-update/README.md
##########
@@ -17,50 +17,111 @@
     under the License.
 -->
 
-# t3c-update
-
-## Synopsis
-	t3c-update [-h] [-a value] [-d value] [-e value] [-H value] [-i value] \
-		[-l value] [-P value] [-q value] [-t value] [-u value] [-U value]
-
-## Description
-  The t3c-update app is used to set the update and reval status,
-  on Traffic Ops.
-
-## Options
-  -a  --set-reval-status [true | false] set the servers revalidate status (required)
-  -q  --set-update-status [true | false] set the servers update queue status (required)
-
-	-d, --log-location-debug=value
-        Where to log debugs. May be a file path, stdout or stderr.
-        Default is no debug logging.
-	-e, --log-location-error=value
-        Where to log errors. May be a file path, stdout, or stderr.
-        Default is stderr.
-	-i, --log-location-info=value
-        Where to log infos. May be a file path, stdout or stderr.
-        Default is stderr.
-	-H, --cache-host-name=value
-     		Host name of the cache to update the statuses of on TrafficOps.
-        Server host name in Traffic Ops, not a URL, and not the FQDN.
-        Defaults to the OS configured hostname.
-	-h, --help  Print usage information and exit
- 	-I, --traffic-ops-insecure
-				[true | false] ignore certificate errors from Traffic Ops
-	-l, --login-dispersion=value
-        [seconds] wait a random number of seconds between 0 and
-        [seconds] before login to traffic ops, default 0
-	-P, --traffic-ops-password=value
-        Traffic Ops password. Required. May also be set with the
-        environment variable TO_PASS
-	-t, --traffic-ops-timeout-milliseconds=value
-        Timeout in milli-seconds for Traffic Ops requests, default
-        is 30000 [30000]
-	-u, --traffic-ops-url=value
-        Traffic Ops URL. Must be the full URL, including the scheme.
-        Required. May also be set with     the environment variable
-        TO_URL
-	-U, --traffic-ops-user=value
-        Traffic Ops username. Required. May also be set with the
-        environment variable TO_USER
+<!--
+
+  !!!
+      This file is both a Github Readme and manpage!
+      Please make sure changes appear properly with man,
+      and follow man conventions, such as:
+      https://www.bell-labs.com/usr/dmr/www/manintro.html
+
+      A primary goal of t3c is to follow POSIX and LSB standards
+      and conventions, so it's easy to learn and use by people
+      who know Linux and other *nix systems. Providing a proper
+      manpage is a big part of that.
+  !!!
+
+-->
+# NAME
+
+t3c-update - Traffic Control Cache Configuration cache status updater
+
+# SYNOPSIS
+
+t3c-update [-ahIqv] [-d value] [-e value] [-H value] [-i value] [-l value] [-P value] [-t value] [-u value] [-U
+ value]
+ 
+[&#45;h|&#45;&#45;help]
+
+[&#45;v|&#45;&#45;version]

Review comment:
       Changed.

##########
File path: cache-config/t3c/README.md
##########
@@ -17,18 +17,75 @@
     under the License.
 -->
 
-# t3c
+<!--
+
+  !!!
+      This file is both a Github Readme and manpage!
+      Please make sure changes appear properly with man,
+      and follow man conventions, such as:
+      https://www.bell-labs.com/usr/dmr/www/manintro.html
+
+      A primary goal of t3c is to follow POSIX and LSB standards
+      and conventions, so it's easy to learn and use by people
+      who know Linux and other *nix systems. Providing a proper
+      manpage is a big part of that.
+  !!!
+
+-->
+# NAME
+
+t3c - Traffic Control Cache Configuration tools
+
+# SYNOPSIS
+
+t3c [&#45;&#45;help]

Review comment:
       Changed.




-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org