Document domain registration, DNS verification, and Gitea workflow

This commit is contained in:
MasterDefault committed 2026-10-15 19:29:49 -04:00
1 parent da6a369420
commit 64fd3da0fd
19 files changed
+236 -37

No files matched your search

+181 -26
View File
@@ -8,27 +8,95 @@ The dated screenshots record completed work; pending items below are not
represented as passed. This draft covers Victor's deployment and access setup.
\section{Student Pack Domain and DNS}
Victor submitted school enrollment evidence to GitHub Education on October 12,
2026. Academic status was approved that day, but the portal displayed
``Awaiting Benefits'' and stated that partner offers would activate after
72 hours (Figure~\ref{Figure:GiteaBenefits}). At the October 15 drafting
checkpoint, Victor reported that benefits were still unavailable.
Victor submitted current school-enrollment evidence to GitHub Education on
October 12, 2026. Academic status was approved that day, while partner benefits
remained in ``Awaiting Benefits'' status with a stated 72-hour activation delay
(Figure~\ref{Figure:GiteaBenefits}). On October 15 the benefits became available,
and Victor redeemed Name.com's GitHub Student Developer Pack offer.
\textbf{Pending:} redeem an eligible Student Pack domain offer; record the
provider, eligibility, first-year charge, renewal charge, expiration, and renewal
owner; configure the selected Gitea hostname and capture an independent DNS
lookup. \texttt{inviscid.net} is a preference, not a registered or verified
domain in this record. The selected offer must determine which extension is
eligible. The intended DNS A record will point the selected hostname to
\texttt{100.49.80.94}. Domain ownership and renewal will be recorded when the
offer is redeemed; no registration cost or expiry is invented here.
The offer covered selected extensions rather than the preferred
\texttt{inviscid.net}. Victor selected \texttt{inviscid.dev}, registered it for
one year, and supplied the completed order and domain-management evidence.
The checkout total was \$0.00, with the free Domain Safe option; Domain Safe Pro
and optional hosting/email upgrades were not selected. No registrar-provided
SSL product is needed for the planned Caddy deployment.
\begin{tabularx}{\linewidth}{L{3.8cm}Y}
\caption{Student Domain and DNS Record\label{Table:GiteaDomain}}\\
\toprule \textbf{Field} & \textbf{Recorded value}\\ \midrule
Provider and eligibility & Name.com, redeemed through the activated GitHub Student Developer Pack benefit\\
Registered domain & \texttt{inviscid.dev}\\
Registration date / term & October 15, 2026 / one year\\
Initial charge & \$0.00\\
Displayed renewal price & \$22.99; verify current price before renewal\\
Displayed renewal date & October 15, 2027\\
Account owner / renewal responsibility & Victor; keep payment/contact details current and track renewal before the anniversary\\
Renewal and protection settings & Automatic renewal ON; WHOIS privacy ON; transfer lock enabled\\
Gitea hostname & \texttt{git.inviscid.dev}\\
DNS hosting & Name.com's DNS management; exact authoritative nameserver values not yet captured\\
DNS record & A, host \texttt{git}, answer \texttt{100.49.80.94}, TTL 300 seconds\\
Intended public service URL & \url{https://git.inviscid.dev/}; DNS verified, HTTPS still pending in this record\\
\bottomrule
\end{tabularx}
Victor manages registration and renewal; the registrar's automatic-renewal
setting and October 2027 anniversary provide the recorded renewal controls.
Domain registration and DNS are independent of the class AWS account hosting
the application. Prices can change, so the table records the displayed price,
not a guarantee of the eventual renewal charge.
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{figures/gitea/student-pack-approved-awaiting-benefits.png}
\caption{October 12: academic status approved, with partner benefits still awaiting activation. This establishes the dependency blocking domain redemption, not a completed registration.}
\caption{October 12: academic approval preceded partner-benefit activation. The delay was resolved before domain registration on October 15.}
\label{Figure:GiteaBenefits}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[width=0.62\linewidth,height=0.60\textheight,keepaspectratio]{figures/gitea/student-pack-domain-offer.png}
\caption{October 15: Name.com Student Pack offer for selected domain extensions.}
\label{Figure:GiteaDomainOffer}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{figures/gitea/domain-free-checkout.png}
\caption{October 15: one-year inviscid.dev registration at a checkout total of zero, with paid Domain Safe Pro unselected.}
\label{Figure:GiteaDomainCheckout}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{figures/gitea/domain-renewal-details.png}
\caption{October 15: registered domain, October 15, 2027 renewal date, displayed renewal price, auto-renewal, privacy, and transfer-lock settings.}
\label{Figure:GiteaDomainRenewal}
\end{figure}
In Name.com's Manage DNS page, Victor added an A record with host
\texttt{git}; the interface appended \texttt{.inviscid.dev}. The answer is the
EC2 Elastic IP rather than the old auto-assigned address. The saved record
and creation date are visible in Figure~\ref{Figure:GiteaDNSRecord}.
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{figures/gitea/dns-a-record.png}
\caption{October 15: saved A record for git.inviscid.dev pointing to 100.49.80.94 with a 300-second TTL.}
\label{Figure:GiteaDNSRecord}
\end{figure}
Victor independently verified the record from Windows PowerShell, outside
EC2, using two public DNS resolvers:
\begin{minted}{powershell}
Get-Date -Format o
Resolve-DnsName git.inviscid.dev -Type A -Server 1.1.1.1
Resolve-DnsName git.inviscid.dev -Type A -Server 8.8.8.8
\end{minted}
The supplied timestamp is October 15, 2026 at 19:17:31, UTC offset -04:00.
Both resolvers returned an A answer of \texttt{100.49.80.94}, TTL 300.
This verifies public name resolution, not application availability or TLS.
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{figures/gitea/dns-independent-lookups.png}
\caption{October 15: independent Cloudflare and Google resolver lookups both return the expected Elastic IP.}
\label{Figure:GiteaDNSLookup}
\end{figure}
\section{Pinned Gitea Deployment}
The existing \texttt{ssw590-group-web} instance runs Ubuntu 26.04 LTS on a
@@ -140,7 +208,7 @@ This required test is distinct from the optional backup/restore exercise.
\section{HTTPS and Certificate Renewal}
\textbf{Pending---Payton:} compare two certificate options and justify one;
configure Caddy using the final hostname, persistent certificate state, and
configure Caddy using \texttt{git.inviscid.dev}, persistent certificate state, and
private forwarding to \texttt{gitea:3000}; update Gitea's domain and public URL;
record issuer, expiry, redirect, renewal automation, and a successful renewal
test or dry run. The existing website's host-port-80 mapping must be resolved
@@ -207,16 +275,103 @@ mandatory password change. A shared Gitea account is not used.
On October 15 Victor added Payton's public SSH key to the remote Ubuntu
account's authorized keys, preserving the existing key and using directory/file
permissions 700/600. His source IP was allowed separately. Victor subsequently
reported that Payton connected over SSH successfully; Gitea login testing was
still underway. Both currently use the Linux \texttt{ubuntu} account with
separate keys, so Linux account-level attribution remains shared.
reported that Payton connected over SSH successfully and subsequently confirmed
that his Gitea account worked. His password-change completion was not separately
captured. Both currently use the Linux \texttt{ubuntu} account with separate
keys, so Linux account-level attribution remains shared.
\textbf{Pending---Payton and both authors:} confirm Payton's Gitea login and
password change; create the organization, product repository, README, member
roles, and five actionable issues. Link the organization and repository here.
Then each author completes an issue-linked branch and PR, receives peer review,
merges, and closes the issue. Capture both complete cycles. The initial GitHub
push is not counted as a reviewed Gitea PR.
\subsection{Organization, Repository, and Roles}
Victor took responsibility for the Gitea organization/repository work while
Payton focused on the other infrastructure tasks. Victor created organization
\texttt{Inviscid} and added \texttt{payton} to its Owners team. Both
\texttt{victor} and \texttt{payton} therefore administer the organization and
its repositories; Payton's account is not a site-wide administrator.
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{figures/gitea/organization-owners.png}
\caption{October 15: victor and payton are members of the Inviscid Owners team.}
\label{Figure:GiteaOwners}
\end{figure}
Victor created \texttt{Inviscid/SSW590-DevOps} without initializing an unrelated
README commit, then pushed the existing project's \texttt{main} history.
The repository page showed 13 commits, including the initial Gitea deployment
commit \texttt{2807081}. GitHub remains the \texttt{origin} remote; the new
\texttt{gitea} remote points to the tunneled service. The observed commands were:
\begin{minted}{bash}
git remote add gitea http://localhost:3000/Inviscid/SSW590-DevOps.git
git push gitea main:main
\end{minted}
The intended final organization and repository links are
\url{https://git.inviscid.dev/Inviscid} and
\url{https://git.inviscid.dev/Inviscid/SSW590-DevOps}.
At the recorded checkpoint, access used the equivalent paths at
\url{http://localhost:3000/} through an SSH tunnel; the final HTTPS links are
not yet verified. These links must be checked before submission.
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{figures/gitea/repository-main-import.png}
\caption{October 15: existing project files and history imported into the organization repository on main.}
\label{Figure:GiteaRepository}
\end{figure}
\subsection{Issue 1 and Documentation Pull Request 2}
Victor created issue \#1, ``Document the initial Gitea deployment and team
access,'' assigned it to himself, and recorded acceptance criteria covering
deployment facts, evidence, manual controls, pending work, and Overleaf review.
Victor reported that he had uploaded the draft to Overleaf, compiled it, and
visually reviewed it. This is author-reported validation of the earlier draft,
not verification of later edits or the final combined submission.
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{figures/gitea/issue-1-documentation.png}
\caption{October 15: open issue 1, acceptance criteria, and Victor's assignment. Checked criteria do not mean the issue has been merged or closed.}
\label{Figure:GiteaIssueOne}
\end{figure}
The changes were made on \texttt{codex/gitea-foundation-docs}, staged and
checked, then committed as \texttt{da6a369} and pushed:
\begin{minted}{bash}
git diff --cached --check
git diff --cached --stat
git commit -m "Document initial Gitea deployment and team access; refs #1"
git push -u gitea codex/gitea-foundation-docs
\end{minted}
The commit recorded 12 changed files, 342 insertions, and 32 deletions.
Victor opened PR \#2 targeting \texttt{main}, included \texttt{Closes \#1}
in its description, and requested review from \texttt{payton}. Gitea uses a
shared numbering sequence for issues and PRs: PR \#2 is the first PR, not a
second completed workflow.
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{figures/gitea/pr-2-review-request.png}
\caption{October 15: open PR 2 targets main, links issue 1, and requests Payton's review. Approval and merge are not shown.}
\label{Figure:GiteaPROpen}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{figures/gitea/pr-2-chapter-diff.png}
\caption{October 15: Files Changed view exposes the documentation additions for peer review.}
\label{Figure:GiteaPRDiff}
\end{figure}
The intended final links are
\url{https://git.inviscid.dev/Inviscid/SSW590-DevOps/issues/1} and
\url{https://git.inviscid.dev/Inviscid/SSW590-DevOps/pulls/2}.
These were accessed through the SSH-tunnel hostname at this checkpoint.
\textbf{Pending---Payton and both authors:} Payton's formal review, any
requested corrections, merge, and issue closure; a separate issue-linked PR
authored by Payton and reviewed by Victor; README and at least five actionable
issues, including product and operations work. Only issue 1 and open PR 2 are
fully evidenced here. The dashboard issue was proposed but its creation was
not confirmed. Payton has taken ownership of the remaining Gitea tasks.
The initial main push is not counted as a reviewed PR.
\section{Architecture and Operation}
The current private initialization path is shown in
@@ -270,8 +425,8 @@ from observed deployment facts where necessary. Material AI help is recorded
in \ChapterRef{AIPromptLog}. The linked history entry identifies both table
updates. Optional backup/restore extra credit is outside this draft's scope.
\textbf{Pending before submission:} finish all pending sections, update DNS
and final Compose/proxy configuration, complete the required team workflow,
\textbf{Pending before submission:} finish all pending sections, update the
final Compose/proxy configuration for \texttt{git.inviscid.dev}, complete the required team workflow,
verify external exposure and renewal, compile the combined PDF, inspect its
pages and links, and submit only the PDF. No deadline time was supplied for
the professor's extension to Thursday, October 15, 2026; check Canvas.