Comments (1)
strawman:
- if powDifficultySeconds == NUMBER, leave it at that
- if powDifficultySeconds == auto
- default to 3 seconds (so pow is visible, but not significant)
- whenever the number of Pod replicas is higher than the minReplicas, add 10 seconds (INCREMENT) per extra replica
- whenever the number of replicas is equal to the maxReplicas, double the INCREMENT once (20 seconds per replica)
- whenever the number of replicas has been equal to maxReplicas for 10 minutes or more, double the INCREMENT
- whenever the number of Nodes is equal to the minimum, leave INCREMENT as-is
- whenever the number of Nodes is higher than the minimum nodes, add 10 seconds per extra node
- whenever the number of Nodes is equal to the maxNodes, double the INCREMENT once
- whenever the number of replicas has been equal to maxNodes for 10 minutes or more, double the INCREMENT
rationale:
- if a single task is DoSing the CTF, then it will reach the maxReplicas somewhat quickly. It doesnt make sense to significantly increase the difficulty on tasks with a small number of maxReplicas, because it is more likely to be just an underprovisioned CTF, however, a CTF with a large number of maxReplicas that hits it, is very likely experiencing abnormal traffic, so increasing the proof of work linerarly to the number of replicas makes sense.
- if a single task is DoSing the CTF but the maxReplicas is higher than the resources among all nodes together, then it'll hit the maxNodes limit as well. this affects the scaling and availability of all tasks, not just one task, and it'll also double the waiting time for the tasks being throttled.
- this makes the difficulty slowly increase (linearly) and then, once nearly out of resources, it'll increase exponentially every 10 minutes
from kctf.
Related Issues (20)
- Cannot create security policy in google cloud HOT 13
- Usage with docker-compose HOT 1
- Is there any way to get the status of all challenges in a cluster? HOT 2
- How to deploy kctf-operator HOT 7
- Error when starting demo challenge HOT 12
- No mention of the GKE gcloud plugin in the documentation HOT 1
- Failures of "gcloud container clusters get-credentials" should be displayed HOT 1
- set up a test for set-src-ip-ranges
- ARM64 support HOT 1
- PersistentVolume for gcsfuse mount not being removed on kctf chal stop HOT 2
- PS1 set by `activate` doesn't render properly in zsh HOT 4
- Host-built sample challenge not guaranteed to work in challenge container HOT 3
- custom resource specs (cpu/mem requests/limits) of healthcheck container in challenge manifest has no effect HOT 1
- How to run privileged, with capabilities, or writable filesystem? HOT 3
- An error in setting environment
- Reporting a vulnerability HOT 1
- How to import a challenge that already exists?
- Start all challenges at once? HOT 1
- Delete challenges in the cluster after the directory got deleted HOT 1
- Replace deprecated `set-output` command with environment file
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kctf.