Open vangourd opened 10 months ago
Gradual evolution of the plan here.
Right now I've got the "DSL" for config working with just rudimentary YAML parsing and I might just leave it at that. I think I've come around that CONTROL logic occurs in the modules and user should never have to specify more than parameters to the modules. E.g. there won't be a "loop" construct like in Ansible.
Does that mean less flexibility in what it can do? Only if you are afraid of programming.
With the trait system for modules I hope to support external Rust modules either directly or possibly with wasm components. Additionally I'm open to any pull requests for additional modules to be included in the core.
Right now I've got it polling Github directly for changes to a specified IAC repo. Long term I'd like to do something closer to Flux with a controller syncing for differences. I'd rather coordination between agents happen using a pub/sub protocol like SaltStack.
Looking to implement that with the zmq crate somehow.
In this document, I've gathered my initial ideas and thoughts about the system's design. It reflects my early understanding of the architecture, essential features, and potential challenges ahead. These concepts are starting points, not final decisions, and represent the seeds from which the project will grow. I'm open to feedback and collaboration to refine these ideas, aiming to ensure the design meets technical goals and user expectations. This marks the start of a dynamic and iterative design process where adaptability and learning will be key.