% SSW 590 DevOps Assignment Template % Developed by Darian Muresan, Ph.D., with OpenAI Codex and Anthropic Claude Code. % AI agents: read backmatter/devopsAIAgentGuide.tex before editing this template. \documentclass[12pt]{cornell} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{xspace} \usepackage{xcolor} \usepackage{graphicx} \usepackage{pdflscape} % Full-page terminal evidence \usepackage{fancyhdr} \usepackage{amsmath,amssymb} \usepackage{array} \usepackage{booktabs} \usepackage{longtable} \usepackage{tabularx} \usepackage{ltablex} \usepackage{float} \keepXColumns \usepackage{enumitem} \usepackage{listings} \usepackage{minted} \setminted{fontsize=\footnotesize,breaklines,frame=single} \usepackage{tcolorbox} \usepackage{tikz} \usetikzlibrary{positioning,arrows.meta,fit,backgrounds} \usepackage{makeidx} \usepackage[colorlinks=true,citecolor=blue,linkcolor=blue,urlcolor=blue]{hyperref} \usepackage[acronym,toc]{glossaries} \makeindex \makeglossaries \input{backmatter/glossary} \definecolor{devopsBlue}{RGB}{31,78,121} \definecolor{devopsGreen}{RGB}{46,125,50} \definecolor{devopsRed}{RGB}{183,28,28} \definecolor{devopsGray}{RGB}{90,90,90} \definecolor{devopsLightBlue}{RGB}{232,240,247} % Replace these values for each assignment. \newcommand{\AssignmentTitle}{Startup Foundation with Gitea} \newcommand{\AssignmentNumber}{4} \newcommand{\DocumentVersion}{4.1} \newcommand{\DocumentStatus}{Submitted Document} \newcommand{\CourseNumber}{SSW 590} \newcommand{\CourseName}{DevOps} \newcommand{\Author}{Payton Bates and Victor Del Rio Foces} \newcommand{\Instructor}{Darian Muresan, Ph.D.} \newcommand{\Organization}{Stevens Institute of Technology} \newcommand{\DocumentDate}{October 15, 2026} \newcommand{\DueDate}{October 15, 2026 (submission time: see Canvas)} \newcommand{\VERSION}{Version \DocumentVersion} \hypersetup{ pdftitle={\CourseNumber\ --- Assignment \AssignmentNumber: \AssignmentTitle}, pdfauthor={\Author}, pdfcreator={Darian Muresan, Ph.D., with OpenAI Codex and Anthropic Claude Code}, pdfsubject={Development environment configuration record for \CourseNumber\ Assignment \AssignmentNumber\ }, pdfkeywords={DevOps, Kanban, password, host, development environment, Amazon EC2, GitHub Projects, Docker, TeX Live} } \newcolumntype{Y}{>{\raggedright\arraybackslash}X} \newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}} \setlength{\tabcolsep}{4pt} \setlength{\headheight}{16pt} \setlength{\emergencystretch}{2em} \renewcommand{\arraystretch}{1.12} \setlength{\LTpre}{6pt} \setlength{\LTpost}{6pt} % Stable IDs make activity, evidence, and artifact references durable. \newcommand{\ArtifactLabel}[2]{\phantomsection\label{#1:#2}} \newcommand{\ArtifactID}[2]{\texttt{#2}\ArtifactLabel{#1}{#2}\index{#1!#2}} \newcommand{\ArtifactRef}[2]{\hyperref[#1:#2]{\texttt{#2}}} \newcommand{\ActivityID}[1]{\ArtifactID{Activity}{#1}} \newcommand{\ActivityRef}[1]{\ArtifactRef{Activity}{#1}} \newcommand{\EvidenceID}[1]{\ArtifactID{Evidence}{#1}} \newcommand{\EvidenceRef}[1]{\ArtifactRef{Evidence}{#1}} \newcommand{\ChapterLabel}[1]{\label{Chapter:#1}} \newcommand{\ChapterRef}[1]{\hyperref[Chapter:#1]{Chapter~\ref*{Chapter:#1}}} \newcommand{\StatusPass}{\textbf{\footnotesize\textcolor{devopsGreen}{PASS}}} \newcommand{\StatusPending}{\textbf{\footnotesize\textcolor{devopsGray}{PENDING}}} \newcommand{\StatusFail}{\textbf{\footnotesize\textcolor{devopsRed}{FAIL}}} \newtcolorbox{devopsNote}[1][]{ colback=devopsLightBlue, colframe=devopsBlue, boxrule=0.6pt, arc=1mm, title=#1 } \lstset{ backgroundcolor=\color{white}, basicstyle=\ttfamily\footnotesize, breaklines=true, frame=single, keywordstyle=\color{blue}, commentstyle=\color{devopsGreen}, numbers=left, numbersep=6pt, numberstyle=\tiny\color{devopsGray}, showstringspaces=false, stringstyle=\color{devopsRed}, tabsize=2 } \lstdefinestyle{cmd}{numbers=none, columns=fullflexible, upquote=true, belowskip=0pt, xleftmargin=5pt, xrightmargin=0pt} \changenormalspacing{\singlespacing} \begin{document} \pagenumbering{roman} \singlespacing \include{frontmatter/prologue} \setcounter{page}{1} \pagenumbering{arabic} \pagestyle{fancy} \fancyhf{} \renewcommand{\chaptermark}[1]{\markboth{#1}{}} \lhead{\small Assignment \AssignmentNumber} \chead{\small\nouppercase{\leftmark}} \rhead{\small\thepage} \lfoot{\small\CourseNumber} \cfoot{\small\copyright\ \Organization} \rfoot{\small\VERSION} \renewcommand{\headrulewidth}{0.4pt} \renewcommand{\footrulewidth}{0.4pt} \include{chapters/devopsIntroduction} \include{chapters/devopsKanbanSetup} \include{chapters/devopsHosts} \include{chapters/devopsPasswords} \include{chapters/devopsLinuxCommands} \include{chapters/devopsCloudDockerDeployment} \include{chapters/devopsLatexDocker} \include{chapters/devopsProjectProposal} \include{chapters/devopsGiteaFoundation} \appendix \include{backmatter/devopsAIPromptLog} \printglossaries \cleardoublepage \phantomsection \ChapterLabel{Index} \addcontentsline{toc}{chapter}{Index} \markboth{Index}{Index} \printindex \end{document}