| 1 |
deprec 2.0 roadmap |
|---|
| 2 |
|
|---|
| 3 |
# expectations/constraints |
|---|
| 4 |
|
|---|
| 5 |
- all tasks should be re-runnable |
|---|
| 6 |
- all install_ tasks should install required dependancies |
|---|
| 7 |
- users should expect that standard cap commands will work |
|---|
| 8 |
|
|---|
| 9 |
|
|---|
| 10 |
# interactive tools |
|---|
| 11 |
|
|---|
| 12 |
deprec should make it easy to perform commonly use sysadmin tasks. |
|---|
| 13 |
While automation brings great power it's still often quicker to |
|---|
| 14 |
run 'semi automated' tasks that require some interactive input. |
|---|
| 15 |
|
|---|
| 16 |
For example, adding a user account to a number of servers could be |
|---|
| 17 |
made easier with a general purpose interactive recipe: |
|---|
| 18 |
|
|---|
| 19 |
cap add_user |
|---|
| 20 |
> username for new user? : fred |
|---|
| 21 |
> password for new user? : ****** |
|---|
| 22 |
> retype password : ****** |
|---|
| 23 |
> user type for new user? |
|---|
| 24 |
1. default |
|---|
| 25 |
2. admin |
|---|
| 26 |
?: 2 |
|---|
| 27 |
creating... |
|---|
| 28 |
server01 - created user 'fred' of type 'admin' |
|---|
| 29 |
server02 - created user 'fred' of type 'admin' |
|---|
| 30 |
server03 - created user 'fred' of type 'admin' |
|---|
| 31 |
server04 - user 'fred' exists. Set type to 'admin' |
|---|
| 32 |
|
|---|
| 33 |
* Note that the servers above were all servers mentioned in deploy.rb |
|---|
| 34 |
for a project however there are many ways to get this list. |
|---|
| 35 |
|
|---|
| 36 |
|
|---|
| 37 |
# plugin based support different distros, versions (and possibly OS's) |
|---|
| 38 |
|
|---|
| 39 |
While deprec was built to work with Ubuntu 6.06, some people have shown interest |
|---|
| 40 |
in using it with other distro's. I plan to move all of the Ubuntu specific code |
|---|
| 41 |
into a separate gem 'deprec_ubuntu' which deprec will load by default. This will |
|---|
| 42 |
mean anyone else can create and maintain plugins that allow the use of other linux |
|---|
| 43 |
distros (and perhaps other OS's). |
|---|
| 44 |
|
|---|
| 45 |
All platform dependent functions will be: |
|---|
| 46 |
|
|---|
| 47 |
- cap extensions, not tasks |
|---|
| 48 |
- plugins, not part of the deprec itself |
|---|
| 49 |
- loaded using gemplugins http://mongrel.rubyforge.org/gem_plugin_rdoc/index.html |
|---|
| 50 |
|
|---|
| 51 |
I'd like 'cap -T' to show the distros supported for each command when not arch independant. |
|---|
| 52 |
|
|---|
| 53 |
|
|---|
| 54 |
# add lots more useful tasks |
|---|
| 55 |
|
|---|
| 56 |
I'd like to extend deprec beyond just getting your rails app up and running. |
|---|
| 57 |
Anything I need that takes some time to do right will go in. If you've got |
|---|
| 58 |
something you want added then write it and let me know. If I'm not interested, |
|---|
| 59 |
put it in a plugin. |
|---|
| 60 |
|
|---|
| 61 |
install and configure the following package groups: |
|---|
| 62 |
- source control (svn, trac) |
|---|
| 63 |
- mail (postfix, imap, mutt, mailx) |
|---|
| 64 |
|
|---|
| 65 |
|
|---|
| 66 |
# don't rely on third party servers to be available when installing software |
|---|
| 67 |
|
|---|
| 68 |
As I write, www.apache.org is serving at a crawling pace. I'd like to make it easy for |
|---|
| 69 |
users to download and cache all required third party apps, gems, etc and have deprec |
|---|
| 70 |
use these. |
|---|
| 71 |
|
|---|
| 72 |
|
|---|
| 73 |
# move to using debian mode for apache |
|---|
| 74 |
|
|---|
| 75 |
This has been requested and is the default way ubuntu does it. |
|---|
| 76 |
I'm thinking it will allow easier management of the config files (module-enabled) |
|---|
| 77 |
e.g. mods-enabled/dav_svn.conf |
|---|