28 lines
1.5 KiB
TeX
28 lines
1.5 KiB
TeX
\chapter{Using the Framework}
|
|
|
|
In this section I am going to dive into further detail on how client code is supposed
|
|
to use the framework, some of the design decisions behind this and how all all of this
|
|
is integrated into the \texttt{solvable} Docker image.
|
|
|
|
To use the framework one has to do several things to get started.
|
|
The main poins include:
|
|
\begin{itemize}
|
|
\item define an FSM describing the flow of the tutorial
|
|
\item implement required event handlers (that might trigger state transitions in the FSM,
|
|
interact with non-TFW code and do various things that might be needed during a challenge)
|
|
\item define what processes should be running inside the container besides the TFW
|
|
server (which is started automatically)
|
|
\item set up reverse proxying for any user-facing network applications such as webservers,
|
|
SSH and friends
|
|
\end{itemize}
|
|
At first all these tasks are quite overwhelming.
|
|
Remember that witchcraft is what we practice here after all.
|
|
To overcome the high initial learning curve of getting familiar with the framework
|
|
I have created a repository called \emph{test-tutorial-framework} with the purpose of
|
|
providing a project template for developers looking to create challenges using the
|
|
framework.
|
|
This repository is a really simple client codebase that is suitable for
|
|
developing TFW itself as well (a good place to tests for the framework).
|
|
Let us take a look at this to acquire a greater understanding of how the framework operates.
|
|
|
|
\section{Project Structure} |