add payton's sections to chapter 9; remove unnecessary sections/screenshots, reformat as necessary

This commit is contained in:
Payton Bates committed 2026-10-15 23:35:22 -04:00
1 parent 89359a6ce3
commit 3eac4a694f
42 files changed
+34 -9

No files matched your search

+17
View File
@@ -179,3 +179,20 @@ and contact details was excluded from the repository; free-checkout and domain
management screenshots provide non-sensitive evidence instead. Public HTTPS, management screenshots provide non-sensitive evidence instead. Public HTTPS,
renewal tests, external exposure, persistence replacement, Payton's PR review, renewal tests, external exposure, persistence replacement, Payton's PR review,
merge/closure, remaining issues/README, and final compilation are not claimed. merge/closure, remaining issues/README, and final compilation are not claimed.
\subsection{Record 10 --- HTTPS, Firewall, Persistence, and Report Completion}
\textbf{Date:} October 13--15, 2026.\\
\textbf{Tool and model:} Anthropic Claude (Opus 5.5).\\
\textbf{Task:} Plan Payton's remaining Chapter~2 work; guide security-group
changes, Caddy and Compose configuration, the renewal, persistence, and
external exposure tests; draft README edits, the architecture diagram,
and this chapter's completed sections.\\
\textbf{Human actions:} Payton ran every console action and command, captured
all screenshots, chose Caddy, wrote and edited the issues, opened and merged
PR 7, and reviewed PR 2. Victor reviewed PR 7. The assistant viewed the AWS
console read-only; it made no AWS, DNS, or Gitea changes.\\
\textbf{Output used:} Configuration (Caddyfile, Compose additions), README
edits, TikZ diagram, and chapter text based on Payton's screenshots and
command output.\\
\textbf{Evidence handling and limits:} Values in this chapter come from the
saved screenshots. Team IP addresses are redacted in the text.
+4
View File
@@ -2,7 +2,9 @@
\newacronym{ami}{AMI}{Amazon Machine Image} \newacronym{ami}{AMI}{Amazon Machine Image}
\newacronym{iam}{IAM}{identity and access management} \newacronym{iam}{IAM}{identity and access management}
\newacronym{mfa}{MFA}{multi-factor authentication} \newacronym{mfa}{MFA}{multi-factor authentication}
\newacronym{acme}{ACME}{Automatic Certificate Management Environment}
\newacronym{ssh}{SSH}{secure shell} \newacronym{ssh}{SSH}{secure shell}
\newacronym{tls}{TLS}{Transport Layer Security}
\newacronym{wip}{WIP}{work in progress} \newacronym{wip}{WIP}{work in progress}
\newacronym{wsl}{WSL}{Windows Subsystem for Linux} \newacronym{wsl}{WSL}{Windows Subsystem for Linux}
\newglossaryentry{evidence}{name={evidence},description={A retained record of an \newglossaryentry{evidence}{name={evidence},description={A retained record of an
@@ -14,6 +16,8 @@
\newglossaryentry{texlive}{name={TeX Live},description={A cross-platform \newglossaryentry{texlive}{name={TeX Live},description={A cross-platform
distribution of the \TeX\ engines, \LaTeX\ packages, fonts, and tools; the distribution of the \TeX\ engines, \LaTeX\ packages, fonts, and tools; the
distribution Overleaf compiles with}} distribution Overleaf compiles with}}
\newglossaryentry{caddy}{name={Caddy},description={A web server and reverse
proxy that obtains and renews TLS certificates automatically; the team's HTTPS endpoint for Gitea}}
\newglossaryentry{sqlite}{name={SQLite},description={An embedded database stored \newglossaryentry{sqlite}{name={SQLite},description={An embedded database stored
in a local file; Gitea's selected database for the initial two-person deployment}} in a local file; Gitea's selected database for the initial two-person deployment}}
\newglossaryentry{elasticip}{name={Elastic IP},description={An allocated AWS \newglossaryentry{elasticip}{name={Elastic IP},description={An allocated AWS
+2
View File
@@ -117,6 +117,8 @@ curl -I http://127.0.0.1
The create command assumes the container name is unused. The restart policy The create command assumes the container name is unused. The restart policy
allows the running service to resume after a host restart. The application binds allows the running service to resume after a host restart. The application binds
to all container interfaces, and the AWS security group permits public HTTP. to all container interfaces, and the AWS security group permits public HTTP.
Since October 15, 2026, the container no longer publishes port 80; Caddy serves
it by IP over the private Docker network (\ChapterRef{GiteaFoundation}).
\section{Verification Evidence} \section{Verification Evidence}
The terminal screenshot shows container \texttt{70ed56f7fae8} running, the The terminal screenshot shows container \texttt{70ed56f7fae8} running, the
+1 -1
View File
@@ -36,7 +36,7 @@ only once it exists and is reachable.
\multicolumn{4}{l}{\small\itshape Host Inventory (continued)}\\ \multicolumn{4}{l}{\small\itshape Host Inventory (continued)}\\
\toprule \textbf{Host name} & \textbf{Role} & \textbf{Platform} & \textbf{Status}\\ \midrule \toprule \textbf{Host name} & \textbf{Role} & \textbf{Platform} & \textbf{Status}\\ \midrule
\endhead \bottomrule \endlastfoot \endhead \bottomrule \endlastfoot
\texttt{ssw590-group-web} & Group deployment target. Runs Color Buttons and the Gitea work hub in \ChapterRef{GiteaFoundation}; Elastic IP \texttt{100.49.80.94}; DNS \texttt{git.inviscid.dev} verified October 15 (HTTPS pending). & Ubuntu 26.04 LTS on Amazon EC2, \texttt{t3.micro} & In service\\ \texttt{ssw590-group-web} & Group deployment target. Runs Color Buttons and the Gitea work hub in \ChapterRef{GiteaFoundation}; Elastic IP \texttt{100.49.80.94}; DNS \texttt{git.inviscid.dev}; HTTPS through Caddy. & Ubuntu 26.04 LTS on Amazon EC2, \texttt{t3.micro} & In service\\
\texttt{ssw590-dev-01} & Primary Linux host for the course. Target for service configuration, deployment exercises, and command-line work. & Ubuntu Server LTS on Amazon EC2 & Planned\\ \texttt{ssw590-dev-01} & Primary Linux host for the course. Target for service configuration, deployment exercises, and command-line work. & Ubuntu Server LTS on Amazon EC2 & Planned\\
\end{tabularx} \end{tabularx}
+3 -3
View File
@@ -10,8 +10,8 @@ This document records the configuration of the development environment used for
\CourseNumber\ and the working practices followed to produce it. \CourseNumber\ and the working practices followed to produce it.
Each chapter covers one subject, and each assignment adds or revises chapters Each chapter covers one subject, and each assignment adds or revises chapters
as recorded in the document history. The latest revision for Assignment~\AssignmentNumber\ as recorded in the document history. The latest revision for Assignment~\AssignmentNumber\
adds \ChapterRef{GiteaFoundation}, recording the initial Gitea deployment adds \ChapterRef{GiteaFoundation}, recording the Gitea deployment, HTTPS, firewall,
and the pending checks required to complete the assignment. persistence testing, and team workflow.
Earlier coursework chapters are retained. Earlier coursework chapters are retained.
\section{Scope and Constraints} \section{Scope and Constraints}
@@ -63,7 +63,7 @@ the Template Attribution page. The template's instructional example chapter and
its template-maintenance appendices have been removed, since they describe how its template-maintenance appendices have been removed, since they describe how
to author the template rather than the environment this document records. to author the template rather than the environment this document records.
\ChapterRef{GiteaFoundation} records the persistent work hub, team access, and pending domain, HTTPS, and workflow evidence. \ChapterRef{GiteaFoundation} records the persistent work hub, domain and DNS, HTTPS, firewall, persistence testing, and team workflow.
\section{Tools and AI Assistance} \section{Tools and AI Assistance}
\index{AI assistance} \index{AI assistance}
+1 -1
View File
@@ -44,7 +44,7 @@ only where a generated secret cannot be retrieved.
\endhead \bottomrule \endlastfoot \endhead \bottomrule \endlastfoot
Victor & Name.com registrar & Private account & Domain inviscid.dev; credentials held outside Git/report. Victor manages renewal; auto-renewal enabled.\\ Victor & Name.com registrar & Private account & Domain inviscid.dev; credentials held outside Git/report. Victor manages renewal; auto-renewal enabled.\\
\texttt{victor} & Gitea (Inviscid) & Unique & Site administrator; password kept outside this report and repository.\\ \texttt{victor} & Gitea (Inviscid) & Unique & Site administrator; password kept outside this report and repository.\\
\texttt{payton} & Gitea (Inviscid) & Temporary & Initial password delivered separately; mandatory change configured. Successful login reported; password-change completion not separately evidenced.\\ \texttt{payton} & Gitea (Inviscid) & Unique & Temporary password changed by Payton after first login; new password kept outside this report and repository.\\
Both authors & EC2 \texttt{ubuntu} & SSH key & Separate private keys remain on each author's workstation; only public keys authorized on EC2. No private keys in Git.\\ Both authors & EC2 \texttt{ubuntu} & SSH key & Separate private keys remain on each author's workstation; only public keys authorized on EC2. No private keys in Git.\\
\texttt{root} & \texttt{ssw590-dev-01} & None & No password. Administrative access is obtained through \texttt{sudo} by a named account, so that privileged actions are attributable.\\ \texttt{root} & \texttt{ssw590-dev-01} & None & No password. Administrative access is obtained through \texttt{sudo} by a named account, so that privileged actions are attributable.\\
\texttt{payton} & \texttt{ssw590-dev-01}, \texttt{ssw590-build-01} & Derived & Used only to authenticate \texttt{sudo}; \gls{ssh} password authentication is disabled, so this secret never crosses the network. \texttt{payton} & \texttt{ssw590-dev-01}, \texttt{ssw590-build-01} & Derived & Used only to authenticate \texttt{sudo}; \gls{ssh} password authentication is disabled, so this secret never crosses the network.
+1 -1
View File
@@ -42,7 +42,7 @@
% Replace these values for each assignment. % Replace these values for each assignment.
\newcommand{\AssignmentTitle}{Startup Foundation with Gitea} \newcommand{\AssignmentTitle}{Startup Foundation with Gitea}
\newcommand{\AssignmentNumber}{4} \newcommand{\AssignmentNumber}{4}
\newcommand{\DocumentVersion}{4.1} \newcommand{\DocumentVersion}{4.2}
\newcommand{\DocumentStatus}{Submitted Document} \newcommand{\DocumentStatus}{Submitted Document}
\newcommand{\CourseNumber}{SSW 590} \newcommand{\CourseNumber}{SSW 590}
\newcommand{\CourseName}{DevOps} \newcommand{\CourseName}{DevOps}
Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 580 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 677 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

+4 -3
View File
@@ -14,6 +14,7 @@ Assignment 4 records the persistent Gitea service on the existing EC2 host,
Elastic IP association, and separate team access. It also records Student Pack Elastic IP association, and separate team access. It also records Student Pack
domain redemption, inviscid.dev registration and independently verified DNS, domain redemption, inviscid.dev registration and independently verified DNS,
organization ownership, repository import, and the first open issue-linked PR. organization ownership, repository import, and the first open issue-linked PR.
Public HTTPS, renewal and external exposure tests, container-replacement It also records Caddy-terminated HTTPS with a Let's Encrypt certificate and
persistence verification, and both completed reviewed-merge workflows remain renewal test, the EC2 security group with external exposure tests, a
pending in this draft. container-replacement persistence test, the product backlog, and two reviewed,
issue-linked pull requests.
+1
View File
@@ -11,6 +11,7 @@ link each entry to the changed chapter, table, figure, or controlled artifact.
\multicolumn{4}{l}{\small\itshape Document Update History (continued)}\\ \multicolumn{4}{l}{\small\itshape Document Update History (continued)}\\
\toprule \textbf{Date / Version} & \textbf{Author Initials} & \textbf{Change} & \textbf{Changed At}\\ \midrule \toprule \textbf{Date / Version} & \textbf{Author Initials} & \textbf{Change} & \textbf{Changed At}\\ \midrule
\endhead \bottomrule \endlastfoot \endhead \bottomrule \endlastfoot
October 15, 2026 / 4.2 & PCB & Added Caddy HTTPS with certificate, redirect, and forced-reissue renewal evidence; certificate-option comparison; security-group, network ACL, port-mapping, and external exposure tests; the container-replacement persistence test; architecture diagram and operations notes; issues 3--6 and reviewed PR 7. Updated the Hosts entry (HTTPS verified), Payton's Passwords hint, abstract, introduction, Cloud Docker note, glossary, and AI log. & \ChapterRef{GiteaFoundation}, \ChapterRef{Hosts}, \ChapterRef{Passwords}, \ChapterRef{CloudDockerDeployment}, \ChapterRef{AIPromptLog}\\
October 15, 2026 / 4.1 & VDRF & Recorded Student Pack redemption, inviscid.dev registration/renewal, DNS record and two independent lookups, organization ownership, repository import, issue 1, and open PR 2. Updated Hosts domain entry, Passwords registrar/account hints, abstract, AI log, and deployment handoff notes; HTTPS and reviewed merges remain pending. & \ChapterRef{GiteaFoundation}, \ChapterRef{Hosts}, \ChapterRef{Passwords}, \ChapterRef{AIPromptLog}\\ October 15, 2026 / 4.1 & VDRF & Recorded Student Pack redemption, inviscid.dev registration/renewal, DNS record and two independent lookups, organization ownership, repository import, issue 1, and open PR 2. Updated Hosts domain entry, Passwords registrar/account hints, abstract, AI log, and deployment handoff notes; HTTPS and reviewed merges remain pending. & \ChapterRef{GiteaFoundation}, \ChapterRef{Hosts}, \ChapterRef{Passwords}, \ChapterRef{AIPromptLog}\\
October 15, 2026 / 4.0 & VDRF & Added the initial Gitea foundation chapter with deployment, SQLite, Elastic IP, access evidence, and explicit pending DNS/HTTPS/workflow items. Updated Hosts inventory and cleanup, Passwords account/hint table and policy-versus-observation wording, metadata, abstract, introduction, and AI log. & \ChapterRef{GiteaFoundation}, \ChapterRef{Hosts}, \ChapterRef{Passwords}, \ChapterRef{AIPromptLog}\\ October 15, 2026 / 4.0 & VDRF & Added the initial Gitea foundation chapter with deployment, SQLite, Elastic IP, access evidence, and explicit pending DNS/HTTPS/workflow items. Updated Hosts inventory and cleanup, Passwords account/hint table and policy-versus-observation wording, metadata, abstract, introduction, and AI log. & \ChapterRef{GiteaFoundation}, \ChapterRef{Hosts}, \ChapterRef{Passwords}, \ChapterRef{AIPromptLog}\\
October 6, 2026 / 3.2 & VDRF & Replaced the preliminary tool proposal with Inviscid, its sample customer task, tentative stack, research question, and independent SWOT assessments of Prometheus and VictoriaMetrics. Updated the abstract and AI log. & \ChapterRef{ProjectProposal}, \ChapterRef{AIPromptLog}\\ October 6, 2026 / 3.2 & VDRF & Replaced the preliminary tool proposal with Inviscid, its sample customer task, tentative stack, research question, and independent SWOT assessments of Prometheus and VictoriaMetrics. Updated the abstract and AI log. & \ChapterRef{ProjectProposal}, \ChapterRef{AIPromptLog}\\