Giter Site home page Giter Site logo

verwalter-toolbox's Introduction

Verwalter Toolbox

Status:Alpha

The toolbox is a set of well-tested modules to help you to write your verwalter's scheduler. In particular:

  • Set of utility modules like version comparison
  • A number for helpers to generate test data for your own tests

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

verwalter-toolbox's People

Contributors

tailhook avatar latheralus avatar

Stargazers

Jakub Jirutka avatar

Watchers

 avatar James Cloos avatar Luda Lukashevskaya avatar  avatar

verwalter-toolbox's Issues

Implement image tracking in api-scheduler

To be able to do the smart cleanup of the metadata of old versions and old container images we want to track lists of used versions and images.

Algorithm

  1. Always keep versions with upload timestamp more recent than 24 hours
  2. Always keep versions that were last deployed within 24 hours
  3. Always keep 1 latest version (by version number ordering) of the project regardless of the upload and deployment time
  4. Keep at least one older version of every project having the latest version deployed (by version number ordering)
  5. Keep at least one previously deployed version regardless of the deployment timestamp

Where deploy means actual switch to this version. And upload means metadata delivered to the servers.

Note (1) from above serves two purposes:

  • Keep recently uploaded versions to switch to them
  • Keep track of accidental downgrades, such as deploying 1.0.8 after 10.8 so that this issue can be clearly displayed in UI (in practice it happens every few months and very hard to find out without large error badge)

Filesystem Layout

Technically filesystem layout out of the scope of this project, but lets say that the default place is:

  1. /var/lib/verwalter/used-images/<sandbox-name>.txt
  2. /var/lib/verwalter/used-versions/<sandbox-name>.txt

Both are plain-text files of bare directory name (without path) of a name per line.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.