----------------------------IMA-patches----------------------------

The following files are the Linux kernel patches to apply the ima-slt template:
0001-template_hash_sha256.patch
0002-ima_template_dep_cgn.patch
0003-ima_template_cgpath.patch
0004-ima_template_slt.patch

The file "base_commit_and_link.txt" contains the base commit to checkout the Linux kernel version and the patch link.

To apply these patches, use the following commands:

git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux-stable
git checkout 88035e5694a86a7167d490bb95e9df97a9bb162b

git apply /patches_dir/0001-template_hash_sha256.patch
git apply /patches_dir/0002-ima_template_dep_cgn.patch
git apply /patches_dir/0003-ima_template_cgpath.patch
git apply /patches_dir/0004-ima_template_slt.patch



------------------------------------Keylime-patches----------------------------------------------

The following files are involved in the Keylime-7.12.1 changes
0001-keylime_folder.patch -> used to update the keylime files
0002-rust_agent_keylime.patch -> used to update the keylime rust agent

To apply these patches, use the following commands

git clone https://github.com/keylime/keylime.git
cd keylime
git apply /patches_dir/0001-keylime_folder.patch
...
git clone https://github.com/keylime/rust-keylime.git
cd rust-keylime
git apply 0002-rust_agent_keylime.patch



------------------------------------Kubernetes--------------------------------------------------

Here is a list of used files with a short description:

1) "Dockerfile": used to build the image to be deployed inside a container (inside a pod).

	Navigate to the directory containing the dockerfile and run pod_distribution_service.py

	# Build the docker image
	docker build -t your-docker-repo/pod-distribution-service:latest .

	# Push the Docker image to a container registry
	docker push your-docker-repo/pod-distribution-service:latest

2) pod_distribution_service.py contains
	- the forward logic to forward the request to the correct worker node
	- the state aggregation computation to respond to verifiers
	- the queries to the database to manage the verifiers authorisation

3) "Pod_Distribution_Service.yaml" contains the deployment of pod_distribution_service.py. 
	For the purposes of this thesis, a replica of this deployment, which manages the previous features, is sufficient
	kubectl apply -f Pod_Distribution_Service.yaml

4) "table_definition_command.txt" contains the command to manage the database.

5) "ingress_controller.yaml" 	| files used to manage network resources
6) "nodePort1.yaml" 		| Apply each configuration wiping: kubectl apply -f <resource_name>.yaml
7) "nodePort2.yaml" 		|

	
8) "kubectl_apply.py" script that introduces a new way to start a workload 
	(instead of the classic command: kubectl apply -f <deployment.yaml>).
	
	Use: python3 kubectl_apply.py -f <deployment.yaml> -verifier <verifierID>
	
	This basically:
		- run the classic kubectl apply
		- look at the pod uuids just generated
		- insert the mapping podID with the passed verifierID into the database