The fastest way to start using the SKF project is using the pre-built containers hosted at Docker hub. This container always has the very latest version from the master repository.
- In order to get SKF running on your local machine we start by cloning the github repository:
git clone https://github.com/blabla1337/skf-flask.git
- Install Docker
https://docs.docker.com/get-docker/
- Enable local Kubernetes cluster in Docker Desktop Getting your OWASP SKF instance ready to deploy the labs on your local machine we need to configure your local docker desktop to also enable a local kubernetes cluster. In order to achieve this we go to “Docker desktop -> preferences” where we will find the tab “Kubernetes”
First we want to select “Enable Kubernetes” after which we press on “Apply and restart” to make your Docker desktop pull all the configuration files needed for a successful Kubernetes installation.
For Linux users you may want to look at Minikube for deploying locally. Alternatively if you do not want to go through all the hassle of installing a local kubernetes cluster you can also provide the configuration file from the cloud provider of your choosing, or simply choose to clone the lab repository and run them as flask applications with python as described here. After setting up our local cluster it is time to perform a “docker-compose up” command in the root directory of the SKF project.
WARNING, before doing below steps make sure you selected the right context (docker-desktop)
Now we need to edit the docker-compose.yaml file and change the value LABS_KUBE_CONF
to the new value:
# Below is the variable where we place the base64 string that will be used in the .kube/config file in the cluster
# file for example: cat ~/.kube/config | base64
# place now the output of the above command in the LABS_KUBE_CONF variable
LABS_KUBE_CONF: HV1c5WWR6aGpWQ3RzVjFsSWFYcEhlQW81UkUxYU9ITnlZbWg0UkdK...a3RMUzB0TFFvPQ==
To the location on your Windows folder where the .kube/config is located to be able to deploy the labs By changing this location you bind your local filesystem to a place in your container
- Profit! Ready to go
cd skf-flask
docker-compose up
The application will greet you on: http://localhost
If you are done don't forget to kill it again with:
docker-compose down
To clear the database, too:
docker-compose down --volumes
-
By default, the login will be skipped when using docker compose locally. To change this, update the value of
SKIP_LOGIN
toskfprovider
indocker-compose.yml
. -
Location of SKF images We also have a list of old OWASP-SKF Docker images available:
Angular: https://hub.docker.com/repository/docker/blabla1337/skf-angular
API: https://hub.docker.com/repository/docker/blabla1337/skf-api
SKF-Labs: https://hub.docker.com/repository/docker/blabla1337/owasp-skf-lab