Coder Social home page Coder Social logo

corrator's People

Contributors

natecox avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

corrator's Issues

Improve error handling

Several errors currently fail less than gracefully, will add instances as I find them

  • endoflife.date fails to connect or parse
  • docker isn't currently accessible (need to start the server/app/whatever)

Consider splitting config file into multiple files

Currently corrator uses a single config file, which is fine for small projects. However, it can get a bit unwieldy when dozens of containers need to be configured with dozens of apps.

It may be better to split app and container configs into their own config files. This would also open the door to:

  • cleaner validation of containers on initialization
  • removing the need for a transitional struct for parsing the file (container/app definition)
  • replacing a hash lookup for apps with a simple pointer

For Containers, store a pointer to an Application rather than the string name of it

Currently Containers store a vector of strings representing the apps to check, requiring a lookup for each one.

Consider refactoring to instead store a pointer to an Application instead so it can be used directly.

This will currently require an upfront pass through each container to convert from strings (from the config file) to pointers after the app configs have been parsed.

Add container grouping

Group containers together in-config and run them by name.

[containers.ubuntu]
config = "here"

[containers."app name here"]
config = "here"

[containers.etc]
config = "here"

[groups.my-project-name]
containers = [ "ubuntu", "app name here", "etc" ]
corrator --group my-project-name

Refactor threads to use Rayon

Currently the main processing of the container query happens in a thread::scope which has worked well enough. However, it may be worthwhile to convert that scope to use rayon's par_iter() instead, which would probably be a cleaner looking.

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.