Comments (1)
The autodetection is implemented only for swarm. Because at the moment DigitalOcean doesn't support this kind of strategy.
At the moment the code is a mess but it's working. If you don't specify a configuration file when you start orbiter
orbiter daemon -config
The daemon fallback to autodetection mode
. It's only implemented for Swarm and it works in this way:
- Check for EnvVar and it creates a new Docker client and it checks if there is a daemon up and running. If there is not the daemon is going to exit because the autodetection didn't discover anything.
- If there is a daemon up and running it checks if swarm mode is enabled. If it's not orbiter exit.
- It gets list of services and it checks for the label
orbiter
if it exists it register a new autoscaler calledautodetect_swarm/wikidiff_worker
. Wherewikidiff_worker
is the service name. - It also looks for other 2 labels
orbiter.up
andorbiter.down
to set the right scaling value. If they doesn't exist is using 1 and 1.
At this point you have all the services registered and you can do something like:
curl -v -d '{"direction": true}' http://localhost:8000/handle/autodetect_swarm/wikidiff_worker
To scale as usual.
What do to
There is something to do:
- Move the autodetection logic into the provider. If the provider is not supporting autodetecting it can just return an error.
- Make smarter the fallback function in order to scale and to call all the autodetection provider to self-configure orbiter.
This two points are necessary to make the codebase flexible and maintainable. But the POC is there and it's working.
Follow up issues #13
from orbiter.
Related Issues (20)
- autoconfig refactoring.
- Autodetection swarm mode
- debug mode should allow pprof and other utils
- Make orbiter a swarm autoscaler
- scale up post cmd failure HOT 4
- Makefile improvements HOT 2
- Vendor out of sync HOT 1
- Use `sirupsen/logrus` instead of `Sirupsen/logrus` HOT 2
- Autoscaling destroy all previous container on first action HOT 4
- Remember that we are not in sync with `dep ensure` because of docker client lib HOT 1
- VirtualBox host-only adapters error HOT 1
- [COMMUNITY HELP!!] Site docs and so on HOT 4
- More documentation HOT 1
- Has this project been abandoned? HOT 1
- Optimize by querying by ID HOT 1
- executable file not found in $PATH HOT 4
- Service starts but not use the port that is specified
- No response from curl command with "direction=true/false"
- (bug) "exec format error" on Raspberry PI 3 & 4
- Any additional configuration required to make Orbiter autoscale? HOT 1
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 orbiter.