Document domain registration, DNS verification, and Gitea workflow
This commit is contained in:
1 parent
da6a369420
commit
64fd3da0fd
19 files changed
+236
-37
No files matched your search
@@ -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.
|
||||
|
||||
Reference in new issue
Block a user