\label{doc_usecases_specification_simple-specification_md_md_doc_usecases_specification_simple_specification}%
\Hypertarget{doc_usecases_specification_simple-specification_md_md_doc_usecases_specification_simple_specification}%
 \hypertarget{doc_usecases_specification_simple-specification_md_autotoc_md4720}{}\doxysection{Summary}\label{doc_usecases_specification_simple-specification_md_autotoc_md4720}

\begin{DoxyItemize}
\item {\bfseries{Scope\+:}} {\ttfamily spec}
\item {\bfseries{Level\+:}} Developer Goal
\item {\bfseries{Actors\+:}} Dev-\/\+Ops Engineer
\item {\bfseries{Brief\+:}} This use case introduces a simple specification for a part of the dockerd configuration file (daemon.\+json).
\end{DoxyItemize}\hypertarget{doc_usecases_specification_simple-specification_md_autotoc_md4721}{}\doxysection{Scenarios}\label{doc_usecases_specification_simple-specification_md_autotoc_md4721}

\begin{DoxyItemize}
\item {\bfseries{Precondition\+:}} The Dev-\/\+Ops Engineer has a working setup for {\ttfamily docker} and the daemon {\ttfamily dockerd}.
\item {\bfseries{Main success scenario\+:}}
\begin{DoxyItemize}
\item The Dev-\/\+Ops Engineer wants to write a specification for the {\ttfamily default runtime} in the {\ttfamily dockerd} configuration.
\item The configuration key is {\ttfamily default/runtime}.
\item The configuration key uses {\ttfamily type}, {\ttfamily description} and {\ttfamily default} as metakeys.
\item The keys are all stored for the {\ttfamily spec} namespace.
\end{DoxyItemize}
\item {\bfseries{Alternative scenario\+:}} None.
\item {\bfseries{Error scenario\+:}}
\begin{DoxyItemize}
\item Wrong metakeys are used (yielded as error to the user).
\end{DoxyItemize}
\item {\bfseries{Postcondition\+:}} The keys are all stored for the {\ttfamily spec} namespace..
\item {\bfseries{Non-\/functional Constraints\+:}} None.
\end{DoxyItemize}\hypertarget{doc_usecases_specification_simple-specification_md_autotoc_md4722}{}\doxysection{Example}\label{doc_usecases_specification_simple-specification_md_autotoc_md4722}
The {\ttfamily default runtime} configuration for the {\ttfamily dockerd} could look like\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{[default/runtime]}
\DoxyCodeLine{meta:/type = string}
\DoxyCodeLine{meta:/description = Default OCI runtime for containers}
\DoxyCodeLine{meta:/default = runc}

\end{DoxyCode}


In case the key {\ttfamily default/runtime} does not exist, {\ttfamily spec} plugin creates a {\ttfamily default} key with value {\ttfamily runc} in the default namespace.

For the full specification of the {\ttfamily dockerd} configuration file see \href{/home/jenkins/workspace/libelektra-release/examples/spec/dockerd.ini}{\texttt{ dockerd-\/spec}}. 