Files
SSW590-DevOps/devopsAssignment.tex
T

140 lines
4.8 KiB
TeX

% 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{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}