An open API service indexing awesome lists of open source software.

https://github.com/commercetest/experimenting-with-kathara-framework

A work-in-progress repo to facilitate learning and dissemination of working with KatharaFramework
https://github.com/commercetest/experimenting-with-kathara-framework

Last synced: 2 months ago
JSON representation

A work-in-progress repo to facilitate learning and dissemination of working with KatharaFramework

Awesome Lists containing this project

README

        

# Context
This is intended to be a short-lived repo that facilitates learning and
colloboration on how to use KatharaFramework, another opensource project.

## Technical stuff
We're using miniforge to provide the python environment, python 3.13 (also tested with 3.11), and Ubuntu 22.04 LTS.

A useful minimalist set of instructions to use conda (which miniforge provides) is:

```
conda env list
conda create --name kathara-framework
conda activate kathara-framework
conda install python
```

Optional package: `rich` for pretty-printing the output:
```
conda install rich
```

Installing the two python packages:
```
python3 -m pip install git+https://github.com/saghul/pyuv@master#egg=pyuv
python3 -m pip install kathara
```

The code from the [getting started example](https://github.com/KatharaFramework/Kathara-Labs/tree/main/tutorials/python-api/getting-started) on the kathara website is the basis for the `getting_started.pt` file in this repo.

```
vim getting-started.py
python getting-started.py
```

Currently two instances of routers are configured with `bird` for routing using static routes over logical network `C` between the `pc` instances in logical network `A` and a `webserver` in logical network `B`. the bird configurations are configured and started as part of the `getting-started.py` script. Run `birdc show route` on each instance of the router to check.

## Troubleshooting
If/when the python script crashes or fails to complete, various orphaned resources remain in kathara's microcosm locally. These can be removed using the following command: `kathara wipe` and then enter `y` when asked `[y/n]`.

## Interactive testing
First start bird on both router instances. Then you can run `wget 100.1.3.90` from any running instance on the kathara network to request the default web page from the `webserver`. Running this command should download a copy of `index.html` from the `webserver` to the local folder on the machine you're currently connected to.

There are lots of networking-related commands available to check routing, etc. Some examples will be added shortly.