Upload files to "/"
This commit is contained in:
@@ -0,0 +1,133 @@
|
||||
% SSW 590 DevOps Assignment Template
|
||||
% Developed by Darian Muresan, Ph.D., with OpenAI Codex and Anthropic Claude Code.
|
||||
% AI agents: read devopsAIAgentGuide.tex before editing this template.
|
||||
\documentclass[12pt]{cornell}
|
||||
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{lmodern}
|
||||
\usepackage{xspace}
|
||||
\usepackage{xcolor}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{amsmath,amssymb}
|
||||
\usepackage{array}
|
||||
\usepackage{booktabs}
|
||||
\usepackage{longtable}
|
||||
\usepackage{tabularx}
|
||||
\usepackage{ltablex}
|
||||
\keepXColumns
|
||||
\usepackage{enumitem}
|
||||
\usepackage{listings}
|
||||
\usepackage{tcolorbox}
|
||||
\usepackage{makeidx}
|
||||
\usepackage[colorlinks=true,citecolor=blue,linkcolor=blue,urlcolor=blue]{hyperref}
|
||||
\usepackage[acronym,toc]{glossaries}
|
||||
\usepackage{minted}
|
||||
|
||||
\makeindex
|
||||
\makeglossaries
|
||||
\input{devopsGlossary.tex}
|
||||
|
||||
\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}{Linux Commands}
|
||||
\newcommand{\AssignmentNumber}{2}
|
||||
\newcommand{\DocumentVersion}{1.4}
|
||||
\newcommand{\DocumentStatus}{}
|
||||
\newcommand{\CourseNumber}{SSW 590}
|
||||
\newcommand{\CourseName}{DevOps}
|
||||
\newcommand{\Instructor}{Maxwell Friedman, Alex Nemirovsky, Sofia Stoeckel, and Magdola Nagy}
|
||||
\newcommand{\Organization}{Stevens Institute of Technology}
|
||||
\newcommand{\DocumentDate}{September 16th, 2026}
|
||||
\newcommand{\DueDate}{}
|
||||
\newcommand{\VERSION}{Version \DocumentVersion}
|
||||
|
||||
\hypersetup{
|
||||
pdftitle={\CourseNumber\ --- Assignment \AssignmentNumber: \AssignmentTitle},
|
||||
pdfauthor={\Instructor},
|
||||
pdfcreator={Darian Muresan, Ph.D., with OpenAI Codex and Anthropic Claude Code},
|
||||
pdfsubject={Reusable DevOps course assignment template},
|
||||
pdfkeywords={DevOps, automation, delivery pipeline, infrastructure as code, evidence}
|
||||
}
|
||||
|
||||
\newcolumntype{Y}{>{\raggedright\arraybackslash}X}
|
||||
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
|
||||
\setlength{\tabcolsep}{4pt}
|
||||
\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
|
||||
}
|
||||
|
||||
\changenormalspacing{\singlespacing}
|
||||
\begin{document}
|
||||
\pagenumbering{roman}
|
||||
\singlespacing
|
||||
\include{prologue}
|
||||
\include{devopsIntroduction}
|
||||
\include{linuxCommands}
|
||||
\include{digitalOceanDocker}
|
||||
\include{latexDocker}
|
||||
\include{projectProposal}
|
||||
\include{giteaStartup}
|
||||
|
||||
\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}
|
||||
|
||||
\bibliographystyle{IEEEtran}
|
||||
\bibliography{devopsReferences}
|
||||
|
||||
\appendix
|
||||
\include{devopsDocumentGuide}
|
||||
\include{devopsAIAgentGuide}
|
||||
\include{devopsAIPromptLog}
|
||||
|
||||
\glsaddall
|
||||
\printglossaries
|
||||
\cleardoublepage
|
||||
\phantomsection
|
||||
\ChapterLabel{Index}
|
||||
\addcontentsline{toc}{chapter}{Index}
|
||||
\markboth{Index}{Index}
|
||||
\printindex
|
||||
\end{document}
|
||||
@@ -0,0 +1,142 @@
|
||||
\chapter{Document Authoring Guide}
|
||||
\ChapterLabel{DocumentGuide}
|
||||
\index{LaTeX}
|
||||
\index{document conventions}
|
||||
\index{Appendix!Document Authoring Guide}
|
||||
|
||||
\section{How to Use This Appendix}
|
||||
Use this appendix to maintain the template's file conventions, build process,
|
||||
and review rules. Update it when the document structure or toolchain changes.
|
||||
|
||||
\section{Template Provenance}
|
||||
This template was developed by \textbf{Darian Muresan, Ph.D.}, in conjunction
|
||||
with \textbf{OpenAI Codex} and \textbf{Anthropic Claude Code}. Keep this
|
||||
attribution distinct from the assignment-specific instructor metadata.
|
||||
|
||||
\section{File Naming and Responsibilities}
|
||||
Every chapter file shall use the \texttt{devops} prefix, a PascalCase chapter
|
||||
name, and the \texttt{.tex} suffix. Each such file shall contain one complete
|
||||
chapter, beginning with \texttt{\string\chapter\{...\}}, and all of its
|
||||
sections and subsections. Do not split one chapter into section-level
|
||||
\texttt{.tex} files. For example, all of Chapter~2 is contained in
|
||||
\path{devopsExampleAssignment.tex}. Do not add requirements or
|
||||
architecture-design chapters; this template records a DevOps learning activity
|
||||
and its operational evidence.
|
||||
|
||||
\section{Synonyms and Controlled Terms}
|
||||
\index{synonyms}
|
||||
Use one preferred term for each important concept. If an assignment uses
|
||||
equivalent terms, record them here before release. For example, state whether
|
||||
``continuous delivery'' refers to \gls{cd} generally or specifically excludes
|
||||
automatic production deployment. Add important terms to
|
||||
\texttt{devopsGlossary.tex} and index them where used.
|
||||
|
||||
\section{Building the PDF}
|
||||
The template requires a LaTeX distribution with \texttt{pdflatex},
|
||||
\texttt{bibtex}, \texttt{makeglossaries}, and \texttt{makeindex}.
|
||||
Install the tools using the platform instructions below, then run one of the
|
||||
following platform builds.
|
||||
|
||||
\subsection{macOS and Linux Build}
|
||||
\begin{verbatim}
|
||||
make -f makefileMacLinux pdf
|
||||
\end{verbatim}
|
||||
|
||||
\subsection{Windows PowerShell Build}
|
||||
\begin{verbatim}
|
||||
.\makefilePowerShell.ps1 -Action pdf
|
||||
\end{verbatim}
|
||||
The completed build regenerates references, bibliography, glossary, and index.
|
||||
Review the log and visually inspect affected PDF pages. Do not edit generated
|
||||
auxiliary files or the PDF directly.
|
||||
|
||||
\section{Install LaTeX Tools on macOS}
|
||||
\index{macOS}
|
||||
\index{MacTeX}
|
||||
\subsection{Recommended Installation}
|
||||
Install the current full \href{https://www.tug.org/mactex/}{MacTeX}
|
||||
distribution. It includes TeX Live, \texttt{pdflatex}, \texttt{bibtex},
|
||||
\texttt{latexmk}, \texttt{makeglossaries}, \texttt{makeindex}, and useful
|
||||
applications such as TeXShop and TeX Live Utility. The full distribution is the
|
||||
least troublesome choice for this template because it includes the packages
|
||||
used by the glossary, table, listing, color, and hyperlink features.
|
||||
|
||||
Either download the signed installer from the MacTeX web site and complete the
|
||||
macOS installation dialog, or, if Homebrew is already installed, run:
|
||||
\begin{verbatim}
|
||||
brew install --cask mactex
|
||||
\end{verbatim}
|
||||
Close and reopen Terminal after installation. If the TeX commands are not
|
||||
found, add the MacTeX binary directory to the current shell session:
|
||||
\begin{verbatim}
|
||||
export PATH="/Library/TeX/texbin:$PATH"
|
||||
\end{verbatim}
|
||||
Do not place this command in a shell profile until it has been verified on the
|
||||
local computer.
|
||||
|
||||
\subsection{Verification and Compilation}
|
||||
From the template directory, verify the tools:
|
||||
\begin{verbatim}
|
||||
command -v pdflatex bibtex latexmk makeglossaries makeindex
|
||||
\end{verbatim}
|
||||
Each command should print a path. Then create the PDF:
|
||||
\begin{verbatim}
|
||||
make -f makefileMacLinux pdf
|
||||
\end{verbatim}
|
||||
To remove generated intermediate files while keeping the PDF, run:
|
||||
\begin{verbatim}
|
||||
make -f makefileMacLinux clean
|
||||
\end{verbatim}
|
||||
|
||||
\section{Install LaTeX Tools on Windows}
|
||||
\index{Windows}
|
||||
\index{MiKTeX}
|
||||
\subsection{Recommended Installation}
|
||||
Install the current Basic MiKTeX distribution using the official
|
||||
\href{https://miktex.org/howto/install-miktex}{MiKTeX Windows installation
|
||||
guide}. During installation, choose a per-user installation when appropriate
|
||||
and set missing-package installation to \emph{Ask me first} or \emph{Yes}.
|
||||
The latter is convenient for a student machine with Internet access; the former
|
||||
makes each package installation explicit.
|
||||
|
||||
Open MiKTeX Console after installation, apply available updates, and install
|
||||
the \texttt{latexmk} package if the verification command below cannot find it.
|
||||
On an organization-managed computer, obtain approval before installing software
|
||||
or changing execution policy.
|
||||
|
||||
\subsection{Verification and Compilation}
|
||||
Open a new PowerShell window in the template directory and verify:
|
||||
\begin{verbatim}
|
||||
Get-Command pdflatex,bibtex,latexmk,makeglossaries,makeindex
|
||||
\end{verbatim}
|
||||
Each command should display a command record. Build the PDF with:
|
||||
\begin{verbatim}
|
||||
.\makefilePowerShell.ps1 -Action pdf
|
||||
\end{verbatim}
|
||||
If PowerShell blocks the script under a managed execution policy, ask the
|
||||
system administrator for the approved procedure. Do not bypass institutional
|
||||
security policy. To remove intermediate build files, run:
|
||||
\begin{verbatim}
|
||||
.\makefilePowerShell.ps1 -Action clean
|
||||
\end{verbatim}
|
||||
|
||||
\section{Common Build Problems}
|
||||
\begin{tabularx}{\linewidth}{L{3.0cm}Y}
|
||||
\toprule \textbf{Symptom} & \textbf{Resolution}\\ \midrule
|
||||
Command not found & Close and reopen the terminal. On macOS, verify the TeX
|
||||
binary path; on Windows, verify MiKTeX completed installation and is on the user PATH.\\
|
||||
Missing LaTeX package & Use MiKTeX Console or its approved on-the-fly package
|
||||
installation prompt on Windows. On macOS, install the full MacTeX distribution
|
||||
or use TeX Live Utility to add the missing package.\\
|
||||
References or glossary incomplete & Run the supplied platform build instead of
|
||||
a single \texttt{pdflatex} command; it runs BibTeX, the glossary tool, and the
|
||||
index tool in the required order.\\
|
||||
Script is blocked & Follow the institution's approved PowerShell policy or run
|
||||
the documented build commands with an approved administrator.\\ \bottomrule
|
||||
\end{tabularx}
|
||||
|
||||
\section{Authoring and Review Rules}
|
||||
Replace bracketed placeholders with assignment facts. Keep operational examples
|
||||
safe, bounded, and free of credentials. Link activities to evidence, retain
|
||||
history, and state unknowns or instructor decisions explicitly. Rebuild after
|
||||
structural, cross-reference, table, glossary, or index changes.
|
||||
@@ -0,0 +1,22 @@
|
||||
\chapter*{Document History}
|
||||
\addcontentsline{toc}{chapter}{Document History}
|
||||
\index{document history}
|
||||
\section*{How to Use This Chapter}
|
||||
Add the newest approved change at the top. Retain every approved entry and
|
||||
link each entry to the changed chapter, table, figure, or controlled artifact.
|
||||
|
||||
\begin{tabularx}{\linewidth}{L{3.1cm}L{2.2cm}YL{2.0cm}}
|
||||
\caption{Document Update History\label{Table:DocumentHistory}}\\
|
||||
\toprule \textbf{Date / Version} & \textbf{Author Initials} & \textbf{Change} & \textbf{Changed At}\\ \midrule
|
||||
\endfirsthead
|
||||
\multicolumn{4}{l}{\small\itshape Document Update History (continued)}\\
|
||||
\toprule \textbf{Date / Version} & \textbf{Author Initials} & \textbf{Change} & \textbf{Changed At}\\ \midrule
|
||||
\endhead \bottomrule \endlastfoot
|
||||
September 24, 2026 / 1.5 & MF, AN, SS, MN & Created the Digital Ocean Docker Deployment, LaTeX, and Project Proposal chapters. & \ChapterRef{DigitalOceanDocker}, \ChapterRef{LatexDocker}, \ChapterRef{ProjectProposal}\\
|
||||
September 16, 2026 / 1.4 & MF, AN, SS, MN & Created the Linux Commands chapter at \texttt{linuxCommands.tex}. & \ChapterRef{LinuxCommands}\\
|
||||
September 2, 2026 / 1.3 & DDM, CDX & Established the one-file-per-chapter convention, added it to the AI Agent Usage Guide, and consolidated the complete example assignment chapter into \texttt{devopsExampleAssignment.tex}. & \ChapterRef{ExampleAssignment}, \ChapterRef{AIAgentGuide}, \ChapterRef{DocumentGuide}\\
|
||||
September 2, 2026 / 1.2 & DDM, CDX & Added macOS MacTeX and Windows MiKTeX installation, verification, compilation, cleanup, and troubleshooting instructions to the Document Authoring Guide appendix. & \ChapterRef{DocumentGuide}\\
|
||||
September 2, 2026 / 1.1 & DDM, CDX & Reorganized the example assignment as one chapter with activity, workflow, evidence, retrospective, and submission sections so each homework can follow the same chapter pattern. & \ChapterRef{ExampleAssignment}\\
|
||||
September 2, 2026 / 1.0 & DDM, CDX & Created the reusable SSW 590 DevOps assignment template from the architecture template infrastructure; replaced requirements and design chapters with activity, workflow, evidence, retrospective, and submission chapters. & \ChapterRef{Introduction}, \ChapterRef{ExampleAssignment}, \ChapterRef{AIAgentGuide}\\
|
||||
\textit{[date / version]} & \textit{[initials]} & \textit{[approved change and rationale]} & \textit{[link]}\\
|
||||
\end{tabularx}
|
||||
@@ -0,0 +1,126 @@
|
||||
\chapter{Example Assignment}
|
||||
\ChapterLabel{ExampleAssignment}
|
||||
\index{activity brief}
|
||||
\index{workflow}
|
||||
\index{automation}
|
||||
\index{infrastructure as code}
|
||||
\index{evidence}
|
||||
\index{observability}
|
||||
\index{rollback}
|
||||
\index{retrospective}
|
||||
\index{continuous improvement}
|
||||
\index{submission}
|
||||
\index{cleanup}
|
||||
|
||||
\section{Activity Brief}
|
||||
\subsection{Scenario}
|
||||
Describe the operational scenario and why it matters. Use a bounded,
|
||||
non-production system. \textit{Example: A team must deploy a small service
|
||||
reliably to a remote Linux host and recover from a failed release.}
|
||||
|
||||
\subsection{Activities}
|
||||
Assign stable IDs to each assessed activity. Add rows as needed.
|
||||
\begin{tabularx}{\linewidth}{L{2.1cm}L{3.1cm}Y}
|
||||
\caption{Activity Register\label{Table:ActivityRegister}}\\
|
||||
\toprule \textbf{ID} & \textbf{Activity} & \textbf{Completion criterion}\\ \midrule
|
||||
\ActivityID{ACT-01} & \textit{[Prepare environment]} & \textit{[repeatable environment baseline is present]}\\
|
||||
\ActivityID{ACT-02} & \textit{[Automate workflow]} & \textit{[workflow runs from documented inputs]}\\
|
||||
\ActivityID{ACT-03} & \textit{[Observe and recover]} & \textit{[evidence shows monitoring and recovery]}\\ \bottomrule
|
||||
\end{tabularx}
|
||||
|
||||
\subsection{Success Criteria}
|
||||
State observable outcomes, not implementation prescriptions. Include security,
|
||||
cost, cleanup, and reproducibility criteria where applicable.
|
||||
|
||||
\subsection{Assessment Rubric}
|
||||
\begin{tabularx}{\linewidth}{L{3.2cm}L{2.0cm}Y}
|
||||
\toprule \textbf{Criterion} & \textbf{Weight} & \textbf{Evidence expected}\\ \midrule
|
||||
Reproducible workflow & \textit{[points]} & \textit{[automation and clean-run proof]}\\
|
||||
Operational quality & \textit{[points]} & \textit{[observability, rollback, security]}\\
|
||||
Evidence and explanation & \textit{[points]} & \textit{[commands, outputs, rationale]}\\
|
||||
Reflection & \textit{[points]} & \textit{[failure analysis and improvement]}\\ \bottomrule
|
||||
\end{tabularx}
|
||||
|
||||
\section{Workflow and Implementation}
|
||||
\subsection{Environment Baseline}
|
||||
Specify the authorized environment, prerequisites, access model, versioned
|
||||
inputs, and teardown procedure. Record commands in a repository script or
|
||||
infrastructure-as-code definition; do not rely on a sequence of undocumented
|
||||
console clicks.
|
||||
|
||||
\subsection{Procedure}
|
||||
For each activity, state the goal, input, command or automation entry point,
|
||||
expected result, and rollback or cleanup action. Link the corresponding
|
||||
activity identifier and evidence identifier.
|
||||
|
||||
\begin{lstlisting}[language=bash,caption={Replace with a safe, repeatable workflow entry point.}]
|
||||
# ./scripts/provision.sh --environment sandbox
|
||||
# ./scripts/deploy.sh --version <tag>
|
||||
# ./scripts/destroy.sh --environment sandbox
|
||||
\end{lstlisting}
|
||||
|
||||
\subsection{Operational Controls}
|
||||
Describe least-privilege access, secret handling, logging, monitoring, change
|
||||
control, budget guardrails, backup or rollback, and resource cleanup. A secret
|
||||
shall be referenced by its approved storage location, never pasted into this
|
||||
document or committed to the repository.
|
||||
|
||||
\subsection{Failure Exercise}
|
||||
Define one safe failure or degradation scenario. State the trigger, expected
|
||||
signal, diagnosis path, recovery action, and evidence required. Never direct
|
||||
students to disrupt shared or production infrastructure.
|
||||
|
||||
\section{Evidence Register}
|
||||
\subsection{How to Use This Section}
|
||||
Evidence demonstrates an actual execution; an expected result is not evidence.
|
||||
Use sanitized command output, logs, screenshots, links to versioned files, or
|
||||
recorded metrics. Redact secrets and personal information.
|
||||
|
||||
\begin{tabularx}{\linewidth}{L{1.7cm}L{2.2cm}L{2.6cm}Y}
|
||||
\caption{Evidence Register\label{Table:EvidenceRegister}}\\
|
||||
\toprule \textbf{ID} & \textbf{Activity} & \textbf{Evidence type} & \textbf{Location and interpretation}\\ \midrule
|
||||
\EvidenceID{EVD-01} & \ActivityRef{ACT-01} & \textit{[log / script / image]} & \textit{[repository path or sanitized URL; what it demonstrates]}\\
|
||||
\EvidenceID{EVD-02} & \ActivityRef{ACT-02} & \textit{[pipeline output]} & \textit{[location; result and relevant timestamp]}\\
|
||||
\EvidenceID{EVD-03} & \ActivityRef{ACT-03} & \textit{[monitoring / recovery output]} & \textit{[location; failure signal and recovery result]}\\ \bottomrule
|
||||
\end{tabularx}
|
||||
|
||||
\subsection{Evidence Quality Checks}
|
||||
Evidence should identify the executed version, environment, time, command or
|
||||
automation entry point, outcome, and any deviation from the expected result.
|
||||
State failures plainly; they are valuable inputs to the retrospective.
|
||||
|
||||
\section{Retrospective}
|
||||
\subsection{Outcome}
|
||||
Summarize what happened, including completed work, gaps, and unexpected
|
||||
behavior. Distinguish facts from interpretation.
|
||||
|
||||
\subsection{Flow and Feedback}
|
||||
Identify queues, handoffs, manual steps, slow feedback, and sources of rework.
|
||||
Explain which changes improved delivery flow or made failures visible sooner.
|
||||
This emphasis on flow, feedback, and continual learning is consistent with the
|
||||
DevOps framing introduced in \cite{PhoenixProject}.
|
||||
|
||||
\subsection{Improvement Experiments}
|
||||
Propose one or more small, testable improvements. State the hypothesis, change,
|
||||
measurement, expected result, and risk. Do not represent a proposal as an
|
||||
approved production change.
|
||||
|
||||
\subsection{Team Contributions}
|
||||
For team assignments, concisely identify each member's meaningful contribution
|
||||
and any collaboration constraints.
|
||||
|
||||
\section{Submission and Cleanup}
|
||||
\subsection{Submission Checklist}
|
||||
\begin{itemize}
|
||||
\item Versioned automation, configuration, and runbook are committed.
|
||||
\item Evidence links resolve and contain no secrets or personal data.
|
||||
\item The retrospective is complete and distinguishes results from proposals.
|
||||
\item Remote resources have been destroyed or explicitly transferred as directed.
|
||||
\item The repository identifies the final commit or release tag.
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Academic Integrity and Responsible Use}
|
||||
Follow the course policy for collaboration and AI assistance. Cite external
|
||||
code, tutorials, and AI-generated material as required by the instructor.
|
||||
Students remain responsible for understanding, testing, and explaining all
|
||||
submitted work.
|
||||
@@ -0,0 +1,13 @@
|
||||
\newacronym{ai}{AI}{artificial intelligence}
|
||||
\newacronym{ci}{CI}{continuous integration}
|
||||
\newacronym{cd}{CD}{continuous delivery or continuous deployment}
|
||||
\newacronym{iac}{IaC}{infrastructure as code}
|
||||
\newacronym{slo}{SLO}{service-level objective}
|
||||
\newglossaryentry{automation}{name={automation},description={A repeatable, version-controlled procedure executed by software rather than undocumented manual steps}}
|
||||
\newglossaryentry{deployment}{name={deployment},description={The controlled delivery of a versioned change to an environment}}
|
||||
\newglossaryentry{evidence}{name={evidence},description={A retained record of an actual execution, observation, or review}}
|
||||
\newglossaryentry{observability}{name={observability},description={The ability to infer system behavior from signals such as logs, metrics, traces, and health checks}}
|
||||
\newglossaryentry{pipeline}{name={pipeline},description={An automated sequence that builds, tests, packages, and/or deploys a change}}
|
||||
\newglossaryentry{rollback}{name={rollback},description={A controlled return to a known acceptable version or state after a failed or harmful change}}
|
||||
\newglossaryentry{runbook}{name={runbook},description={A documented operational procedure for a repeatable task or incident response}}
|
||||
\newglossaryentry{synonyms}{name={synonyms},description={Equivalent terms used in this assignment; record preferred terms to avoid ambiguity in instructions and evidence}}
|
||||
Reference in New Issue
Block a user