Giter VIP home page Giter VIP logo

stork's People

Contributors

ctxswitch avatar rlyon avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

cloudxtreme

stork's Issues

Merge definition loading into Collections

Now that builder does not need to manage multiple tasks, it makes sense to merger the load class method and dsl delegators to the Collections object:

[Collections] Collections.load

Would parse the definition files and return the collections object

Lock server app to specific IP ranges

Add an 'allow' configuration option. By default the range will be an empty array which will allow all traffic. If values are given then the sinatra app will make a check in the before section. If the source IP is included then access will be allowed.

CIDR, dash seperated ranges, and single IP addresses are acceptable values.

Become agnostic to configuration management tools

Remove built in chef support in favor of creating tags or roles and build out some example post scripts to show how to integrate. This way we won't develop lock-ins surrounding tools or versions. Just make the core functionality flexible enough that it can be used with multiple tools.

Refactor server to use puma instead of webrick

Before we start actually using this in a large production setting, get rid of webrick. It was a simple enough setup in the beginning, but as I look to deploy this into a larger production environment, I don't want to risk issues. Will also need to take into account reverse proxies that will potentially be in front of this as well.

Attributes for firstboot?

Does the json option for chef-client handle setting default or override attributes? If so run_list should be changed to metadata and handle both run list items and attributes.

Add key based authentication and auditing

Set up key based authentication to the stork server that will allow service accounts and user accounts. This will be for updates only. I will assume that anyone using this for kickstarting will be using this in an isolated and safe environment so the retrieval of the kickstart files will be unauthenticated. This does leave us open for leaking passwords so best practice would be to always use a temporary password that will be changed during the configuration stage.

All changes to state will be audited and kept in system logs. They will include the time, account, and action.

Bootstrap option not set

The bootstrap option should be set when generating the partition layout, a quick work around is to add it into the template.

IP address validation

Add validation for IP addresses. Make sure they are properly formed and nameservers, gateway... etc are within the subnet

Invalid server throws NoMethodError

NoMethodError - undefined method hashify' for nil:NilClass: /Users/rlyon/src/ruby/stork/lib/stork/server/application.rb:33:inblock in class:Application'

Split server and client configurations

Split up the server and client configurations so we can keep them in different places as well as strip out the non essentials. The server config should be named server.rb and the client should be named client.rb

The server will still be found in /etc/stork by default but the client will be found in ~/.stork

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.