-
Notifications
You must be signed in to change notification settings - Fork 1
/
ptsource-incomplete-modules
executable file
·774 lines (575 loc) · 33.2 KB
/
ptsource-incomplete-modules
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
PTConfigure Modules to be created
BUG
pharoah_php_home env var o se locaion of php ex 2 use
* CSS Regression Testing @todo
* We should be able to assign a framework to a project.
This kind of already done in dap_db_platform, maybe that should like below point to something at project level,
instead of rewriting it for environment level
* we should be able to refer to values in other parts of the papyrusfile using something like:
":::mysql_default_host"
Check for Broken Packages, ability to update - DONE
Bob is like phake
http://www.christophh.net/2012/01/20/introduction-to-bob/
All of Pharaoh
-------------------
Add lots of route aliases
for instance
ptconfigure digital-ocean box-destroy
ptconfigure digital-ocean destroy-box
ptconfigure digital-ocean destroy-boxes
should all just work the same. Makes using the app at the command line way easier.
BUG FOUND
-------------
I must add a no-dependencies option/flag to installs. Usually you want dependencies so it installs straight away. but there
might be a reason not to. for instance, mysql would be a prerequisite of mysqltools, but we might have just got that from
galera. maybe the mysql module cannot check for galera, and the dependency will attempt to execute.
BUG FOUND
-------------
must add a check to make sure that the remote prompt is actually updated. This can include checking the remote users
login shell is bash, and checking that the prompt is correct in the environment variable.
If it isn't, SSH will hang expecting to see it.
BUG FOUND
----------
We should pick the commands that can be sudo-oed without a password. update the sudonopass module to let us pick
individual commands, or default to ALL
COOL SHIT FOR ROADMAP
------------------------
?? Are these the enterprise bits? below
can we fire up say 1000 boxes and manage them? we can be more scaley than puppet out of the box. they're 200-300.
If we run locally in HHVM, we can set each box an equal space (to compare with phil dibowitz fb speech 15 mins)
15 * 60 = 900 / 10000 = 0.09 of a second per box. if each box can report status info to bastion in that time
HHVM can be locally set to wait and fire off at its time slice.
load balance our cleo infinitely?
A Web interface for making autopilots by drag and drop. blocks of modules in a list, double click or something to edit
params would need exposed params done on each module.
A web interface for chaining all Boxify, Cleofy etc together. This will mean we can create the entire environment,
for all the projects, with the web interface, and to create a new project off a template takes seconds/minutes
^^ goes with.
Ideally, we have some kind of papyrus creator helper tool and it will just guess the top 10 project types, or we can
provide it a compatibility model and run by inversion of control or something from other modules.
A web interface to monitor everything else with, so it can check the status of servers. check things are working and take
notifications then reboot or reprovision if needed. scaling can also get done here.
More work on postinput as the api. it should accept multiple formats of input. JSON, Rest, XML would be the most
important.
A web interface for papyrusfile editing.
Module Manager - should write to papyrus modmgr::disabled::modname or modmgr::disabled::moddir::modname then autoloader should
ignore those directories
for autopilot execute create shortcuts for a) action execute to just x b) --af --auto for file path c) --dfd, --default-dir
for default dir so
ptconfigure auto x --af="thisone.php" --dfd
is much shorter
ask zend to show me how to do autofill by tab at command line and also coloured command line output (that might be stack
overflow) If we cant do it in PHP, then can we do it in Bash, with some kind of connector method to something generated
by PHP defining what it should look like/act like, in essence another CLI front end? how does that affect real time display
of stuff?
can we do this? this would make the autopilots look tasty . PHP 5.4 Lets us do this I think
[
["Logging" => ["log"][["log-message"] = "Lets begin Configuration of a Designers Workstation",
["PHPModules" => ["ensure"]],
["Logging"]["log"][["log-message"] => "Lets ensure Apache Server is installed",
]
IN PROGRESS
---------------------------------------
You cannot call a module NoModuleAssociated as PackageManager uses that to store packages in cleovars that were installed
from cli not module. TODO: Throw an error if a module by that name is found. have a disallowed-modules for autoloader.
that might mean autoloader goes into its own module so it can have params
Logging - all calls to logging should also state what module, environment and server they are running from/on
Can we inject into the host shell every 3 seconds or so from the SSH client we're connecting to? that way long
executing scripts can be monitored properly
Cleo SSH invoke doesn't work interactively yet. We should try to use native php ssh extension first with
seclib style as a failover
Make a cron job or something to return the origin SSH prompt
A new concept
----------------
Once composerised, we can keep client installs lightweight by building cleo from dependencies in the autopilot.
step one, logging, then get the dependencies for that next, packagemanager, etc, then dependencies.
Then, once that is one, we actually run the autopilot.
Is this any good, is it any quicker since composer is slow, is it more secure, by not including modules which you
don't need but could be abused.
Disallow making more than one environment with the same name this causes infra creator autos to create it mulitple times
AWStats is uber cool and should be here
https://help.ubuntu.com/community/AWStats
DONE
----------------------------------
----------------------------------
----------------------------------
SSH Private key encryption thing
----------------------------------
Any box requiring this should have an environment variable or file
Encrypter like templater
ssh-keygen DONE
ssh-encrypt (encrypt/decrypt a private key) 75% DONE
(save decrypted private key somewhere) DECRYPT WILL DO THIS GIVEN A TARGET
VERSIONING
Versioning works for modules, but not for packages installed from modules, different code
Should be able to specify what version of packages are required
The version_compare function, already available in PHP will make this easy
The only important ones are either software version should
a) be exact DONE
b) be greater than DONE
also maybe
c) greater than and less than
possibly
d) not equal to
Modules Ensuring Versions
------------------------------------
WAIT - Behat - Behat - The PHP BDD Testing Suite
WAIT - Firewall - Add, Remove or Modify Firewalls
WAIT - PHPUnit - PHP Unit - The PHP Implementation of the XUnit Unit Testing standard
WAIT - RubyBDD - Ruby BDD Suite - Install Common Gems for Cucumber, Calabash, Capybara and Saucelabs
DONE - ApacheServer - Apache Server - Install or remove the Apache Server
DONE - PTConfigure - PTConfigure - Upgrade or Re-install PTConfigure - PHPGITAPP GET TAG
DONE - PTDeploy - PTDeploy - The PHP Automated Website Deployment tool - PHPGITAPP GET TAG
DONE - Firefox - Firefox - Install or remove Firefox
DONE - IntelliJ - IntelliJ - A great IDE from JetBrains
DONE - GitBucket - Git Bucket - The Git SCM Management Web Application
DONE - Java - Java JDK 1.7
DONE - Jenkins - Jenkins - The Java Build Server
DONE - JRush - JRush - The Joomla command line utility from Golden Contact - PHPGITAPP GET TAG
DONE - LigHTTPDServer - LigHTTPD Server - Install or remove the LigHTTPD Server
DONE - MysqlServer - Mysql Server - The Mysql RDBMS Server
DONE - NagiosServer - Nagios Server - Install or remove the Nagios Server
DONE - NginxServer - Nginx Server - Install or remove the Nginx Server
DONE - NodeJS - Node JS - The Server Side Javascript Engine
DONE - Parallax - Parallax - The parallel execution tool from Golden Contact - PHPGITAPP GET TAG
DONE - PTVirtualize - PTVirtualize - The Virtual Machine management solution for PHP - PHPGITAPP GET TAG
DONE - PostgresServer - Postgres Server - The Postgres RDBMS Server
DONE - RubySystem - Ruby RVM System wide - The Ruby version manager system wide version
DONE - Python - Python - The programming language
DONE - PTTest - PTTest - Upgrade or Re-install PTTest PHP - PHPGITAPP GET TAG
DONE - SeleniumServer - The Selenium Web Browser controlling server
DONE - SVN - SVN - The Source Control Manager
******************************
Boxify Almost complete - Works smoothly on DigitalOcean, but there is a Problem. The SSH keys dont work,
even when adding them manually via the digital ocean interface, cant login
so, use Environmrntconfig with --keep-current-environemnts and --no-manual-servers to create an empty env.
Then use boxify, and we can Invoke cli --env-name straight after .
This does work, but i think i had a dodgy
BOX-MANAGER-SUPERCLASS
BoxManager like packagemanager. This is barely started. write down a list of what this and scaler module needs.
VERY IMPORTANT! Work out the interface for environment/box clouding, and smooth scaling. AWS and digital ocean
minimum. 50% DONE
contact sebastien bergmann and everzet to ask for their views on testing the app. Get a test framework plan at least.
ALMOST DONE
Just remove all references to autopilot. also remove method calls from install, baselinuxapp, basephpapp, all methods accepting
autopilot or using autopilot parameters. make sure that everything that was covered by a runautopilot is now covered by a
control action combo
Composerise core. As part of this, you can install a custom et of modules, including say cleo amd dapper in one.
update dapper, parallax and tkmn to this core.
do videos
do docs
we're ready
MVP ABOVE HERE
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
Kind Of Important - will be luvvly
-----------------------------------
Module Handler. Get new Modules, Delete Modules, Disable, Enable
A file caching system for pharaoh
All Models of a particular Model group should have an interface
We should have some kind of waiter module for the build process and autopilots, so
I change my jenkins-server autopilot, during the build this is noticed, and an invoke script,
tied to the autopilot (use a naming convention by default/guess maybe?)
Configurers
-------------------
depend on templating module DONE
PHPConf - have a template file of the .ini, and an array with the php.ini defaults. Allow params to be overridden
Send the template file, target location
50% DONE, other template vars
ApacheConf - have a template file of the .conf, and an array with the apache defaults. Allow params to be overridden
50% DONE, other template vars
Remove the swapPlaceholders when possible. currently its used because the value is not set in the constructor before its
used. Go through all modules updating bash lines (even in arrays) for code dependencies
Update base app to only create executors when the programExecutorTargetPath is set
PHP Module to install multiple PHP versions, or change the installed version of PHP.
Also, how does that work when executing an upgrade on PHP through a PHP script? crashy crashy?
NEARLY MVP ABOVE HERE
Modules correctly reporting status
----------------------
WAIT - SshHarden - Apply security functions to the SSH accounts/setup of the machine
WAIT - Gem - Ruby Gems Package Manager
WAIT - GitBucket - Git Bucket - The Git SCM Management Web Application
WAIT - GitLab - Git Lab - The Git SCM Management Web Application
WAIT - RubyRVM - Ruby RVM - The Ruby version manager
Autopilot Definer
---------------
Do we need this anymore
Set this in the Parent constructor of Models. This removes a line from all default models constructors. it should
always be the module name for a default model. This also removes confusion for a non default model it should be
Module::ModelGroup.
NO - Just replace the whole autopilot thang with setting parameters on a model (Including the Action, so there is no
need for a runAutoPilot method) before executing it. Need to make sure we
Git Servers-
----------------
GitLab (Started, but to be completed)
NOT STARTED
----------------
Web Servers
----------------
Zend Server - HAVE APPROACHED ZEND TO DO THIS
PHP VM - GET FACEBOOK TO DO THIS
Zephir
Git Servers-
----------------
Gitbucket
Databases-
----------------
Oracle - Install and Configure Oracle RDBMS Server
Mongo - Install and Configure Mongo Nosql Server
Hadoop - Install and Configure Hadoop Server
Cassandra - Install and Configure Cassandra NOSQL Server
DataStores
----------------
Memcache
Memcached
Redis
HTTP Caches
----------------
Varnish
OP Code Caches
----------------
XCache
Server Monitoring-
----------------
Nagios - Install and Configure Nagios
Zenoss - Install and Configure Zenoss
NewRelic - Install and Configure NewRelic
TraceAlytics - Install and Configure TraceAlytics
Testing tools
----------------
PHPSpec
Storyplayer
Hardy CSS Regression
Webpagetest
Skipfish
Loadrunner
Jmeter
FTP Servers
-------------------
vsftpd
Console
Terminator Module http://software.jessies.org/downloads/mac/terminator.zip, http://software.jessies.org/downloads/debian/org.jessies.terminator.i386.deb, http://software.jessies.org/downloads/debian/org.jessies.terminator.x86_64.deb, http://software.jessies.org/downloads/debian/org.jessies.terminator.i386.rpm, http://software.jessies.org/downloads/debian/org.jessies.terminator.x86_64.rpm, http://software.jessies.org/downloads/windows/terminator.msi
phpDocumentor
phpDocumentor (also known as phpdoc and phpdocu) is a documentation tool for your PHP source code. It has an innumerable amount of features, including the ability to output in HTML, PDF, CHM and XML DocBook formats, and has both a Web-based and command-line interface as well as source-code highlighting. To learn more about phpDocumentor, check out the online manual. - pear channel-discover pear.phpdoc.org - pear install phpdoc/phpDocumentor 10 Minutes
PHP Code Beautifier
PHP_Beautifier PHP Beautifier is a PEAR package for automatically formatting and “beautifying” PHP 4 and PHP 5 source code. pear install PHP_Beautifier 30 Minutes
Phing
Phing is a popular project version-control system for PHP. It is a useful tool for organizing and maintaining different builds of your project. Windows and Linux, 2 hours
phpMyAdmin
If you’re working with PHP, there’s a big chance you’re set up in a LAMP configuration. phpMyAdmin is Web-based tool for managing, building, importing, exporting and exploring MySQL databases. ensure mysql, inst mysql admins, dapper phpmyadmin, Windows and Linux, 6 hours
PECL
PECL is a directory of all known PHP extensions and a hosting facility for downloading and developing PHP extensions. As a Package Manager 2 hours
PHP-GTK
PHP-GTK is a PHP extension for the GTK+ toolkit (a robust toolkit for developing GUIs). It is a suite of useful OOP functions and classes to help you rapidly build cross-platform, client-side GUI’s for your application. 1 Hour if PECL or PEAR
PHPSpec
PHPSpec is a simple and intuitive PHP framework. It follows the Behavior-Driven Development principle and therefore allows you to write behavior-oriented code, oftentimes in plain English.
WAIT UNTIL LATER
-----------------------
C Compiler
---------------
UbuntuCompiler - HALF DONE
This should also be just "compiler" by the way. it would be great to compile multiple os'es the same way but i don't
think i know that one well enough to do it.
Git Servers-
----------------
Gitbucket
OpenOffice
-------------------
mac
http://downloads.sourceforge.net/project/openofficeorg.mirror/4.0.1/binaries/en-US/Apache_OpenOffice_4.0.1_MacOS_x86_install_en-US.dmg?r=http%3A%2F%2Fwww.openoffice.org%2Fdownload%2F&ts=1383924817&use_mirror=freefr
Servlet Containers
-------------------
Tomcat Install
Tomcat Configure
Jetty Install
Jetty Configure
PHP APPS
--------
PHP DOX
An AJAX-powered PHP documentation search engine that enables you to search titles from all PHP documentation pages.
PHPCodeBeautifier
PHPCodeBeautifier is a tool that saves you from hours of reformatting code to suit your own way of presenting it. A GUI version allows you to process files visually; a command-line version can be batched or integrated with other tools (like CVS, SubVersion, IDE, etc.); and there is also an integrated tool of PHPEdit. http://www.waterproof.fr/download/phpCodeBeautifier/phpCB-1.0.1-linux.tgz Windows and Linux, 2 hours
Minify!
Minify is a PHP 5 app that can combine multiple CSS or JavaScript files, compress their content (i.e. remove unnecessary white space and comments) and serve the results with HTTP encoding (via Gzip/deflate) and headers that allow optimal client-side caching. This will help you follow several of Yahoo!’s Rules for High Performance Websites.
IDE's
--------
PHPEclipse
PHPEclipse is a popular PHP source-code editor that is open source and runs on all the major operating systems, such as
Windows, Linux and Mac OS. It has all the features you’d expect from a PHP source-code editor, such as code-folding,
syntax highlighting, hover-over tool tips and support for XDebug and DBG.
PhpED
PhpED is an excellent IDE for Windows users. It is one of the most robust and feature-packed IDEs currently out on the
market and has useful features such as a built-in source-code profiler to find bottlenecks in your PHP source code and
excellent integration with third-party apps and services just as front-end code validation.
phpDesigner
phpDesigner is a lightweight PHP editor/IDE that also handles front-end code and markup remarkably well. Check out the
phpDesigner online tutorials, as well as screencasts on phpDesigner to help you learn more about the IDE.
Zend Studio
Zend Studio is an excellent PHP IDE for Eclipse. It’ll help you develop, deploy and manage Rich Internet Applications
(RIAs) in an intuitive interface.
Aptana PHP
Aptana PHP is an open-source IDE extension/plug-in to be used in conjunction with Aptana Studio. To learn more, be sure
to check out the online documentation about Aptana PHP.
PHPEdit
PHPEdit is an excellent PHP editor/IDE with a ton of useful features and a very intuitive user interface. To learn more
about why PHPEdit is a good IDE, read the 10 reasons to use PHPEdit and view the introductory screencast about PHPEdit.
NetBeans
A dedicated PHP coding environment and complete integration with web standards. The NetBeans PHP editor is dynamically
integrated with NetBeans HTML, JavaScript and CSS editing features such as syntax highlighting and the JavaScript
debugger. NetBeans IDE 6.5 fully supports iterative development, so testing PHP projects follows the classic patterns
familiar to web developers.
Similar to intellij, 6 hours
DONE
-----------
Postgres - Install and Configure PostgresSQL Server DONE
Security
----------------
Firewall Software DONE
Security
----------------
Suhosin - PECL INSTALL/REMOVE SUHOSIN
State Detection - Allow the pyramid application to detect information regarding software and configuration install
current state
- Its already providing a default status for anything that was installed via cleo DONE
- Need the apt module, then the apt module can save both calling module and apt-program, so don't uninstall both
- all modules when installing if they are a dependency, should also save themselves as such DONE
- this way a dependency will probably be an apt or a module DONE
- DONE - all models have a default askStatus method. linux apps extend to execute an FS command. you can provide
the statusCommand parameter to check with a command you provide for a 0 or non 0 exit code. you can also provide
statusCommandExpects otherwise it will try to run the "command programNameMachine" to.
TODO: Need to finish/Test the state reporting of all modules. Implementing a testing framework should go quite a way to doing this.
Once we have a default set that checks like each module implementing x,y,z should report a,b,c and so on, we can see exactly
what actions and modules need fixing.
System Detection - Allow the pyramid application to detect OS, OS Version and Hardware information. Have a Factory Class
in Core which detects the running OS and looks in the module for a model which Reports itself as matching The
combination (ie "Ubuntu", "12.04"/"+ 11.10"), falling back to "any" instead of version if there's an "any" model. - DONE FULY
- Add other data like hostname, ip addresses to this
TODO: needs more work on restricting models working when specifying the wrong OS vesions
OP Code Caches
----------------
APC - done
-------------------------------------------------------------------------------
To add to MediaTools
https://help.ubuntu.com/community/RestrictedFormats/PlayingDVDs
sudo apt-get install libdvdread4
sudo /usr/share/doc/libdvdread4/install-css.sh
DONE
-------------------------------------------------------------------------------
Templating Module
-------------------
Should accept
- A template file location to read
- An array, object or key/value file of replacements
- a target path/name for file
- a owner for target file (optional)
- a group for target file (optional)
- a permission for target file (optional)
DONE
Web Servers
----------------
Nginx Install - done
Nginx Service Control - DONE DAPPERSTRANO
LightHttpd Install - done
LightHttpd Service Control - DONE DAPPERSTRANO
DONE
-----------------
Inter module Compatibility- one model/module should be able to call another without using a line of bash with parameter
- actually is there any benefit to this? are we looking for an exit code? If we want information returned that's more
than an exit code we'll need to stop spawning
- If the above are working, is there any benefit to not spawning?
THIS IS DONE BY USING THE FACTORY TO GET MODELS/MODEL GROUPS FROM MODULES
To do this, create a protected (maybe static as its called from another module) method in the autopilot, use
system-detection-factory to return a compatible model, Then add a step to the AutopilotMethod Module with your
method name, and the method/class should be able to set its own parameters with a private property or something
-----------------
Testing tools
----------------
Mink/Behat - done
Ruby BDD Suite
- Cucumber Gem
- Capybara Gem
- Calabash Gem
Update InstallCommands to accept functions as well as string commands - DONE
you can pass an array of instantiated object, methodname and parameters, or an array with a single bash string as its
value, or an array with an array, of bash strings as its value. An array of bash strings will be executed as seperate
lines in a single bash script.
"a command string",
array("command"=> "a command string" ),
array("method"=> array("object" => $this, "method" => "setDefaultReplacements", "params" => array()) ),
You canNOT now pass a string as before which will always be run as bash (to allow modules that haven't been updated
yet to work) all modules are updated
Update all modules to execute their steps using command or method arrays. DONE
Deprecate bash strings DONE
Remove registered pre/post install functions, replace with function steps in installCommands DONE
Remove extraCommands from all DONE
Package Managers
----------------
Pear DONE
apt-get install DONE
apt-get update DONE
Gem (RubyGems), extend a PackageManager module that apt-get and yum can also use to store dependencies DONE
PTConfigure
----------------
Cleofy should be Updated to use the Templating module DONE
Modules correctly using command/method calls instead of bash string
----------------------
DONE - AWSCloudFormation - The AWS CloudFormation CLI Tools
DONE - AWSCloudWatch - The AWS CloudWatch CLI Tools
DONE - ApacheConf - Apache Conf - Install a Apache Configuration
DONE - ApacheModules - Apache Modules - Commonly used modules for Apache
DONE - ApacheServer - Apache Server - Install or remove the Apache Server
DONE - Apt - Add, Remove or Modify Apts
DONE - Autopilot - PTConfigure Autopilot - User Defined Installations
DONE - Behat - Behat - The PHP BDD Testing Suite
DONE - Cleofy - PTConfigure Cleofyer - Creates default autopilots for your project
DONE - PTConfigure - PTConfigure - Upgrade or Re-install PTConfigure
DONE - Console
DONE - PTDeploy - PTDeploy - The PHP Automated Website Deployment tool
DONE - DeveloperTools - Developer Tools - IDE's and other tools for Developers
DONE - EnvironmentConfig - Environment Configuration - Configure Environments for a project
DONE - File - Add, Remove or Modify Files
DONE - Firefox14 - Firefox 14 - A version of Firefox highly tested with Selenium Server
DONE - Firefox17 - Firefox 17 - A version of Firefox highly tested with Selenium Server
DONE - Firewall - Add, Remove or Modify Firewalls
DONE - Gem - Ruby Gems Package Manager
DONE - Generator - PTDeploy Autopilot Generator - Generate Autopilot files interactively
DONE - GitBucket - Git Bucket - The Git SCM Management Web Application
DONE - GitLab - Git Lab - The Git SCM Management Web Application
DONE - GitTools - Git Tools - Tools for working with Git SCM
DONE - Hostname - View or Modify Hostname
DONE - InstallPackage - PTConfigure Predefined Installers
DONE - IntelliJ - IntelliJ - A great IDE from JetBrains
DONE - Invoke - SSH Invocation Functions
DONE - JRush - JRush - The Joomla command line utility from Golden Contact
DONE - Java - Java JDK 1.7
DONE - Jenkins - Jenkins - The Java Build Server
DONE - JenkinsPlugins - Jenkins PHP Plugins - Common Plugins for Jenkins PHP Builds
DONE - JenkinsSudoNoPass - Configure Passwordless Sudo for your Jenkins user
DONE - LigHTTPDServer - LigHTTPD Server - Install or remove the LigHTTPD Server
DONE - MediaTools - Media Tools - Tools to help view and manage Media files
DONE - MysqlAdmins - Mysql Admins - Install administrative users for Mysql
DONE - MysqlServer - Mysql Server - The Mysql RDBMS Server
DONE - MysqlTools - Mysql Tools - For administering and developing with Mysql
DONE - NagiosServer - Nagios Server - Install or remove the Nagios Server
DONE - NginxServer - Nginx Server - Install or remove the Nginx Server
DONE - NodeJS - Node JS - The Server Side Javascript Engine
DONE - PHPAPC - PHP APC - Commonly used PHP APC
DONE - PHPCS - PHP Code Sniffer - The static code analysis tool
DONE - PHPConf - PHP Conf - Install a PHP Configuration
DONE - PHPMD - PHP Mess Detector - The static analysis tool
DONE - PHPModules - PHP Modules - Commonly used PHP Modules
DONE - PHPUnit - PHP Unit - The PHP Implementation of the XUnit Unit Testing standard
DONE - PackageManager - Native Package Manager Wrapper - Install OS neutral packages
DONE - PapyrusEditor - Papyrus Editor Web Interface
DONE - Parallax - Parallax - The parallel execution tool from Golden Contact
DONE - Pear - Pear Package Manager
DONE - PTVirtualize - PTVirtualize - The Virtual Machine management solution for PHP
DONE - Port - Test a Port to see if its responding
DONE - PostInput - HTTP Post/Get Input Interface
DONE - Python - Python - The programming language
DONE - RubyBDD - Ruby BDD Suite - Install Common Gems for Cucumber, Calabash, Capybara and Saucelabs
DONE - RubyRVM - Ruby RVM - The Ruby version manager
DONE - RubySystem - Ruby RVM System wide - The Ruby version manager system wide version
DONE - SVN - SVN - The Source Control Manager
DONE - SeleniumServer - The Selenium Web Browser controlling server
DONE - Service - View or Modify Service
DONE - SshHarden - Apply security functions to the SSH accounts/setup of the machine
DONE - StandardTools - Standard Tools for any Installation
DONE - SudoNoPass - Configure Passwordless Sudo for any User
DONE - SystemDetection - System Detection - Detect the Running Operating System
DONE - Templating - Templating
DONE - PTTest - PTTest - Upgrade or Re-install PTTest
DONE - UbuntuCompiler - Ubuntu Compiler - For Compiling Linux Programs
DONE - User - Add, Remove or Modify Users
Modules where runautopilot code changed for params
OK - AWSCloudFormation - The AWS CloudFormation CLI Tools
OK - AWSCloudWatch - The AWS CloudWatch CLI Tools
OK - AWSEC2 - AWS EC2 Server Management Functions
OK - ApacheConf - Apache Conf - Install a Apache Configuration
OK - ApacheModules - Apache Modules - Commonly used modules for Apache
OK - ApacheServer - Apache Server - Install or remove the Apache Server
OK - Apt - Add, Remove or Modify Apts
OK - Autopilot - PTConfigure Autopilot - User Defined Installations
OK - Behat - Behat - The PHP BDD Testing Suite
OK - BoxManager - Native Box Manager Wrapper - Install OS neutral environments
OK - Cleofy - PTConfigure Cleofyer - Creates default autopilots for your project
OK - PTConfigure - PTConfigure - Upgrade or Re-install PTConfigure
OK - Console - Console - Output errors to the console
OK - PTDeploy - PTDeploy - The PHP Automated Website Deployment tool
OK - DeveloperTools - Developer Tools - IDE's and other tools for Developers
OK - DigitalOcean - Digital Ocean Server Management Functions
OK - Encryption - Encryption or Decryption of files
OK - EnvironmentConfig - Environment Configuration - Configure Environments for a project
OK - File - Add, Remove or Modify Files
OK - Firefox14 - Firefox 14 - A version of Firefox highly tested with Selenium Server
OK - Firefox17 - Firefox 17 - A version of Firefox highly tested with Selenium Server
OK - Firewall - Add, Remove or Modify Firewalls
OK - Gem - Ruby Gems Package Manager
OK - Generator - PTDeploy Autopilot Generator - Generate Autopilot files interactively
OK - GitBucket - Git Bucket - The Git SCM Management Web Application
OK - GitLab - Git Lab - The Git SCM Management Web Application
OK - GitTools - Git Tools - Tools for working with Git SCM
OK - Hostname - View or Modify Hostname
OK - InstallPackage - PTConfigure Predefined Installers
OK - IntelliJ - IntelliJ - A great IDE from JetBrains
OK - Invoke - SSH Invocation Functions
OK - JRush - JRush - The Joomla command line utility from Golden Contact
OK - Java - Java JDK 1.7
OK - Jenkins - Jenkins - The Java Build Server
OK - JenkinsPlugins - Jenkins PHP Plugins - Common Plugins for Jenkins PHP Builds
OK - JenkinsSudoNoPass - Configure Passwordless Sudo for your Jenkins user
OK - LigHTTPDServer - LigHTTPD Server - Install or remove the LigHTTPD Server
OK - MediaTools - Media Tools - Tools to help view and manage Media files
OK - MysqlAdmins - Mysql Admins - Install administrative users for Mysql
OK - MysqlServer - Mysql Server - The Mysql RDBMS Server
OK - MysqlTools - Mysql Tools - For administering and developing with Mysql
OK - NagiosServer - Nagios Server - Install or remove the Nagios Server
OK - NginxServer - Nginx Server - Install or remove the Nginx Server
OK - NodeJS - Node JS - The Server Side Javascript Engine
OK - PHPAPC - PHP APC - Commonly used PHP APC
OK - PHPCS - PHP Code Sniffer - The static code analysis tool
OK - PHPConf - PHP Conf - Install a PHP Configuration
OK - PHPMD - PHP Mess Detector - The static analysis tool
OK - PHPModules - PHP Modules - Commonly used PHP Modules
OK - PHPUnit - PHP Unit - The PHP Implementation of the XUnit Unit Testing standard
OK - PackageManager - Native Package Manager Wrapper - Install OS neutral packages
OK - PapyrusEditor - Papyrus Editor Web Interface
OK - Parallax - Parallax - The parallel execution tool from Golden Contact
OK - Pear - Pear Package Manager
OK - PTVirtualize - PTVirtualize - The Virtual Machine management solution for PHP
OK - Port - Test a Port to see if its responding
OK - PostInput - HTTP Post/Get Input Interface
OK - PostgresServer - Postgres Server - The Postgres RDBMS Server
OK - Python - Python - The programming language
OK - RubyBDD - Ruby BDD Suite - Install Common Gems for Cucumber, Calabash, Capybara and Saucelabs
OK - RubyRVM - Ruby RVM - The Ruby version manager
OK - RubySystem - Ruby RVM System wide - The Ruby version manager system wide version
OK - SVN - SVN - The Source Control Manager
OK - SeleniumServer - The Selenium Web Browser controlling server
OK - Service - View or Modify Service
OK - SshEncrypt - Mysql Admins - Install administrative users for Mysql
OK - SshHarden - Apply security functions to the SSH accounts/setup of the machine
OK - SshKeygen - SSH Keygen - Generate SSH Kay Pairs
OK - StandardTools - Standard Tools for any Installation
OK - SudoNoPass - Configure Passwordless Sudo for any User
OK - SystemDetection - System Detection - Detect the Running Operating System
OK - Templating - Templating
OK - PTTest - PTTest - Upgrade or Re-install PTTest
OK - UbuntuCompiler - Ubuntu Compiler - For Compiling Linux Programs
OK - User - Add, Remove or Modify Users
OK - Yum - Add, Remove or Modify Yum Packages
VERY IMPORTANT!!!
MysqlAdmins and RunCommand both require a new way to call
FIXED, If a command requires propertiers of an object, put it in a method and use executeAsShell
There are lots of runAutopilot methods missing. Is there a cleaner way to do this by just having autopilot variables
assigned to parameters at the beginning. So, then you provide Module(Controller), Action, available Parameters as each
step. This means that all runAutoPilot methods can be removed. each of the info files has an autoPilotVariables() method.
They can now all be removed, replaced with "exposedParams" or something. This way, each action can be listed with the
parameters it accepts. It also means that the generator will be much easier to work, with some js and httpPostInput,
the generator can look great.
Pharaoh exit codes are working. set from anywhere with \Bootstrap\setExitCode($int)
status done
--------------
DONE - Jenkins - Jenkins - The Java Build Server
DONE - NodeJS - Node JS - The Server Side Javascript Engine (looks like it should work but node not installed to check)
DONE - Pear - Pear Package Manager