@@ -54,7 +54,7 @@ things safe and efficient. You'll get the results back in no time.
5454- Backend: ` https://127.0.0.1:443/ `
5555 - To check if it works, you can use ` curl -k https://127.0.0.1/api/v1/k8s-limits ` , should return JSON with current limits
5656- Grafana: ` http://127.0.0.1:3000 ` (login - ` admin ` , pw - ` admin123 ` )
57-
57+
5858
5959You may also find out that k8s doesn't capture metrics (` CPU ` and ` Memory ` params are ` null ` ), it may well be that metrics server
6060for k8s is turned off/not enabled. To enable, execute:
@@ -63,9 +63,9 @@ kubectl create -f https://raw.githubusercontent.com/pythianarora/total-practice/
6363```
6464
6565and test output by writing ` kubectl top node ` in console, should output sth like:
66- ```
67- PS C:\Users\User\Desktop\Integr8sCode> kubectl top node
68- NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
66+ ```
67+ PS C:\Users\User\Desktop\Integr8sCode> kubectl top node
68+ NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
6969docker-desktop 267m 3% 4732Mi 29%
7070```
7171
@@ -77,7 +77,7 @@ docker-desktop 267m 3% 4732Mi 29%
7777You can check correctness of start by running a sample test script:
78781 . Open website at ` https://127.0.0.1:5001/ ` , go to Editor
79792 . In code window, paste following code:
80- ``` python
80+ ``` python
8181from typing import TypeGuard
8282
8383def is_string (value : object ) -> TypeGuard[str ]:
@@ -97,8 +97,8 @@ example_function("hello")
9797example_function([1 , 2 , 3 ])
9898```
9999
100- First, select ` >= Python 3.10 ` and run script, will output:
101- ```
100+ First, select ` >= Python 3.10 ` and run script, will output:
101+ ```
102102Status: completed
103103Execution ID: <some hex number>
104104Output:
@@ -107,8 +107,8 @@ Output:
107107 Something else
108108```
109109
110- Then, select ` < Python 3.10 ` and do the same:
111- ```
110+ Then, select ` < Python 3.10 ` and do the same:
111+ ```
112112Status: completed
113113Execution ID: <some other hex number>
114114Output:
@@ -117,51 +117,25 @@ Output:
117117 ^
118118SyntaxError: invalid syntax
119119```
120- This shows that pods with specified python versions are creating and working as expected. Btw, the latter throws error
120+ This shows that pods with specified python versions are creating and working as expected. Btw, the latter throws error
121121cause ` match-case ` was introduced first in ` Python 3.10 ` .
122122
123123</details >
124124
125125
126126## Architecture Overview
127127
128- > [ !WARNING ]
129- > Detailed, up-to-date architecture diagrams are in [ this file ] ( files_for_readme/ARCHITECTURE_IN_DETAILS.md ) .
128+ > [ !TIP ]
129+ > Full documentation is available at https://hardmax71.github.io/Integr8sCode/
130130
131131<img src =" ./files_for_readme/system_diagram.png " alt =" system diagram " >
132132
133133The platform is built on three main pillars:
134134
135- - ** Frontend** : A sleek Svelte app that users interact with.
136- - ** Backend** : Powered by FastAPI, Python, and MongoDB to handle all the heavy lifting.
137- - ** Kubernetes Cluster** : Each script runs in its own pod, ensuring isolation and resource control.
138-
139- ## Kubernetes Integration
140-
141- ### Pod Setup
142-
143- - ** Docker Image** : Lightweight Python image with just what we need is used.
144- - ** Isolation** : Every script gets its own pod for security and reliability.
145- - ** Cleanup** : Once your script is done, the pod goes away to keep things tidy.
146-
147- ### Resource Management
148-
149- > [ !TIP]
150- > By limiting resources, we ensure fair usage and prevent any single script from hogging the system.
151-
152- - ** CPU & Memory Limits** : Each pod has caps to prevent overuse (128 Mi for RAM and 1000m for CPU).
153- - ** Timeouts** : Scripts can't run forever—they'll stop after a set time (default: 5s).
154- - ** Disk Space** : Limited to prevent excessive storage use.
155-
156- > You can find actual limits in dropdown above execution output.
157-
158- ### Security Considerations
159-
160- > [ !CAUTION]
161- > Running user-provided code is risky. We take security seriously to protect both our system and other users.
162-
163- - ** Network Restrictions** : Pods can't make external network calls.
164- - ** No Privileged Access** : Pods run without elevated permissions.
135+ - Frontend: A sleek Svelte app that users interact with.
136+ - Backend: Powered by FastAPI, Python, and MongoDB to handle all the heavy lifting.
137+ - Kubernetes Cluster: Each script runs in its own pod, ensuring isolation and resource control.
165138
166-
139+ ## License
167140
141+ This project is licensed under the MIT License - see the [ LICENSE] ( LICENSE ) file for details.
0 commit comments