Project Description

The idea for project starts on LEO workshop. The main goal is to provide UI for local configuration that allows easy transition to 1:N management. So here is vision:

  • frontend: web-UI, GUI, TUI, CLI, whatever, for now lets start with CLI
  • backend: salt/puppet/chef/ansible/cfengine. In general write config for CM and not config files itself.
  • features: discovery/edit/create/apply on top of backend. Each step separated, so user can e.g. apply itself by using CM directly.
  • default value is keep value as it is, so anything not specific is not modified, but when something is specified then it can "eat" modifications as do salt and others
  • supported distros - openSUSE, SLE, ubuntu, debian, fedora at least
  • communication between frontend and backend is a CLI and YAML file with defined structure, but not aiming to be any kind of new standard, just textual configuration to transfer data in human readable form.

Advantages:

  • easily extensible as it use plugins like e.g. git
  • can run as service similar way like e.g. salt server can run it via ssh
  • easy move from 1:1 to 1:N
  • does not repeat what CM can already do and gets many features for free.
  • distro agnostic, so user can use same tool in heterogenous environment
  • can work remotely

Disadvantages:

  • Overwrite manual changes
  • less features then specialized tools like YaST

Use Cases:

  • I have one server that I am taking care. And as my project start growing I need more of them and want to have it consistently configured. So easily move from 1:1 to 1:N.
  • Company already use salt and I get a task to manage also FTP server configuration over it. I want to experiment with it at first on single server with some UI that allows me to quickly create initial config and then tune it with more advanced settings.
  • Company bought another one and they use salt and we are using ansible. Goal is to unify it. I want tool that helps me with conversion.
  • I want to start with ansible and prefer GUI for easy start.

Goal for this Hackweek

  • POC with users management
  • discovery works
  • CLI frontend
  • salt and ansible backend
  • works on opensuse TW and Ubuntu 20.04
  • If time permit try quick GUI
  • as API (see below) is YAML and CLI, then parts can be written in any language ( but please no shell )

API Proposal:

  • as said above communication is done via CLI and yaml file
  • discovery using some CM tool to discover and convert to YAML
  • backend is just CLI that do YAML->target file(-s) for given CM
  • frontend works on top of YAML + can call that CLI
  • apply is just different CLI for given backend, additional features like dry run can be also supported by this CLI. machine output is must have

Resources

- Repo with project

-

Looking for hackers with the skills:

salt ansible webapps cli qt

This project is part of:

Hack Week 20

Activity

  • about 4 years ago: joseivanlopez liked this project.
  • about 4 years ago: dgdavid liked this project.
  • about 4 years ago: ancorgs liked this project.
  • about 4 years ago: pagarcia liked this project.
  • about 4 years ago: jreidinger added keyword "salt" to this project.
  • about 4 years ago: jreidinger added keyword "ansible" to this project.
  • about 4 years ago: jreidinger added keyword "webapps" to this project.
  • about 4 years ago: jreidinger added keyword "cli" to this project.
  • about 4 years ago: jreidinger added keyword "qt" to this project.
  • about 4 years ago: IGonzalezSosa liked this project.
  • about 4 years ago: locilka liked this project.
  • about 4 years ago: jreidinger started this project.
  • about 4 years ago: jreidinger originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    This project is one of its kind!