egyptian-geeks / Activities

A repo to collect ideas for activities/projects to be done by the group members
11 stars 2 forks source link

sys-admin automation #18

Open AlaaAttya opened 9 years ago

AlaaAttya commented 9 years ago

Everyone know how's the hassle for a web developer to manage a server.So i'm planning to create sys-admin automation package/commands for linux. Just started with a decent php script still do not have a clear road map or vision how it's going to grow up this project.

check the project repo: https://github.com/AlaaAttya/sys-admin-automation

AmrEldib commented 9 years ago

I like this idea. You can use the Issues under that project to make a list of the commands/tasks you're planning. Also, can you clarify how the scripts will run? Is this meant to be a collection of scripts that does various tasks, or a framework of some sorts? Another important item: make sure to list all projects you find similar to this. It would be helpful to start where other people finished.

kashwaa commented 9 years ago

It will also be much better if you create a wrapper that unifies the way scripts are called, your project will end up having several scripts in different languages which invoke in very different ways, the wrapper will make it much easier and cleaner for a system admin with no programming experience to run the scripts

AlaaAttya commented 9 years ago

@AmrEldib I'm planning to have all the scripts to be packed into one Linux package (you know some sort of apt-get package) which could be installed on any *nix system. Still now I could not have a clear vision of the scripts architecture but still searching for the best practices for such type of projects.

AlaaAttya commented 9 years ago

@kashwaa yup it's on the top of my todos. But still not have a roadmap how i'll manage the scripts in the future or list of to be done tasks/processes so I need contributions/suggestion for such processes.

AlaaAttya commented 9 years ago

@AmrEldib @kashwaa I've just created an issue to submit any suggestion for new tasks/processes to be implemented https://github.com/AlaaAttya/sys-admin-automation/issues/1

AmrEldib commented 9 years ago

Great. My suggestion is to look into some established project. Something like Betty which makes also simple to call those commands. Of course, if what you want is to build a framework, then start your own project. But if you're looking to automate tasks, then consider an existing project. I'm sure there are a number of them. You don't have to contribute to it, maybe fork it and go your own path.

AlaaAttya commented 9 years ago

@AmrEldib I liked that Betty :+1: the guy is trying to make and intsall script as a command for copying his project file to home dir. May be good as a start. Thanks man for such repo :)

Kaabi commented 9 years ago

Also you need to see what Operating system you need to support, as for linux servers majority are centos or RHEL, ubuntu the least used. so if you plan to have wrapper and/or installer, the script should be working on different commands for each OS as for centos is yum and for ubuntu is apt-get and is important the installer and also is important to be there installer to unified the path and configuration of the script wrapper if you know what I mean

AlaaAttya commented 9 years ago

@Kaabi yup you're right about supporting mutiple OSs. I will do some sort of research to know what if there's a way to create a wrapper script which may compile on multiple OSs

AmrEldib commented 9 years ago

@AlaaAttya Great. If you find some similar project that uses PowerShell on Windows, please let me know. I like the idea very much but wants it on Windows. Less than two weeks ago, I started putting together some PowerShell scripts that I use sometimes and maybe make a repo out of it. I call it (jokingly) Hero Scripts (because they're very simple). Maybe we can do Betty for Windows.

AlaaAttya commented 9 years ago

@AmrEldib wow I like such idea to. To wrap the most frequently used commands into such packages. I would like to help with that whenever you start :+1:

AmrEldib commented 9 years ago

This project might be similar.

mfouad commented 8 years ago

You can borrow some ideas from Puppet and Chef, They define tasks as "Recipes". So you say something like:

webserver recipe - ensure that 
{
  service: apache
  virtualdir: \home\www
  state: running
}

So you define the configuration "state" that you want this server to reach, and Puppet will figure out what commands to run: install Apache if it is not installed, add a virtual dir, run the daemon, etc.

and they have a UI, where you can drag and drop the recipe on the server, and they manage it from there.