Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop Conflicts: ChangeLog htdocs/install/mysql/migration/3.6.0-3.7.0.sql
This commit is contained in:
commit
eca9408c91
@ -164,6 +164,12 @@ source_file = htdocs/langs/en_US/ldap.lang
|
||||
source_lang = en_US
|
||||
type = MOZILLAPROPERTIES
|
||||
|
||||
[dolibarr.link]
|
||||
file_filter = htdocs/langs/<lang>/link.lang
|
||||
source_file = htdocs/langs/en_US/link.lang
|
||||
source_lang = en_US
|
||||
type = MOZILLAPROPERTIES
|
||||
|
||||
[dolibarr.mailmanspip]
|
||||
file_filter = htdocs/langs/<lang>/mailmanspip.lang
|
||||
source_file = htdocs/langs/en_US/mailmanspip.lang
|
||||
|
||||
45
ChangeLog
45
ChangeLog
@ -5,6 +5,11 @@ English Dolibarr ChangeLog
|
||||
|
||||
***** ChangeLog for 3.7 compared to 3.6.* *****
|
||||
For users:
|
||||
- New: Intervention documents are now available in ECM module.
|
||||
- New: Can attach supplier order to a customer order.
|
||||
- New: Supervisor is now visible into user list.
|
||||
- New: Add user of creation and validation on invoice export.
|
||||
- New: Add info page about browser.
|
||||
- New: Enable feature developed for 3.6 we forgot to enabled: Adding prefix
|
||||
on uploaded file names.
|
||||
- New: No more dependency between contract and service module.
|
||||
@ -24,9 +29,15 @@ For users:
|
||||
a list of thirdparty types specific to a country (like argentina that
|
||||
need type A or B).
|
||||
- New: Can force a specific bank account onto an invoice/order.
|
||||
- New: First changes for accessibility.
|
||||
- New: Home page of project area shows list of draft project (like other main page).
|
||||
- New: Can search on project ref or string from project main page (like other main page).
|
||||
- New: First change to match accessibility rules: http://www.w3.org/TR/WCAG10-HTML-TECHS/
|
||||
Differentiate text and img.
|
||||
Use label into quick search form.
|
||||
Use accesskey on form search.
|
||||
- New: Intervention documents are now available in ECM module
|
||||
- New: Add attachments on user card + in ECM module
|
||||
- New: Can add __PROJECT_REF__ and __TIHRPARTY_NAME__ into email topic or content template.
|
||||
- Fix: [ bug #1487 ] PAYMENT_DELETE trigger does not intercept trigger action
|
||||
- Fix: [ bug #1470, #1472, #1473] User trigger problem
|
||||
- Fix: [ bug #1489, #1491 ] Intervention trigger problem
|
||||
@ -43,13 +54,16 @@ For users:
|
||||
- Fix: [ bug #1501 ] DEPLACEMENT_CREATE trigger do not intercept trigger action
|
||||
- Fix: [ bug #1506, #1507 ] ECM trigger error problem
|
||||
- Fix: [ bug #1469 ] Triggers CONTACT_MODIFY and CONTACT_DELETE duplicates error message
|
||||
- New: [ task #1204 ] add a Supplier reference to contract
|
||||
- New: Invoice clone clone invoice contact
|
||||
- Fix: [ bug #1537 ] Difference between societe.nom and adherent.societe.
|
||||
- New: [ task #1204 ] add a External reference to contract
|
||||
|
||||
For translators:
|
||||
- Update language files.
|
||||
- New: When a translation is not available we always jump to en_US and only en_US.
|
||||
|
||||
For developers:
|
||||
- New: Select list of users can return user into hierarchy.
|
||||
- New: getBrowserInfo can return type of layout of browser (classic/phone/tablet)
|
||||
- New: Add hook "searchAgendaFrom".
|
||||
- New: Add trigger DON_UPDATE, DON_DELETE
|
||||
- New: Add country iso code on 3 chars into table of countries.
|
||||
@ -57,11 +71,13 @@ For developers:
|
||||
- LINEBILL_DELETE, LINK_DELETE, ORDER_SUPPLIER_DELETE, RESOURCE_DELETE trigger called before SQL delete
|
||||
- New: [ Task #1481 ] Add trigger BILL_SUPPLIER_UPDATE.
|
||||
- New: [ Task #1495 ] Add trigger LINECONTRACT_CREATE.
|
||||
- New: Added hook "formConfirm" and "doActions" for supplier invoice card.
|
||||
- New: [ task #1511, #1426 ] Added hook "doActions" for supplier card and supplier order card.
|
||||
|
||||
WARNING: Following change may create regression for some external modules, but was necessary to make
|
||||
Dolibarr better:
|
||||
|
||||
- Change the way parameters are provides to scripts sync_xxx_ldap2dolibarr.php
|
||||
- Changed the way parameters are provided to scripts sync_xxx_ldap2dolibarr.php
|
||||
|
||||
|
||||
***** ChangeLog for 3.6 compared to 3.5.* *****
|
||||
@ -104,7 +120,8 @@ For users:
|
||||
- New: More options to create a credit note (can be filled autatically according to remain to pay).
|
||||
- New: Can define custom fields for categories.
|
||||
- New: Prepare generation of SEPA files into module withdrawal.
|
||||
- New: Can filter on status for supplier order.
|
||||
- New: [ task #1164 ] Add "Ref. supplier" search box in supplier orders
|
||||
- New: [ task #1345 ] Can filter on status for supplier order.
|
||||
- New: Add option FACTURE_SENDBYEMAIL_FOR_ALL_STATUS to allow to send invoice by email
|
||||
whatever is its status.
|
||||
- New: Add filter date in bank writing list page.
|
||||
@ -135,6 +152,7 @@ For users:
|
||||
- Fix: [ bug #1477 ] Several customer invoice triggers do not show trigger error messages
|
||||
- Fix: [ bug #1471 ] Several PHP warnings when intercepting USER_CREATE trigger.
|
||||
- Fix: [ bug #1517 ] Packages sizes.
|
||||
- Fix: [ bug #1521 ] The second order's page from a provider shows all orders
|
||||
|
||||
For translators:
|
||||
- Update language files.
|
||||
@ -175,6 +193,22 @@ removed. You must now use the 6 parameters way. See file modMyModule.class.php f
|
||||
- Remove add_photo_web() that is ot used anymore by core code.
|
||||
|
||||
|
||||
***** ChangeLog for 3.5.5 compared to 3.5.4 *****
|
||||
Fix: Holiday module was broken. Initializaion of amount of holidays failed.
|
||||
Fix: [ bug #1523 ] suite bug #1334 : filtre et ordre de tri conjoints ne s'appliquent pas.
|
||||
Fix: Fusion PDF button on unpaid invoice is no more displayed
|
||||
Fix: Unpaid invoice launch fusion PDF action even if it is only search (with enter keyboard input instead of lens click)
|
||||
Fix: Pb when showing log list of holiday module with some mysql versions.
|
||||
Fix: Error with bad timezone pushed by some browsers.
|
||||
Fix: shipping list SQL request was not filtering on shipping element
|
||||
Fix: debian package provided by dolibarr team must use embedded libraries.
|
||||
Fix: [ bug #1528 ] Leopard Services numeration module description is not translated.
|
||||
Fix: [ bug #1523 ] suite bug #1334 : filtre et ordre de tri conjoints ne s'appliquent pas
|
||||
Fix: [ bug #1534 ] Unknown error when deleting a product photo under special circumstances
|
||||
Fix: Update impayees.php
|
||||
Fix: Link product, In list view and label product
|
||||
Fix: visible task into area "time" for "My task" must limit task to tasks i am assigned to.
|
||||
Fix: When disabled, all fields to add time into task line must be disabled.
|
||||
|
||||
***** ChangeLog for 3.5.4 compared to 3.5.3 *****
|
||||
Fix: Hide title of event when agenda module disabled.
|
||||
@ -484,6 +518,7 @@ Fix: Add a limit into list to avoid browser to hang when database is too large.
|
||||
Fix: [ bug #1212 ] 'jqueryFileTree.php' directory traversal vulnerability
|
||||
Fix: Agenda and Banks module were not working with multicompany module
|
||||
Fix: [ bug #1317 ] Removing a category does not remove all child categories
|
||||
Fix: [ bug #1380 ] Customer invoices are not grouped in company results report.
|
||||
|
||||
***** ChangeLog for 3.4.2 compared to 3.4.1 *****
|
||||
Fix: field's problem into company's page (RIB).
|
||||
|
||||
@ -153,6 +153,7 @@ from origin/upstream and origin/pristine.
|
||||
|
||||
* Into root dir, launch:
|
||||
> debian/get-orig-source.sh
|
||||
If script fails with error Bad certificate, you can set "export PERL_LWP_SSL_VERIFY_HOSTNAME=0 " to solve this.
|
||||
|
||||
* Staying into git root directory, run
|
||||
> git-import-orig -vv ../tcpdf_x.y.z+dfsg.orig.tar.xz
|
||||
@ -162,7 +163,7 @@ Note: If there was errors solved manually, you may need to make a git commit
|
||||
* Add an entry into debian/changelog
|
||||
> dch -v x.y.z-dsfg-1 "My comment" will add entry.
|
||||
For example: dch -v x.y.z-dsfg-1 "New upstream release." for a new version
|
||||
Then modify changelog to replace "unstable" with "UNRELEASED".
|
||||
Then modify changelog to replace "version" or "unstable" with "UNRELEASED".
|
||||
|
||||
Warning: Date must have format reported by "date -R"
|
||||
Warning: Name and email must match value into debian/control file (Entry added here is used by next step).
|
||||
@ -228,8 +229,13 @@ from origin/upstream and origin/pristine.
|
||||
|
||||
* If new upstream is available onto sourceforge, launch:
|
||||
> debian/get-orig-source.sh
|
||||
If script fails with error Bad certificate, you can set "export PERL_LWP_SSL_VERIFY_HOSTNAME=0 " to solve this.
|
||||
|
||||
* Edit tgz file to remove ckeditor and phpexcel and rename file into
|
||||
* Edit tgz file to remove
|
||||
- ckeditor
|
||||
- phpexcel
|
||||
- tcpdf
|
||||
And rename file into
|
||||
dolibarr-x.y.z+dsfgw.tgz
|
||||
(x.y.z = version, w start from 1 and is increased for each new import)
|
||||
|
||||
@ -244,7 +250,7 @@ Note: If there was errors solved manually after get-orig-sources.sh, you may nee
|
||||
* Add an entry into debian/changelog
|
||||
> dch -v x.y.z-w "My comment" will add entry.
|
||||
For example: dch -v x.y.z-w "New upstream release." for a new version (x.y.z = version, w start from 1 and increaed for each new import)
|
||||
Then modify changelog to replace "unstable" with "UNRELEASED".
|
||||
Then modify changelog to replace "version" or "unstable" with "UNRELEASED".
|
||||
Then check/modify also the user/date signature:
|
||||
- Date must have format reported by "date -R"
|
||||
- Name and email must match value into debian/control file (Entry added here is used by next step).
|
||||
|
||||
@ -1,9 +1,16 @@
|
||||
dolibarr (3.6.0-2) unstable; urgency=low
|
||||
dolibarr (3.6.0-3) unstable; urgency=low
|
||||
|
||||
[ Laurent Destailleur (eldy) ]
|
||||
* New upstream release.
|
||||
|
||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Sat, 9 May 2014 12:00:00 +0100
|
||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Tue, 15 July 2014 12:00:00 +0100
|
||||
|
||||
dolibarr (3.5.5-3) unstable; urgency=low
|
||||
|
||||
[ Laurent Destailleur (eldy) ]
|
||||
* New upstream release.
|
||||
|
||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Tue, 8 July 2014 12:00:00 +0100
|
||||
|
||||
dolibarr (3.5.4-3) unstable; urgency=low
|
||||
|
||||
|
||||
@ -131,19 +131,19 @@ case "$1" in
|
||||
setup_empty_conf
|
||||
else
|
||||
# File already exist. We add params not found.
|
||||
echo Add new params to overwrite path to use shared libraries/fonts
|
||||
grep -q -c "dolibarr_lib_ADODB_PATH" $config || [ ! -d "/usr/share/php/adodb" ] || echo "<?php \$dolibarr_lib_ADODB_PATH='/usr/share/php/adodb'; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "<?php \$dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi'; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "<?php \$dolibarr_lib_GEOIP_PATH=''; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || [ ! -d "/usr/share/php/nusoap" ] || echo "<?php \$dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap'; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_ODTPHP_PATHTOPCLZIP" $config || [ ! -d "/usr/share/php/libphp-pclzip" ] || echo "<?php \$dolibarr_lib_ODTPHP_PATHTOPCLZIP='/usr/share/php/libphp-pclzip'; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "<?php \$dolibarr_lib_PHPEXCEL_PATH=''; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "<?php \$dolibarr_lib_TCPDF_PATH=''; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || echo "<?php \$dolibarr_js_CKEDITOR='/javascript/ckeditor'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY" $config || [ ! -d "/usr/share/javascript/jquery" ] || echo "<?php \$dolibarr_js_JQUERY='/javascript/jquery'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY_UI" $config || [ ! -d "/usr/share/javascript/jquery-ui" ] || echo "<?php \$dolibarr_js_JQUERY_UI='/javascript/jquery-ui'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY_FLOT" $config || [ ! -d "/usr/share/javascript/flot" ] || echo "<?php \$dolibarr_js_JQUERY_FLOT='/javascript/flot'; ?>" >> $config
|
||||
grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "<?php \$dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf'; ?>" >> $config
|
||||
#echo Add new params to overwrite path to use shared libraries/fonts
|
||||
#grep -q -c "dolibarr_lib_ADODB_PATH" $config || [ ! -d "/usr/share/php/adodb" ] || echo "<?php \$dolibarr_lib_ADODB_PATH='/usr/share/php/adodb'; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "<?php \$dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi'; ?>" >> $config
|
||||
##grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "<?php \$dolibarr_lib_GEOIP_PATH=''; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || [ ! -d "/usr/share/php/nusoap" ] || echo "<?php \$dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap'; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_ODTPHP_PATHTOPCLZIP" $config || [ ! -d "/usr/share/php/libphp-pclzip" ] || echo "<?php \$dolibarr_lib_ODTPHP_PATHTOPCLZIP='/usr/share/php/libphp-pclzip'; ?>" >> $config
|
||||
##grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "<?php \$dolibarr_lib_PHPEXCEL_PATH=''; ?>" >> $config
|
||||
##grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "<?php \$dolibarr_lib_TCPDF_PATH=''; ?>" >> $config
|
||||
#grep -q -c "dolibarr_js_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || echo "<?php \$dolibarr_js_CKEDITOR='/javascript/ckeditor'; ?>" >> $config
|
||||
#grep -q -c "dolibarr_js_JQUERY" $config || [ ! -d "/usr/share/javascript/jquery" ] || echo "<?php \$dolibarr_js_JQUERY='/javascript/jquery'; ?>" >> $config
|
||||
#grep -q -c "dolibarr_js_JQUERY_UI" $config || [ ! -d "/usr/share/javascript/jquery-ui" ] || echo "<?php \$dolibarr_js_JQUERY_UI='/javascript/jquery-ui'; ?>" >> $config
|
||||
#grep -q -c "dolibarr_js_JQUERY_FLOT" $config || [ ! -d "/usr/share/javascript/flot" ] || echo "<?php \$dolibarr_js_JQUERY_FLOT='/javascript/flot'; ?>" >> $config
|
||||
#grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "<?php \$dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf'; ?>" >> $config
|
||||
fi
|
||||
|
||||
db_get dolibarr/reconfigure-webserver
|
||||
|
||||
@ -15,7 +15,7 @@ $CONFFILE="dolibarr-doxygen.doxyfile";
|
||||
|
||||
use Cwd;
|
||||
my $dir = getcwd;
|
||||
|
||||
|
||||
print "Current dir is: $dir\n";
|
||||
print "Running dir for doxygen must be: $DIR\n";
|
||||
|
||||
@ -24,14 +24,31 @@ if (! -s $CONFFILE)
|
||||
print "Error: current directory for building Dolibarr doxygen documentation is not correct.\n";
|
||||
print "\n";
|
||||
print "Change your current directory then, to launch the script, run:\n";
|
||||
print '> perl ..\dolibarr-doxygen-build.pl (on Windows)'."\n";
|
||||
print '> perl .\dolibarr-doxygen-build.pl (on Windows)'."\n";
|
||||
print '> perl ../dolibarr-doxygen-build.pl (on Linux or BSD)'."\n";
|
||||
sleep 4;
|
||||
exit 1;
|
||||
}
|
||||
|
||||
print "Running doxygen, please wait...\n";
|
||||
$result=`doxygen $OPTIONS $CONFFILE 2>&1`;
|
||||
$SOURCE="../..";
|
||||
|
||||
# Get version $MAJOR, $MINOR and $BUILD
|
||||
$result = open( IN, "< " . $SOURCE . "/htdocs/filefunc.inc.php" );
|
||||
if ( !$result ) { die "Error: Can't open descriptor file " . $SOURCE . "/htdocs/filefunc.inc.php\n"; }
|
||||
while (<IN>) {
|
||||
if ( $_ =~ /define\('DOL_VERSION','([\d\.a-z\-]+)'\)/ ) { $PROJVERSION = $1; break; }
|
||||
}
|
||||
close IN;
|
||||
($MAJOR,$MINOR,$BUILD)=split(/\./,$PROJVERSION,3);
|
||||
if ($MINOR eq '') { die "Error can't detect version into ".$SOURCE . "/htdocs/filefunc.inc.php"; }
|
||||
|
||||
|
||||
$version=$MAJOR.".".$MINOR.".".$BUILD;
|
||||
|
||||
|
||||
print "Running doxygen for version ".$version.", please wait...\n";
|
||||
print "cat $CONFFILE | sed -e 's/x\.y\.z/".$version."/' | doxygen $OPTIONS - 2>&1\n";
|
||||
$result=`cat $CONFFILE | sed -e 's/x\.y\.z/$version/' | doxygen $OPTIONS - 2>&1`;
|
||||
|
||||
print $result;
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@ PROJECT_NAME = dolibarr
|
||||
# This could be handy for archiving the generated documentation or
|
||||
# if some version control system is used.
|
||||
|
||||
PROJECT_NUMBER = 3.6.0
|
||||
PROJECT_NUMBER = x.y.z
|
||||
|
||||
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
|
||||
# base path where the generated documentation will be put.
|
||||
|
||||
@ -35,15 +35,15 @@ File added into doxygen generated documentation
|
||||
<div class="bannergroupmybanner">
|
||||
|
||||
<div class="banneritemmybanner">
|
||||
<script type="text/javascript"><!--
|
||||
google_ad_client = "pub-1071905880519467";
|
||||
/* PUBBANDEAUDOLIBARR */
|
||||
google_ad_slot = "1421205532";
|
||||
google_ad_width = 468;
|
||||
google_ad_height = 60;
|
||||
//-->
|
||||
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||
<!-- BAN_728x90_DOXYGEN -->
|
||||
<ins class="adsbygoogle"
|
||||
style="display:inline-block;width:728px;height:90px"
|
||||
data-ad-client="ca-pub-1465985984238664"
|
||||
data-ad-slot="4297390217"></ins>
|
||||
<script>
|
||||
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||
</script>
|
||||
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
|
||||
<div class="clr"></div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -17,9 +17,9 @@
|
||||
; ----- Change this -----
|
||||
AppName=DoliWamp
|
||||
; DoliWamp-x.x.x or DoliWamp-x.x.x-alpha or DoliWamp-x.x.x-beta or DoliWamp-x.x.x-rc or DoliWamp-x.x.x
|
||||
AppVerName=DoliWamp-3.6.0-beta
|
||||
AppVerName=DoliWamp-3.6.0
|
||||
; DoliWamp-x.x x or DoliWamp-x.x.x-alpha or DoliWamp-x.x.x-beta or DoliWamp-x.x.x-rc or DoliWamp-x.x.x
|
||||
OutputBaseFilename=DoliWamp-3.6.0-beta
|
||||
OutputBaseFilename=DoliWamp-3.6.0
|
||||
; ----- End of change
|
||||
;OutputManifestFile=build\doliwampbuild.log
|
||||
; Define full path from which all relative path are defined
|
||||
@ -108,8 +108,8 @@ Source: "C:\Program Files\Wamp\bin\mysql\mysql5.0.45\*.*"; DestDir: "{app}\bin\m
|
||||
; Mysql data files (does not overwrite if exists)
|
||||
Source: "build\exe\doliwamp\mysql\*.*"; DestDir: "{app}\bin\mysql\data\mysql"; Flags: onlyifdoesntexist ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db"
|
||||
; Dolibarr
|
||||
Source: "htdocs\*.*"; DestDir: "{app}\www\dolibarr\htdocs"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,custom\*,custom2\*,documents\*,includes\ckeditor\_source\*,includes\savant\*,includes\phpmailer\*,jquery\plugins\template\*,PHPExcel\Shared\PDF\*,PHPExcel\Shared\PCLZip\*,tcpdf\fonts\dejavu-fonts-ttf-2.33\*,tcpdf\fonts\freefont-20100919\*,tcpdf\fonts\utils\*,*\conf.php,*\conf.php.mysql,*\conf.php.old,*\conf.php.postgres,*\conf.php.sav,*\install.forced.php"
|
||||
Source: "dev\*.*"; DestDir: "{app}\www\dolibarr\dev"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,dbmodel\*,fpdf\*,initdata\*,iso-normes\*,licence\*,phpcheckstyle\*,phpunit\*,samples\*,test\*,uml\*,xdebug\*"
|
||||
Source: "htdocs\*.*"; DestDir: "{app}\www\dolibarr\htdocs"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,custom\*,custom2\*,documents\*,nltechno*\*,includes\ckeditor\_source\*,includes\savant\*,includes\phpmailer\*,jquery\plugins\template\*,PHPExcel\Shared\PDF\*,PHPExcel\Shared\PCLZip\*,tcpdf\fonts\dejavu-fonts-ttf-2.33\*,tcpdf\fonts\freefont-20100919\*,tcpdf\fonts\utils\*,*\conf.php,*\conf.php.mysql,*\conf.php.old,*\conf.php.postgres,*\conf.php.sav,*\install.forced.php"
|
||||
Source: "dev\*.*"; DestDir: "{app}\www\dolibarr\dev"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,dbmodel\*,fpdf\*,initdata\*,iso-normes\*,licence\*,phpcheckstyle\*,phpunit\*,samples\*,test\*,uml\*,vagrant\*,xdebug\*"
|
||||
Source: "doc\*.*"; DestDir: "{app}\www\dolibarr\doc"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,wiki\*,plaquette\*,dev\*,images\dolibarr_screenshot2.png,images\dolibarr_screenshot3.png,images\dolibarr_screenshot4.png,images\dolibarr_screenshot5.png,images\dolibarr_screenshot6.png,images\dolibarr_screenshot7.png,images\dolibarr_screenshot8.png,images\dolibarr_screenshot9.png,images\dolibarr_screenshot10.png,images\dolibarr_screenshot11.png,images\dolibarr_screenshot12.png"
|
||||
Source: "scripts\*.*"; DestDir: "{app}\www\dolibarr\scripts"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,product\materiel.net.php,product\import-product.php"
|
||||
Source: "*.*"; DestDir: "{app}\www\dolibarr"; Flags: ignoreversion; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,default.properties,install.lock"
|
||||
|
||||
@ -416,6 +416,7 @@ if ($nboftargetok) {
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/dev/spec`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/dev/test`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/dev/uml`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/dev/vagrant`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/dev/xdebug`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/dev/dolibarr_changes.txt`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/dev/README`;
|
||||
@ -959,8 +960,8 @@ if ($nboftargetok) {
|
||||
}
|
||||
}
|
||||
|
||||
# Build package for each target
|
||||
#------------------------------
|
||||
# Publish package for each target
|
||||
#--------------------------------
|
||||
foreach my $target (keys %CHOOSEDPUBLISH)
|
||||
{
|
||||
if ($CHOOSEDPUBLISH{$target} < 0) { next; }
|
||||
@ -973,12 +974,15 @@ if ($nboftargetok) {
|
||||
"$DESTI/standard/$FILENAMETGZ.tgz"=>'Dolibarr ERP-CRM',
|
||||
"$DESTI/standard/$FILENAMETGZ.zip"=>'Dolibarr ERP-CRM'
|
||||
);
|
||||
use POSIX qw/strftime/;
|
||||
foreach my $file (sort keys %filestoscansf)
|
||||
{
|
||||
$found=0;
|
||||
my $filesize = -s $file;
|
||||
my $filedate = (stat $file)[9];
|
||||
print $file." ".($filesize?"(found)":"(not found)");
|
||||
print ($filesize?" - ".$filesize:"");
|
||||
print ($filedate?" - ".strftime("%Y-%m-%d %H:%M:%S",localtime($filedate)):"");
|
||||
print "\n";
|
||||
}
|
||||
|
||||
@ -1035,9 +1039,7 @@ if ($nboftargetok) {
|
||||
print "$command\n";
|
||||
my $ret=`$command 2>&1`;
|
||||
print "$ret\n";
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -13,8 +13,6 @@ beta version of Dolibarr, step by step.
|
||||
- Update version number with x.y.z-w in build/debian/changelog
|
||||
- Update version number with x.y.z-w in build/exe/doliwamp/doliwamp.iss
|
||||
- Update version number with x.y.z-w in build/rpm/*.spec
|
||||
- Update version number with x.y.z in build/doxygen/dolibarr-doxygen.doxyfile
|
||||
- Update version number with x.y.z in build/perl/virtualmin/dolibarr.pl
|
||||
- Commit all changes.
|
||||
- Add a Tag (x.y.betaz_YYYYMMDD) and push it: git push --tags
|
||||
- Create a branch (x.y).
|
||||
|
||||
@ -30,7 +30,8 @@ return "Regis Houssin";
|
||||
# script_dolibarr_versions()
|
||||
sub script_dolibarr_versions
|
||||
{
|
||||
return ( "3.6.0", "3.5.3", "3.5.2", "3.5.1", "3.5.0", "3.4.1", "3.4.0", "3.3.3", "3.3.2", "3.3.1", "3.3.0", "3.2.1", "3.1.1" );
|
||||
# TODO Replace this with version of Dolibar we want to install
|
||||
return ( "x.y.z", "3.6.0");
|
||||
}
|
||||
|
||||
sub script_dolibarr_category
|
||||
|
||||
@ -5,4 +5,3 @@
|
||||
//
|
||||
// This file will be filled by installer
|
||||
//
|
||||
?>
|
||||
@ -333,7 +333,10 @@ fi
|
||||
|
||||
# version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release
|
||||
%changelog
|
||||
* Wed Jul 2 2014 Laurent Destailleur 3.6.0-0.2.b
|
||||
* Wed Jul 15 2014 Laurent Destailleur 3.6.0-0.3
|
||||
- Upstream release
|
||||
|
||||
* Tue Jul 8 2014 Laurent Destailleur 3.5.5-0.3
|
||||
- Upstream release
|
||||
|
||||
* Tue Jul 1 2014 Laurent Destailleur 3.5.4-0.3
|
||||
|
||||
@ -569,7 +569,10 @@ fi
|
||||
|
||||
# version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release
|
||||
%changelog
|
||||
* Wed Jul 2 2014 Laurent Destailleur 3.6.0-0.2.b
|
||||
* Wed Jul 15 2014 Laurent Destailleur 3.6.0-0.3
|
||||
- Upstream release
|
||||
|
||||
* Tue Jul 8 2014 Laurent Destailleur 3.5.5-0.3
|
||||
- Upstream release
|
||||
|
||||
* Tue Jul 1 2014 Laurent Destailleur 3.5.4-0.3
|
||||
|
||||
@ -338,7 +338,10 @@ fi
|
||||
|
||||
# version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release
|
||||
%changelog
|
||||
* Wed Jul 2 2014 Laurent Destailleur 3.6.0-0.2.b
|
||||
* Wed Jul 15 2014 Laurent Destailleur 3.6.0-0.3
|
||||
- Upstream release
|
||||
|
||||
* Tue Jul 8 2014 Laurent Destailleur 3.5.5-0.3
|
||||
- Upstream release
|
||||
|
||||
* Tue Jul 1 2014 Laurent Destailleur 3.5.4-0.3
|
||||
|
||||
@ -349,7 +349,10 @@ fi
|
||||
|
||||
# version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release
|
||||
%changelog
|
||||
* Wed Jul 2 2014 Laurent Destailleur 3.6.0-0.2.b
|
||||
* Wed Jul 15 2014 Laurent Destailleur 3.6.0-0.3
|
||||
- Upstream release
|
||||
|
||||
* Tue Jul 8 2014 Laurent Destailleur 3.5.5-0.3
|
||||
- Upstream release
|
||||
|
||||
* Tue Jul 1 2014 Laurent Destailleur 3.5.4-0.3
|
||||
|
||||
@ -11,10 +11,16 @@
|
||||
|
||||
<!-- List of all tests -->
|
||||
|
||||
|
||||
<!-- Rules from Internal Standard -->
|
||||
|
||||
<rule ref="Internal.NoCodeFound">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
|
||||
|
||||
<!-- Rules from Generic Standard -->
|
||||
|
||||
<rule ref="Generic.CodeAnalysis.EmptyStatement" />
|
||||
|
||||
<rule ref="Generic.CodeAnalysis.EmptyStatement.NotAllowed">
|
||||
@ -24,9 +30,6 @@
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
|
||||
<!-- The closing ?> tag MUST be omitted from files containing only PHP. -->
|
||||
<rule ref="Zend.Files.ClosingTag"/>
|
||||
|
||||
<!-- <rule ref="Generic.CodeAnalysis.ForLoopShouldBeWhileLoop" /> -->
|
||||
|
||||
<rule ref="Generic.CodeAnalysis.ForLoopWithTestFunctionCall" />
|
||||
@ -153,6 +156,10 @@
|
||||
<!-- Disabled as this does not support tab -->
|
||||
<!-- <rule ref="Generic.WhiteSpace.ScopeIndent" /> -->
|
||||
|
||||
|
||||
|
||||
<!-- Rules from PEAR Standard -->
|
||||
|
||||
<rule ref="PEAR.Classes.ClassDeclaration" />
|
||||
|
||||
<!-- Check for duplicate class names -->
|
||||
@ -270,4 +277,10 @@
|
||||
<!-- Already found as a Generic rule -->
|
||||
<!-- <rule ref="PEAR.WhiteSpace.ScopeIndent" /> -->
|
||||
|
||||
|
||||
<!-- Rules from Zend Standard-->
|
||||
|
||||
<!-- The closing ?> tag MUST be omitted from files containing only PHP. -->
|
||||
<rule ref="Zend.Files.ClosingTag"/>
|
||||
|
||||
</ruleset>
|
||||
|
||||
@ -44,6 +44,8 @@ In htdocs/includes/tcpdf/tcpdf.php
|
||||
- protected $default_monospaced_font = 'courier';
|
||||
+ protected $default_monospaced_font = 'freemono';
|
||||
|
||||
* Renamed getmypid into dol_getmypid().
|
||||
|
||||
|
||||
JSGANTT:
|
||||
--------
|
||||
|
||||
@ -94,7 +94,7 @@ while ($i < GEN_NUMBER_FACTURE && $result >= 0)
|
||||
|
||||
print "Invoice ".$i." for socid ".$socid;
|
||||
|
||||
$facture = new Facture($db, $socids[$socid]);
|
||||
$facture = new Facture($db);
|
||||
$facture->date = time();
|
||||
$facture->cond_reglement_id = 3;
|
||||
$facture->mode_reglement_id = 3;
|
||||
|
||||
@ -122,7 +122,7 @@ while ($i < GEN_NUMBER_PROPAL && $result >= 0)
|
||||
$soc = new Societe($db);
|
||||
|
||||
|
||||
$propal = new Propal($db, $socids[$socid]);
|
||||
$propal = new Propal($db);
|
||||
|
||||
$obj = $conf->global->PROPALE_ADDON;
|
||||
$modPropale = new $obj;
|
||||
@ -130,6 +130,7 @@ while ($i < GEN_NUMBER_PROPAL && $result >= 0)
|
||||
|
||||
$propal->ref = $numpr;
|
||||
$propal->contactid = $contids[$socids[$socid]][0];
|
||||
$propal->socid = $socids[$socid];
|
||||
$propal->datep = time();
|
||||
$propal->cond_reglement_id = 3;
|
||||
$propal->mode_reglement_id = 3;
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -57,7 +57,7 @@ if (! $result > 0) { dol_print_error('',$user->error); exit; }
|
||||
$user->getrights();
|
||||
|
||||
|
||||
print "***** ".$script_file." (".$version.") pid=".getmypid()." *****\n";
|
||||
print "***** ".$script_file." (".$version.") pid=".dol_getmypid()." *****\n";
|
||||
if (! isset($argv[1])) { // Check parameters
|
||||
print "Usage: ".$script_file." param1 param2 ...\n";
|
||||
exit(-1);
|
||||
|
||||
57
dev/vagrant/dolibarrdev/Vagrantfile
vendored
57
dev/vagrant/dolibarrdev/Vagrantfile
vendored
@ -23,6 +23,47 @@ Vagrant.configure("2") do |config|
|
||||
end
|
||||
end
|
||||
|
||||
if Vagrant.has_plugin?('vagrant-hostsupdater')
|
||||
hosts = Array.new()
|
||||
|
||||
if !configValues['apache']['install'].nil? &&
|
||||
configValues['apache']['install'].to_i == 1 &&
|
||||
configValues['apache']['vhosts'].is_a?(Hash)
|
||||
configValues['apache']['vhosts'].each do |i, vhost|
|
||||
hosts.push(vhost['servername'])
|
||||
|
||||
if vhost['serveraliases'].is_a?(Array)
|
||||
vhost['serveraliases'].each do |vhost_alias|
|
||||
hosts.push(vhost_alias)
|
||||
end
|
||||
end
|
||||
end
|
||||
elsif !configValues['nginx']['install'].nil? &&
|
||||
configValues['nginx']['install'].to_i == 1 &&
|
||||
configValues['nginx']['vhosts'].is_a?(Hash)
|
||||
configValues['nginx']['vhosts'].each do |i, vhost|
|
||||
hosts.push(vhost['server_name'])
|
||||
|
||||
if vhost['server_aliases'].is_a?(Array)
|
||||
vhost['server_aliases'].each do |x, vhost_alias|
|
||||
hosts.push(vhost_alias)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if hosts.any?
|
||||
contents = File.open("#{dir}/puphpet/shell/hostsupdater-notice.txt", 'r'){ |file| file.read }
|
||||
puts "\n\033[34m#{contents}\033[0m\n"
|
||||
|
||||
if config.vm.hostname.to_s.strip.length == 0
|
||||
config.vm.hostname = 'puphpet-dev-machine'
|
||||
end
|
||||
|
||||
config.hostsupdater.aliases = hosts
|
||||
end
|
||||
end
|
||||
|
||||
data['vm']['synced_folder'].each do |i, folder|
|
||||
if folder['source'] != '' && folder['target'] != ''
|
||||
if folder['sync_type'] == 'nfs'
|
||||
@ -53,6 +94,9 @@ Vagrant.configure("2") do |config|
|
||||
if key == "memory"
|
||||
next
|
||||
end
|
||||
if key == "cpus"
|
||||
next
|
||||
end
|
||||
|
||||
if key == "natdnshostresolver1"
|
||||
value = value ? "on" : "off"
|
||||
@ -62,6 +106,7 @@ Vagrant.configure("2") do |config|
|
||||
end
|
||||
|
||||
virtualbox.customize ["modifyvm", :id, "--memory", "#{data['vm']['memory']}"]
|
||||
virtualbox.customize ["modifyvm", :id, "--cpus", "#{data['vm']['cpus']}"]
|
||||
|
||||
if data['vm']['hostname'].to_s.strip.length != 0
|
||||
virtualbox.customize ["modifyvm", :id, "--name", config.vm.hostname]
|
||||
@ -77,11 +122,15 @@ Vagrant.configure("2") do |config|
|
||||
if key == "memsize"
|
||||
next
|
||||
end
|
||||
if key == "cpus"
|
||||
next
|
||||
end
|
||||
|
||||
v.vmx["#{key}"] = "#{value}"
|
||||
end
|
||||
|
||||
v.vmx["memsize"] = "#{data['vm']['memory']}"
|
||||
v.vmx["numvcpus"] = "#{data['vm']['cpus']}"
|
||||
|
||||
if data['vm']['hostname'].to_s.strip.length != 0
|
||||
v.vmx["displayName"] = config.vm.hostname
|
||||
@ -97,11 +146,15 @@ Vagrant.configure("2") do |config|
|
||||
if key == "memsize"
|
||||
next
|
||||
end
|
||||
if key == "cpus"
|
||||
next
|
||||
end
|
||||
|
||||
v.customize ["set", :id, "--#{key}", "#{value}"]
|
||||
end
|
||||
|
||||
v.memory = "#{data['vm']['memory']}"
|
||||
v.cpus = "#{data['vm']['cpus']}"
|
||||
|
||||
if data['vm']['hostname'].to_s.strip.length != 0
|
||||
v.name = config.vm.hostname
|
||||
@ -119,7 +172,8 @@ Vagrant.configure("2") do |config|
|
||||
kg.path = "puphpet/shell/ssh-keygen.sh"
|
||||
kg.args = "#{ssh_username}"
|
||||
end
|
||||
config.vm.provision :shell, :path => "puphpet/shell/update-puppet.sh"
|
||||
config.vm.provision :shell, :path => "puphpet/shell/install-ruby.sh"
|
||||
config.vm.provision :shell, :path => "puphpet/shell/install-puppet.sh"
|
||||
|
||||
config.vm.provision :puppet do |puppet|
|
||||
puppet.facter = {
|
||||
@ -183,3 +237,4 @@ Vagrant.configure("2") do |config|
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
@ -2,9 +2,4 @@
|
||||
* text=auto
|
||||
|
||||
# Force the following filetypes to have unix eols, so Windows does not break them
|
||||
*.pp text eol=lf
|
||||
*.sh text eol=lf
|
||||
*.yaml text eol=lf
|
||||
Puppetfile text eol=lf
|
||||
.bash_aliases text eol=lf
|
||||
.vimrc text eol=lf
|
||||
*.* text eol=lf
|
||||
|
||||
16
dev/vagrant/dolibarrdev/puphpet/config.yaml
vendored
16
dev/vagrant/dolibarrdev/puphpet/config.yaml
vendored
@ -5,6 +5,7 @@ vagrantfile-local:
|
||||
box_url: puphpet/debian75-x64
|
||||
hostname: null
|
||||
memory: '512'
|
||||
cpus: '1'
|
||||
chosen_provider: virtualbox
|
||||
network:
|
||||
private_network: 192.168.42.101
|
||||
@ -29,7 +30,7 @@ vagrantfile-local:
|
||||
- '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'
|
||||
- '--parser future'
|
||||
synced_folder:
|
||||
jopH6005bn96:
|
||||
w6GqzzS2a7lu:
|
||||
source: ../../../
|
||||
target: /var/www/dolibarr
|
||||
sync_type: default
|
||||
@ -63,8 +64,7 @@ mailcatcher:
|
||||
smtp_port: 1025
|
||||
http_ip: 0.0.0.0
|
||||
http_port: '1080'
|
||||
mailcatcher_path: /usr/local/bin
|
||||
log_path: /var/log/mailcatcher/mailcatcher.log
|
||||
mailcatcher_path: /usr/local/rvm/wrappers/default
|
||||
firewall:
|
||||
install: '1'
|
||||
rules: null
|
||||
@ -81,7 +81,7 @@ apache:
|
||||
- php
|
||||
- rewrite
|
||||
vhosts:
|
||||
b2tOrs1TMtoF:
|
||||
syTi8VestVdG:
|
||||
servername: dev.dolibarr.org
|
||||
docroot: /var/www/dolibarr/htdocs
|
||||
port: '80'
|
||||
@ -98,8 +98,12 @@ apache:
|
||||
mod_spdy: 0
|
||||
nginx:
|
||||
install: 0
|
||||
settings:
|
||||
default_vhost: 1
|
||||
proxy_buffer_size: 128k
|
||||
proxy_buffers: '4 256k'
|
||||
vhosts:
|
||||
0dU5luf5AnIe:
|
||||
kZiLLcLAIVAF:
|
||||
server_name: awesome.dev
|
||||
server_aliases:
|
||||
- www.awesome.dev
|
||||
@ -154,7 +158,7 @@ mysql:
|
||||
root_password: root
|
||||
adminer: 0
|
||||
databases:
|
||||
V6H3W2FVB7Yq:
|
||||
HHTBm64g1siG:
|
||||
grant:
|
||||
- ALTER
|
||||
- CREATE
|
||||
|
||||
204
dev/vagrant/dolibarrdev/puphpet/puppet/manifest.pp
vendored
204
dev/vagrant/dolibarrdev/puphpet/puppet/manifest.pp
vendored
@ -197,8 +197,8 @@ if is_array($server_values['packages']) and count($server_values['packages']) >
|
||||
}
|
||||
|
||||
define add_dotdeb ($release){
|
||||
apt::source { $name:
|
||||
location => 'http://packages.dotdeb.org',
|
||||
apt::source { "${name}-repo.puphpet":
|
||||
location => 'http://repo.puphpet.com/dotdeb/',
|
||||
release => $release,
|
||||
repos => 'all',
|
||||
required_packages => 'debian-keyring debian-archive-keyring',
|
||||
@ -270,7 +270,7 @@ if hash_key_equals($mailcatcher_values, 'install', 1) {
|
||||
|
||||
create_resources('class', { 'mailcatcher' => $mailcatcher_values['settings'] })
|
||||
|
||||
if ! defined(Firewall["100 tcp/${mailcatcher_values['settings']['smtp_port']},${mailcatcher_values['settings']['http_port']}"]) {
|
||||
if ! defined(Firewall["100 tcp/${mailcatcher_values['settings']['smtp_port']}, ${mailcatcher_values['settings']['http_port']}"]) {
|
||||
firewall { "100 tcp/${mailcatcher_values['settings']['smtp_port']}, ${mailcatcher_values['settings']['http_port']}":
|
||||
port => [$mailcatcher_values['settings']['smtp_port'], $mailcatcher_values['settings']['http_port']],
|
||||
proto => tcp,
|
||||
@ -290,25 +290,28 @@ if hash_key_equals($mailcatcher_values, 'install', 1) {
|
||||
}
|
||||
}
|
||||
|
||||
$supervisord_mailcatcher_options = sort(join_keys_to_values({
|
||||
$mailcatcher_path = $mailcatcher_values['settings']['mailcatcher_path']
|
||||
|
||||
$mailcatcher_options = sort(join_keys_to_values({
|
||||
' --smtp-ip' => $mailcatcher_values['settings']['smtp_ip'],
|
||||
' --smtp-port' => $mailcatcher_values['settings']['smtp_port'],
|
||||
' --http-ip' => $mailcatcher_values['settings']['http_ip'],
|
||||
' --http-port' => $mailcatcher_values['settings']['http_port']
|
||||
}, ' '))
|
||||
|
||||
$supervisord_mailcatcher_cmd = "mailcatcher ${supervisord_mailcatcher_options} -f >> ${mailcatcher_values['settings']['log']}"
|
||||
|
||||
supervisord::program { 'mailcatcher':
|
||||
command => $supervisord_mailcatcher_cmd,
|
||||
command => "${mailcatcher_path}/mailcatcher ${mailcatcher_options} -f",
|
||||
priority => '100',
|
||||
user => 'mailcatcher',
|
||||
autostart => true,
|
||||
autorestart => 'true',
|
||||
environment => {
|
||||
'PATH' => "/bin:/sbin:/usr/bin:/usr/sbin:${mailcatcher_values['settings']['path']}"
|
||||
'PATH' => "/bin:/sbin:/usr/bin:/usr/sbin:${mailcatcher_path}"
|
||||
},
|
||||
require => Package['mailcatcher']
|
||||
require => [
|
||||
Class['mailcatcher::config'],
|
||||
File['/var/log/mailcatcher']
|
||||
],
|
||||
}
|
||||
}
|
||||
|
||||
@ -318,10 +321,6 @@ if $firewall_values == undef {
|
||||
$firewall_values = hiera('firewall', false)
|
||||
}
|
||||
|
||||
resources { 'firewall':
|
||||
purge => true
|
||||
}
|
||||
|
||||
Firewall {
|
||||
before => Class['my_fw::post'],
|
||||
require => Class['my_fw::pre'],
|
||||
@ -389,16 +388,15 @@ if hash_key_equals($apache_values, 'install', 1) {
|
||||
include puphpet::params
|
||||
include apache::params
|
||||
|
||||
$webroot_location = $puphpet::params::apache_webroot_location
|
||||
$webroot_location = $puphpet::params::apache_webroot_location
|
||||
$apache_provider_types = ['virtualbox', 'vmware_fusion', 'vmware_desktop', 'parallels']
|
||||
|
||||
exec { "exec mkdir -p ${webroot_location}":
|
||||
command => "mkdir -p ${webroot_location}",
|
||||
creates => $webroot_location,
|
||||
}
|
||||
|
||||
if (downcase($::provisioner_type) in ['virtualbox', 'vmware_fusion'])
|
||||
and ! defined(File[$webroot_location])
|
||||
{
|
||||
if (downcase($::provisioner_type) in $apache_provider_types) and ! defined(File[$webroot_location]) {
|
||||
file { $webroot_location:
|
||||
ensure => directory,
|
||||
mode => 0775,
|
||||
@ -407,11 +405,7 @@ if hash_key_equals($apache_values, 'install', 1) {
|
||||
Group['www-data']
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
if !(downcase($::provisioner_type) in ['virtualbox', 'vmware_fusion'])
|
||||
and ! defined(File[$webroot_location])
|
||||
{
|
||||
} elsif ! (downcase($::provisioner_type) in $apache_provider_types) and ! defined(File[$webroot_location]) {
|
||||
file { $webroot_location:
|
||||
ensure => directory,
|
||||
group => 'www-data',
|
||||
@ -441,8 +435,8 @@ if hash_key_equals($apache_values, 'install', 1) {
|
||||
}
|
||||
|
||||
if $::operatingsystem == 'ubuntu'
|
||||
and hash_key_equals($php_values, 'install', 1)
|
||||
and hash_key_equals($php_values, 'version', 55)
|
||||
and hash_key_equals($php_values, 'install', 1)
|
||||
and hash_key_equals($php_values, 'version', 55)
|
||||
{
|
||||
$apache_version = '2.4'
|
||||
} else {
|
||||
@ -496,7 +490,7 @@ if hash_key_equals($apache_values, 'install', 1) {
|
||||
creates => $vhost['docroot'],
|
||||
}
|
||||
|
||||
if (downcase($::provisioner_type) in ['virtualbox', 'vmware_fusion'])
|
||||
if (downcase($::provisioner_type) in $apache_provider_types)
|
||||
and ! defined(File[$vhost['docroot']])
|
||||
{
|
||||
file { $vhost['docroot']:
|
||||
@ -504,9 +498,7 @@ if hash_key_equals($apache_values, 'install', 1) {
|
||||
mode => 0765,
|
||||
require => Exec["exec mkdir -p ${vhost['docroot']} @ key ${key}"]
|
||||
}
|
||||
}
|
||||
|
||||
if !(downcase($::provisioner_type) in ['virtualbox', 'vmware_fusion'])
|
||||
} elsif !(downcase($::provisioner_type) in $apache_provider_types)
|
||||
and ! defined(File[$vhost['docroot']])
|
||||
{
|
||||
file { $vhost['docroot']:
|
||||
@ -523,10 +515,10 @@ if hash_key_equals($apache_values, 'install', 1) {
|
||||
create_resources(apache::vhost, { "${key}" => merge($vhost, {
|
||||
'custom_fragment' => template('puphpet/apache/custom_fragment.erb'),
|
||||
'ssl' => 'ssl' in $vhost and str2bool($vhost['ssl']) ? { true => true, default => false },
|
||||
'ssl_cert' => hash_key_true($vhost, 'ssl_cert') ? { true => $vhost['ssl_cert'], default => undef },
|
||||
'ssl_key' => hash_key_true($vhost, 'ssl_cert') ? { true => $vhost['ssl_key'], default => undef },
|
||||
'ssl_chain' => hash_key_true($vhost, 'ssl_cert') ? { true => $vhost['ssl_chain'], default => undef },
|
||||
'ssl_certs_dir' => hash_key_true($vhost, 'ssl_cert') ? { true => $vhost['ssl_certs_dir'], default => undef }
|
||||
'ssl_cert' => hash_key_true($vhost, 'ssl_cert') ? { true => $vhost['ssl_cert'], default => undef },
|
||||
'ssl_key' => hash_key_true($vhost, 'ssl_key') ? { true => $vhost['ssl_key'], default => undef },
|
||||
'ssl_chain' => hash_key_true($vhost, 'ssl_chain') ? { true => $vhost['ssl_chain'], default => undef },
|
||||
'ssl_certs_dir' => hash_key_true($vhost, 'ssl_certs_dir') ? { true => $vhost['ssl_certs_dir'], default => undef }
|
||||
})
|
||||
})
|
||||
|
||||
@ -585,33 +577,25 @@ if hash_key_equals($nginx_values, 'install', 1) {
|
||||
}
|
||||
}
|
||||
|
||||
$webroot_location = $puphpet::params::nginx_webroot_location
|
||||
$webroot_location = $puphpet::params::nginx_webroot_location
|
||||
$nginx_provider_types = ['virtualbox', 'vmware_fusion', 'vmware_desktop', 'parallels']
|
||||
|
||||
exec { "exec mkdir -p ${webroot_location}":
|
||||
command => "mkdir -p ${webroot_location}",
|
||||
creates => $webroot_location,
|
||||
}
|
||||
|
||||
if (downcase($::provisioner_type) in ['virtualbox', 'vmware_fusion'])
|
||||
and ! defined(File[$webroot_location])
|
||||
{
|
||||
if (downcase($::provisioner_type) in $nginx_provider_types) and ! defined(File[$webroot_location]) {
|
||||
file { $webroot_location:
|
||||
ensure => directory,
|
||||
mode => 0775,
|
||||
require => [
|
||||
Exec["exec mkdir -p ${webroot_location}"],
|
||||
Group['www-data']
|
||||
]
|
||||
require => Exec["exec mkdir -p ${webroot_location}"],
|
||||
}
|
||||
}
|
||||
|
||||
if !(downcase($::provisioner_type) in ['virtualbox', 'vmware_fusion'])
|
||||
and ! defined(File[$webroot_location])
|
||||
{
|
||||
} elsif ! (downcase($::provisioner_type) in $nginx_provider_types) and ! defined(File[$webroot_location]) {
|
||||
file { $webroot_location:
|
||||
ensure => directory,
|
||||
group => 'www-data',
|
||||
mode => 0775,
|
||||
group => 'www-data',
|
||||
require => [
|
||||
Exec["exec mkdir -p ${webroot_location}"],
|
||||
Group['www-data']
|
||||
@ -633,12 +617,10 @@ if hash_key_equals($nginx_values, 'install', 1) {
|
||||
if hash_key_equals($php_values, 'install', 1) {
|
||||
$php5_fpm_sock = '/var/run/php5-fpm.sock'
|
||||
|
||||
if $php_values['version'] == undef {
|
||||
$fastcgi_pass = null
|
||||
} elsif $php_values['version'] == '53' {
|
||||
$fastcgi_pass = '127.0.0.1:9000'
|
||||
} else {
|
||||
$fastcgi_pass = "unix:${php5_fpm_sock}"
|
||||
$fastcgi_pass = $php_values['version'] ? {
|
||||
'53' => '127.0.0.1:9000',
|
||||
undef => null,
|
||||
default => "unix:${php5_fpm_sock}"
|
||||
}
|
||||
|
||||
if $::osfamily == 'redhat' and $fastcgi_pass == "unix:${php5_fpm_sock}" {
|
||||
@ -648,7 +630,7 @@ if hash_key_equals($nginx_values, 'install', 1) {
|
||||
require => Package['nginx'],
|
||||
}
|
||||
|
||||
exec { "listen = 127.0.0.1:9000 => listen = ${php5_fpm_sock}":
|
||||
exec { "'listen = 127.0.0.1:9000' => 'listen = ${php5_fpm_sock}'":
|
||||
command => "perl -p -i -e 's#listen = 127.0.0.1:9000#listen = ${php5_fpm_sock}#gi' /etc/php-fpm.d/www.conf",
|
||||
unless => "grep -c 'listen = 127.0.0.1:9000' '${php5_fpm_sock}'",
|
||||
notify => [
|
||||
@ -658,25 +640,51 @@ if hash_key_equals($nginx_values, 'install', 1) {
|
||||
require => Exec["create ${php5_fpm_sock} file"]
|
||||
}
|
||||
|
||||
set_php5_fpm_sock_group_and_user { 'php_rhel':
|
||||
set_nginx_php5_fpm_sock_group_and_user { 'php_rhel':
|
||||
require => Exec["create ${php5_fpm_sock} file"],
|
||||
}
|
||||
} else {
|
||||
set_php5_fpm_sock_group_and_user { 'php':
|
||||
set_nginx_php5_fpm_sock_group_and_user { 'php':
|
||||
require => Package['nginx'],
|
||||
subscribe => Service['php5-fpm'],
|
||||
}
|
||||
}
|
||||
} elsif hash_key_equals($hhvm_values, 'install', 1) {
|
||||
$fastcgi_pass = '127.0.0.1:9000'
|
||||
$fastcgi_pass = '127.0.0.1:9000'
|
||||
} else {
|
||||
$fastcgi_pass = ''
|
||||
$fastcgi_pass = null
|
||||
}
|
||||
|
||||
class { 'nginx': }
|
||||
|
||||
if count($nginx_values['vhosts']) > 0 {
|
||||
each( $nginx_values['vhosts'] ) |$key, $vhost| {
|
||||
if hash_key_equals($nginx_values['settings'], 'default_vhost', 1) {
|
||||
$nginx_vhosts = merge($nginx_values['vhosts'], {
|
||||
'default' => {
|
||||
'server_name' => '_',
|
||||
'server_aliases' => [],
|
||||
'www_root' => '/var/www/html',
|
||||
'listen_port' => 80,
|
||||
'index_files' => ['index', 'index.html', 'index.htm', 'index.php'],
|
||||
'envvars' => [],
|
||||
'ssl' => '0',
|
||||
'ssl_cert' => '',
|
||||
'ssl_key' => '',
|
||||
},
|
||||
})
|
||||
|
||||
if ! defined(File[$puphpet::params::nginx_default_conf_location]) {
|
||||
file { $puphpet::params::nginx_default_conf_location:
|
||||
ensure => absent,
|
||||
require => Package['nginx'],
|
||||
notify => Class['nginx::service'],
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$nginx_vhosts = $nginx_values['vhosts']
|
||||
}
|
||||
|
||||
if count($nginx_vhosts) > 0 {
|
||||
each( $nginx_vhosts ) |$key, $vhost| {
|
||||
exec { "exec mkdir -p ${vhost['www_root']} @ key ${key}":
|
||||
command => "mkdir -p ${vhost['www_root']}",
|
||||
creates => $vhost['www_root'],
|
||||
@ -698,7 +706,7 @@ if hash_key_equals($nginx_values, 'install', 1) {
|
||||
}
|
||||
}
|
||||
|
||||
create_resources(nginx_vhost, $nginx_values['vhosts'])
|
||||
create_resources(nginx_vhost, $nginx_vhosts)
|
||||
}
|
||||
|
||||
if ! defined(Firewall['100 tcp/443']) {
|
||||
@ -746,41 +754,12 @@ define nginx_vhost (
|
||||
$fastcgi_param_parts = []
|
||||
}
|
||||
|
||||
if $ssl == 0 or $ssl == false or $ssl == '' {
|
||||
$ssl_set = false
|
||||
} else {
|
||||
$ssl_set = true
|
||||
}
|
||||
|
||||
if $ssl_cert == 0 or $ssl_cert == false or $ssl_cert == '' {
|
||||
$ssl_cert_set = $puphpet::params::ssl_cert_location
|
||||
} else {
|
||||
$ssl_cert_set = $ssl_cert
|
||||
}
|
||||
|
||||
if $ssl_key == 0 or $ssl_key == false or $ssl_key == '' {
|
||||
$ssl_key_set = $puphpet::params::ssl_key_location
|
||||
} else {
|
||||
$ssl_key_set = $ssl_key
|
||||
}
|
||||
|
||||
if $ssl_port == 0 or $ssl_port == false or $ssl_port == '' {
|
||||
$ssl_port_set = '443'
|
||||
} else {
|
||||
$ssl_port_set = $ssl_port
|
||||
}
|
||||
|
||||
if $rewrite_to_https == 0 or $rewrite_to_https == false or $rewrite_to_https == '' {
|
||||
$rewrite_to_https_set = false
|
||||
} else {
|
||||
$rewrite_to_https_set = true
|
||||
}
|
||||
|
||||
if $spdy == off or $spdy == 0 or $spdy == false or $spdy == '' {
|
||||
$spdy_set = off
|
||||
} else {
|
||||
$spdy_set = on
|
||||
}
|
||||
$ssl_set = value_true($ssl) ? { true => true, default => false, }
|
||||
$ssl_cert_set = value_true($ssl_cert) ? { true => $ssl_cert, default => $puphpet::params::ssl_cert_location, }
|
||||
$ssl_key_set = value_true($ssl_key) ? { true => $ssl_key, default => $puphpet::params::ssl_key_location, }
|
||||
$ssl_port_set = value_true($ssl_port) ? { true => $ssl_port, default => '443', }
|
||||
$rewrite_to_https_set = value_true($rewrite_to_https) ? { true => true, default => false, }
|
||||
$spdy_set = value_true($spdy) ? { true => on, default => off, }
|
||||
|
||||
nginx::resource::vhost { $server_name:
|
||||
server_name => $merged_server_name,
|
||||
@ -801,6 +780,19 @@ define nginx_vhost (
|
||||
|
||||
$fastcgi_param = concat($fastcgi_param_parts, $envvars)
|
||||
|
||||
$fastcgi_pass_hash = fastcgi_pass ? {
|
||||
null => {},
|
||||
'' => {},
|
||||
default => {'fastcgi_pass' => $fastcgi_pass},
|
||||
}
|
||||
|
||||
$location_cfg_append = merge({
|
||||
'fastcgi_split_path_info' => '^(.+\.php)(/.+)$',
|
||||
'fastcgi_param' => $fastcgi_param,
|
||||
'fastcgi_index' => 'index.php',
|
||||
'include' => 'fastcgi_params'
|
||||
}, $fastcgi_pass_hash)
|
||||
|
||||
nginx::resource::location { "${server_name}-php":
|
||||
ensure => present,
|
||||
vhost => $server_name,
|
||||
@ -809,20 +801,17 @@ define nginx_vhost (
|
||||
try_files => ['$uri', '$uri/', "/${try_files}?\$args"],
|
||||
ssl => $ssl_set,
|
||||
www_root => $www_root,
|
||||
location_cfg_append => {
|
||||
'fastcgi_split_path_info' => '^(.+\.php)(/.+)$',
|
||||
'fastcgi_param' => $fastcgi_param,
|
||||
'fastcgi_pass' => $fastcgi_pass,
|
||||
'fastcgi_index' => 'index.php',
|
||||
'include' => 'fastcgi_params'
|
||||
},
|
||||
location_cfg_append => $location_cfg_append,
|
||||
notify => Class['nginx::service'],
|
||||
}
|
||||
}
|
||||
|
||||
define set_php5_fpm_sock_group_and_user (){
|
||||
define set_nginx_php5_fpm_sock_group_and_user () {
|
||||
exec { 'set php5_fpm_sock group and user':
|
||||
command => "chmod 660 ${php5_fpm_sock} && chown www-data ${php5_fpm_sock} && chgrp www-data ${php5_fpm_sock} && touch /.puphpet-stuff/php5_fpm_sock",
|
||||
command => "chmod 660 ${php5_fpm_sock} && \
|
||||
chown www-data ${php5_fpm_sock} && \
|
||||
chgrp www-data ${php5_fpm_sock} && \
|
||||
touch /.puphpet-stuff/php5_fpm_sock",
|
||||
creates => '/.puphpet-stuff/php5_fpm_sock',
|
||||
}
|
||||
}
|
||||
@ -1001,7 +990,7 @@ if hash_key_equals($php_values, 'install', 1) {
|
||||
{
|
||||
puphpet::ini { 'sendmail_path':
|
||||
entry => 'CUSTOM/sendmail_path',
|
||||
value => '/usr/bin/env catchmail',
|
||||
value => "${mailcatcher_values['settings']['mailcatcher_path']}/catchmail -f",
|
||||
php_version => $php_values['version'],
|
||||
webserver => $php_webserver_service_ini
|
||||
}
|
||||
@ -1727,6 +1716,11 @@ if hash_key_equals($apache_values, 'install', 1)
|
||||
}
|
||||
|
||||
if hash_key_equals($rabbitmq_values, 'install', 1) {
|
||||
if $::osfamily == 'redhat' {
|
||||
Class['erlang'] -> Class['rabbitmq']
|
||||
include 'erlang'
|
||||
}
|
||||
|
||||
create_resources('class', { 'rabbitmq' => $rabbitmq_values['settings'] })
|
||||
|
||||
if hash_key_equals($php_values, 'install', 1) and ! defined(Php::Pecl::Module['amqp']) {
|
||||
|
||||
15
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/Gemfile
vendored
Normal file
15
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/Gemfile
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
source 'https://rubygems.org'
|
||||
|
||||
group :development, :test do
|
||||
gem 'rake', :require => false
|
||||
gem 'rspec-puppet', :require => false
|
||||
gem 'puppetlabs_spec_helper', :require => false
|
||||
gem 'puppet-lint', :require => false
|
||||
gem 'rspec-system-puppet', '~>2.0.0'
|
||||
end
|
||||
|
||||
if puppetversion = ENV['PUPPET_GEM_VERSION']
|
||||
gem 'puppet', puppetversion, :require => false
|
||||
else
|
||||
gem 'puppet', :require => false
|
||||
end
|
||||
13
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/LICENSE
vendored
Normal file
13
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/LICENSE
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
Copyright 2012-2014 Michael Stahnke
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
8
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/Modulefile
vendored
Normal file
8
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/Modulefile
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
name 'stahnma-epel'
|
||||
version '0.1.0'
|
||||
source 'http://github.com/stahnma/puppet-module-epel'
|
||||
author 'stahnma'
|
||||
license 'Apache License, Version 2.0'
|
||||
summary 'Setup the EPEL package repo'
|
||||
description 'Setup the EPEL package repo on Centos/RHEL et all'
|
||||
project_page 'http://github.com/stahnma/puppet-module-epel'
|
||||
90
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/README.md
vendored
Normal file
90
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/README.md
vendored
Normal file
@ -0,0 +1,90 @@
|
||||
# Configure EPEL (Extra Repository for Enterprise Linux)
|
||||
|
||||
# About
|
||||
This module basically just mimics the epel-release rpm. The same repos are
|
||||
enabled/disabled and the GPG key is imported. In the end you will end up with
|
||||
the EPEL repos configured.
|
||||
|
||||
The following Repos will be setup and enabled by default:
|
||||
|
||||
* epel
|
||||
|
||||
Other repositories that will setup but disabled (as per the epel-release setup)
|
||||
|
||||
* epel-debuginfo
|
||||
* epel-source
|
||||
* epel-testing
|
||||
* epel-testing-debuginfo
|
||||
* epel-testing-source
|
||||
|
||||
# Proxy
|
||||
If you have an http proxy required to access the internet, you can use either
|
||||
a class parameter in the _epel_ class, or edit the $proxy variable in the
|
||||
params.pp file. By default no proxy is assumed.
|
||||
|
||||
# Why?
|
||||
I am a big fan of EPEL. I actually was one of the people who helped get it
|
||||
going. I am also the owner of the epel-release package, so in general this
|
||||
module should stay fairly up to date with the official upstream package.
|
||||
|
||||
I just got sick of coding Puppet modules and basically having an assumption
|
||||
that EPEL was setup or installed. I can now depend on this module instead.
|
||||
|
||||
I realize it is fairly trivial to get EPEL setup. Every now-and-then however
|
||||
the path to epel-release changes because something changes in the package (mass
|
||||
rebuild, rpm build macros updates, etc). This module will bypass the changing
|
||||
URL and just setup the package mirrors.
|
||||
|
||||
This does mean that if you are looking for RPM macros that are normally
|
||||
included with EPEL release, this will not have them.
|
||||
|
||||
# Futher Information
|
||||
|
||||
* [EPEL Wiki](http://fedoraproject.org/wiki/EPEL)
|
||||
* [epel-release package information](http://mirrors.servercentral.net/fedora/epel/6/i386/repoview/epel-release.html)
|
||||
|
||||
# Testing
|
||||
|
||||
* This is commonly used on Puppet Enterprise 3.x
|
||||
* This was tested using Puppet 3.3.0 on Centos5/6
|
||||
* This was tested using Puppet 3.1.1 on Amazon's AWS Linux
|
||||
* I assume it will work on any RHEL variant (Amazon Linux is debatable as a variant)
|
||||
|
||||
# Lifecycle
|
||||
* No functionality has been introduced that should break Puppet 2.6 or 2.7, but I am no longer testing these versions of Puppet as they are end-of-lifed from Puppet Labs.
|
||||
|
||||
## Unit tests
|
||||
|
||||
Install the necessary gems
|
||||
|
||||
bundle install
|
||||
|
||||
Run the RSpec and puppet-lint tests
|
||||
|
||||
bundle exec rake ci
|
||||
|
||||
## System tests
|
||||
|
||||
If you have Vagrant >=1.1.0 you can also run system tests:
|
||||
|
||||
RSPEC_SET=centos-64-x64 bundle exec rake spec:system
|
||||
|
||||
Available RSPEC_SET options are in .nodeset.yml
|
||||
|
||||
# License
|
||||
Apache Software License 2.0
|
||||
|
||||
# Author/Contributors
|
||||
* Chad Metcalf <metcalfc@gmail.com>
|
||||
* Joseph Swick <joseph.swick@meltwater.com>
|
||||
* Matthaus Owens <mlitteken@gmail.com>
|
||||
* Michael Stahnke <stahnma@puppetlabs.com>
|
||||
* Michael Stahnke <stahnma@websages.com>
|
||||
* Pro Cabales <proletaryo@gmail.com>
|
||||
* Proletaryo Cabales <proletaryo@gmail.com>
|
||||
* Stefan Goethals <stefan@zipkid.eu>
|
||||
* Tim Rupp <caphrim007@gmail.com>
|
||||
* Trey Dockendorf <treydock@gmail.com>
|
||||
* Troy Bollinger <troy@us.ibm.com>
|
||||
* Vlastimil Holer <holer@ics.muni.cz>
|
||||
* Ewoud Kohl van Wijngaarden <e.kohlvanwijngaarden@oxilion.nl>
|
||||
17
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/Rakefile
vendored
Normal file
17
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/Rakefile
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
require 'puppetlabs_spec_helper/rake_tasks'
|
||||
require 'puppet-lint/tasks/puppet-lint'
|
||||
require 'rspec-system/rake_task'
|
||||
|
||||
task :default do
|
||||
sh %{rake -T}
|
||||
end
|
||||
|
||||
# Disable specific puppet-lint checks
|
||||
PuppetLint.configuration.send("disable_80chars")
|
||||
PuppetLint.configuration.send("disable_class_inherits_from_params_class")
|
||||
|
||||
desc "Run rspec-puppet and puppet-lint tasks"
|
||||
task :ci => [
|
||||
:lint,
|
||||
:spec,
|
||||
]
|
||||
30
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/files/RPM-GPG-KEY-EPEL-5
vendored
Normal file
30
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/files/RPM-GPG-KEY-EPEL-5
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1.2.6 (GNU/Linux)
|
||||
|
||||
mQGiBEXopTIRBACZDBMOoFOakAjaxw1LXjeSvh/kmE35fU1rXfM7T0AV31NATCLF
|
||||
l5CQiNDA4oWreDThg2Bf6+LIVTsGQb1V+XXuLak4Em5yTYwMTVB//4/nMxQEbpl/
|
||||
QB2XwlJ7EQ0vW+kiPDz/7pHJz1p1jADzd9sQQicMtzysS4qT2i5A23j0VwCg1PB/
|
||||
lpYqo0ZhWTrevxKMa1n34FcD/REavj0hSLQFTaKNLHRotRTF8V0BajjSaTkUT4uk
|
||||
/RTaZ8Kr1mTosVtosqmdIAA2XHxi8ZLiVPPSezJjfElsSqOAxEKPL0djfpp2wrTm
|
||||
l/1iVnX+PZH5DRKCbjdCMLDJhYap7YUhcPsMGSeUKrwmBCBJUPc6DhjFvyhA9IMl
|
||||
1T0+A/9SKTv94ToP/JYoCTHTgnG5MoVNafisfe0wojP2mWU4gRk8X4dNGKMj6lic
|
||||
vM6gne3hESyjcqZSmr7yELPPGhI9MNauJ6Ob8cTR2T12Fmv9w03DD3MnBstR6vhP
|
||||
QcqZKhc5SJYYY7oVfxlSOfF4xfwcHQKoD5TOKwIAQ6T8jyFpKbQkRmVkb3JhIEVQ
|
||||
RUwgPGVwZWxAZmVkb3JhcHJvamVjdC5vcmc+iGQEExECACQFAkXopTICGwMFCRLM
|
||||
AwAGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQEZzANiF1IfabmQCgzvE60MnHSOBa
|
||||
ZXXF7uU2Vzu8EOkAoKg9h+j0NuNom6WUYZyJQt4zc5seuQINBEXopTYQCADapnR/
|
||||
blrJ8FhlgNPl0X9S3JE/kygPbNXIqne4XBVYisVp0uzNCRUxNZq30MpY027JCs2J
|
||||
nL2fMpwvx33f0phU029vrIZKA3CmnnwVsjcWfMJOVPBmVN7m5bGU68F+PdRIcDsl
|
||||
PMOWRLkTBZOGolLgIbM4719fqA8etewILrX6uPvRDwywV7/sPCFpRcfNNBUY+Zx3
|
||||
5bf4fnkaCKxgXgQS3AT+hGYhlzIqQVTkGNveHTnt4SSzgAqR9sSwQwqvEfVtYNeS
|
||||
w5rDguLG41HQm1Hojv59HNYjH6F/S1rClZi21bLgZbKpCFX76qPt8CTw+iQLBPPd
|
||||
yoOGHfzyp7nsfhUrAAMFB/9/H9Gpk822ZpBexQW4y3LGFo9ZSnmu+ueOZPU3SqDA
|
||||
DW1ovZdYzGuJTGGM9oMl6bL8eZrcUBBOFaWge5wZczIE3hx2exEOkDdvq+MUDVD1
|
||||
axmN45q/7h1NYRp5GQL2ZsoV4g9U2gMdzHOFtZCER6PP9ErVlfJpgBUCdSL93V4H
|
||||
Sgpkk7znmTOklbCM6l/G/A6q4sCRqfzHwVSTiruyTBiU9lfROsAl8fjIq2OzWJ2T
|
||||
P9sadBe1llUYaow7txYSUxssW+89avct35gIyrBbof5M+CBXyAOUaSWmpM2eub24
|
||||
0qbqiSr/Y6Om0t6vSzR8gRk7g+1H6IE0Tt1IJCvCAMimiE8EGBECAA8FAkXopTYC
|
||||
GwwFCRLMAwAACgkQEZzANiF1IfZQYgCgiZHCv4xb+sTHCn/otc1Ovvi/OgMAnRXY
|
||||
bbsLFWOfmzAnNIGvFRWy+YHi
|
||||
=MMNL
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
29
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/files/RPM-GPG-KEY-EPEL-6
vendored
Normal file
29
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/files/RPM-GPG-KEY-EPEL-6
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1.4.5 (GNU/Linux)
|
||||
|
||||
mQINBEvSKUIBEADLGnUj24ZVKW7liFN/JA5CgtzlNnKs7sBg7fVbNWryiE3URbn1
|
||||
JXvrdwHtkKyY96/ifZ1Ld3lE2gOF61bGZ2CWwJNee76Sp9Z+isP8RQXbG5jwj/4B
|
||||
M9HK7phktqFVJ8VbY2jfTjcfxRvGM8YBwXF8hx0CDZURAjvf1xRSQJ7iAo58qcHn
|
||||
XtxOAvQmAbR9z6Q/h/D+Y/PhoIJp1OV4VNHCbCs9M7HUVBpgC53PDcTUQuwcgeY6
|
||||
pQgo9eT1eLNSZVrJ5Bctivl1UcD6P6CIGkkeT2gNhqindRPngUXGXW7Qzoefe+fV
|
||||
QqJSm7Tq2q9oqVZ46J964waCRItRySpuW5dxZO34WM6wsw2BP2MlACbH4l3luqtp
|
||||
Xo3Bvfnk+HAFH3HcMuwdaulxv7zYKXCfNoSfgrpEfo2Ex4Im/I3WdtwME/Gbnwdq
|
||||
3VJzgAxLVFhczDHwNkjmIdPAlNJ9/ixRjip4dgZtW8VcBCrNoL+LhDrIfjvnLdRu
|
||||
vBHy9P3sCF7FZycaHlMWP6RiLtHnEMGcbZ8QpQHi2dReU1wyr9QgguGU+jqSXYar
|
||||
1yEcsdRGasppNIZ8+Qawbm/a4doT10TEtPArhSoHlwbvqTDYjtfV92lC/2iwgO6g
|
||||
YgG9XrO4V8dV39Ffm7oLFfvTbg5mv4Q/E6AWo/gkjmtxkculbyAvjFtYAQARAQAB
|
||||
tCFFUEVMICg2KSA8ZXBlbEBmZWRvcmFwcm9qZWN0Lm9yZz6JAjYEEwECACAFAkvS
|
||||
KUICGw8GCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRA7Sd8qBgi4lR/GD/wLGPv9
|
||||
qO39eyb9NlrwfKdUEo1tHxKdrhNz+XYrO4yVDTBZRPSuvL2yaoeSIhQOKhNPfEgT
|
||||
9mdsbsgcfmoHxmGVcn+lbheWsSvcgrXuz0gLt8TGGKGGROAoLXpuUsb1HNtKEOwP
|
||||
Q4z1uQ2nOz5hLRyDOV0I2LwYV8BjGIjBKUMFEUxFTsL7XOZkrAg/WbTH2PW3hrfS
|
||||
WtcRA7EYonI3B80d39ffws7SmyKbS5PmZjqOPuTvV2F0tMhKIhncBwoojWZPExft
|
||||
HpKhzKVh8fdDO/3P1y1Fk3Cin8UbCO9MWMFNR27fVzCANlEPljsHA+3Ez4F7uboF
|
||||
p0OOEov4Yyi4BEbgqZnthTG4ub9nyiupIZ3ckPHr3nVcDUGcL6lQD/nkmNVIeLYP
|
||||
x1uHPOSlWfuojAYgzRH6LL7Idg4FHHBA0to7FW8dQXFIOyNiJFAOT2j8P5+tVdq8
|
||||
wB0PDSH8yRpn4HdJ9RYquau4OkjluxOWf0uRaS//SUcCZh+1/KBEOmcvBHYRZA5J
|
||||
l/nakCgxGb2paQOzqqpOcHKvlyLuzO5uybMXaipLExTGJXBlXrbbASfXa/yGYSAG
|
||||
iVrGz9CE6676dMlm8F+s3XXE13QZrXmjloc6jwOljnfAkjTGXjiB7OULESed96MR
|
||||
XtfLk0W5Ab9pd7tKDR6QHI7rgHXfCopRnZ2VVQ==
|
||||
=V/6I
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
29
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/files/RPM-GPG-KEY-EPEL-7
vendored
Normal file
29
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/files/RPM-GPG-KEY-EPEL-7
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1.4.11 (GNU/Linux)
|
||||
|
||||
mQINBFKuaIQBEAC1UphXwMqCAarPUH/ZsOFslabeTVO2pDk5YnO96f+rgZB7xArB
|
||||
OSeQk7B90iqSJ85/c72OAn4OXYvT63gfCeXpJs5M7emXkPsNQWWSju99lW+AqSNm
|
||||
jYWhmRlLRGl0OO7gIwj776dIXvcMNFlzSPj00N2xAqjMbjlnV2n2abAE5gq6VpqP
|
||||
vFXVyfrVa/ualogDVmf6h2t4Rdpifq8qTHsHFU3xpCz+T6/dGWKGQ42ZQfTaLnDM
|
||||
jToAsmY0AyevkIbX6iZVtzGvanYpPcWW4X0RDPcpqfFNZk643xI4lsZ+Y2Er9Yu5
|
||||
S/8x0ly+tmmIokaE0wwbdUu740YTZjCesroYWiRg5zuQ2xfKxJoV5E+Eh+tYwGDJ
|
||||
n6HfWhRgnudRRwvuJ45ztYVtKulKw8QQpd2STWrcQQDJaRWmnMooX/PATTjCBExB
|
||||
9dkz38Druvk7IkHMtsIqlkAOQMdsX1d3Tov6BE2XDjIG0zFxLduJGbVwc/6rIc95
|
||||
T055j36Ez0HrjxdpTGOOHxRqMK5m9flFbaxxtDnS7w77WqzW7HjFrD0VeTx2vnjj
|
||||
GqchHEQpfDpFOzb8LTFhgYidyRNUflQY35WLOzLNV+pV3eQ3Jg11UFwelSNLqfQf
|
||||
uFRGc+zcwkNjHh5yPvm9odR1BIfqJ6sKGPGbtPNXo7ERMRypWyRz0zi0twARAQAB
|
||||
tChGZWRvcmEgRVBFTCAoNykgPGVwZWxAZmVkb3JhcHJvamVjdC5vcmc+iQI4BBMB
|
||||
AgAiBQJSrmiEAhsPBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBqL66iNSxk
|
||||
5cfGD/4spqpsTjtDM7qpytKLHKruZtvuWiqt5RfvT9ww9GUUFMZ4ZZGX4nUXg49q
|
||||
ixDLayWR8ddG/s5kyOi3C0uX/6inzaYyRg+Bh70brqKUK14F1BrrPi29eaKfG+Gu
|
||||
MFtXdBG2a7OtPmw3yuKmq9Epv6B0mP6E5KSdvSRSqJWtGcA6wRS/wDzXJENHp5re
|
||||
9Ism3CYydpy0GLRA5wo4fPB5uLdUhLEUDvh2KK//fMjja3o0L+SNz8N0aDZyn5Ax
|
||||
CU9RB3EHcTecFgoy5umRj99BZrebR1NO+4gBrivIfdvD4fJNfNBHXwhSH9ACGCNv
|
||||
HnXVjHQF9iHWApKkRIeh8Fr2n5dtfJEF7SEX8GbX7FbsWo29kXMrVgNqHNyDnfAB
|
||||
VoPubgQdtJZJkVZAkaHrMu8AytwT62Q4eNqmJI1aWbZQNI5jWYqc6RKuCK6/F99q
|
||||
thFT9gJO17+yRuL6Uv2/vgzVR1RGdwVLKwlUjGPAjYflpCQwWMAASxiv9uPyYPHc
|
||||
ErSrbRG0wjIfAR3vus1OSOx3xZHZpXFfmQTsDP7zVROLzV98R3JwFAxJ4/xqeON4
|
||||
vCPFU6OsT3lWQ8w7il5ohY95wmujfr6lk89kEzJdOTzcn7DBbUru33CQMGKZ3Evt
|
||||
RjsC7FDbL017qxS+ZVA/HGkyfiu4cpgV8VUnbql5eAZ+1Ll6Dw==
|
||||
=hdPa
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
11
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/lib/facter/os_maj_version.rb
vendored
Normal file
11
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/lib/facter/os_maj_version.rb
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
# This is a simple fact to get the Major version of an OS without having to
|
||||
# have the entire LSB suite installed. LSB seems to pull in about 300 megs of
|
||||
# stuff I often don't require. This fact is quick to load so it shouldn't be
|
||||
# much of an issue.
|
||||
|
||||
Facter.add(:os_maj_version) do
|
||||
setcode do
|
||||
v = Facter.value(:operatingsystemrelease)
|
||||
v.split('.')[0].strip
|
||||
end
|
||||
end
|
||||
135
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/manifests/init.pp
vendored
Normal file
135
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/manifests/init.pp
vendored
Normal file
@ -0,0 +1,135 @@
|
||||
# Class epel
|
||||
#
|
||||
# Actions:
|
||||
# Configure the proper repositories and import GPG keys
|
||||
#
|
||||
# Reqiures:
|
||||
# You should probably be on an Enterprise Linux variant. (Centos, RHEL,
|
||||
# Scientific, Oracle, Ascendos, et al)
|
||||
#
|
||||
# Sample Usage:
|
||||
# include epel
|
||||
#
|
||||
class epel (
|
||||
$epel_mirrorlist = $epel::params::epel_mirrorlist,
|
||||
$epel_baseurl = $epel::params::epel_baseurl,
|
||||
$epel_failovermethod = $epel::params::epel_failovermethod,
|
||||
$epel_proxy = $epel::params::epel_proxy,
|
||||
$epel_enabled = $epel::params::epel_enabled,
|
||||
$epel_gpgcheck = $epel::params::epel_gpgcheck,
|
||||
$epel_testing_baseurl = $epel::params::epel_testing_baseurl,
|
||||
$epel_testing_failovermethod = $epel::params::epel_testing_failovermethod,
|
||||
$epel_testing_proxy = $epel::params::epel_testing_proxy,
|
||||
$epel_testing_enabled = $epel::params::epel_testing_enabled,
|
||||
$epel_testing_gpgcheck = $epel::params::epel_testing_gpgcheck,
|
||||
$epel_source_mirrorlist = $epel::params::epel_source_mirrorlist,
|
||||
$epel_source_baseurl = $epel::params::epel_source_baseurl,
|
||||
$epel_source_failovermethod = $epel::params::epel_source_failovermethod,
|
||||
$epel_source_proxy = $epel::params::epel_source_proxy,
|
||||
$epel_source_enabled = $epel::params::epel_source_enabled,
|
||||
$epel_source_gpgcheck = $epel::params::epel_source_gpgcheck,
|
||||
$epel_debuginfo_mirrorlist = $epel::params::epel_debuginfo_mirrorlist,
|
||||
$epel_debuginfo_baseurl = $epel::params::epel_debuginfo_baseurl,
|
||||
$epel_debuginfo_failovermethod = $epel::params::epel_debuginfo_failovermethod,
|
||||
$epel_debuginfo_proxy = $epel::params::epel_debuginfo_proxy,
|
||||
$epel_debuginfo_enabled = $epel::params::epel_debuginfo_enabled,
|
||||
$epel_debuginfo_gpgcheck = $epel::params::epel_debuginfo_gpgcheck,
|
||||
$epel_testing_source_baseurl = $epel::params::epel_testing_source_baseurl,
|
||||
$epel_testing_source_failovermethod = $epel::params::epel_testing_source_failovermethod,
|
||||
$epel_testing_source_proxy = $epel::params::epel_testing_source_proxy,
|
||||
$epel_testing_source_enabled = $epel::params::epel_testing_source_enabled,
|
||||
$epel_testing_source_gpgcheck = $epel::params::epel_testing_source_gpgcheck,
|
||||
$epel_testing_debuginfo_baseurl = $epel::params::epel_testing_debuginfo_baseurl,
|
||||
$epel_testing_debuginfo_failovermethod = $epel::params::epel_testing_debuginfo_failovermethod,
|
||||
$epel_testing_debuginfo_proxy = $epel::params::epel_testing_debuginfo_proxy,
|
||||
$epel_testing_debuginfo_enabled = $epel::params::epel_testing_debuginfo_enabled,
|
||||
$epel_testing_debuginfo_gpgcheck = $epel::params::epel_testing_debuginfo_gpgcheck
|
||||
) inherits epel::params {
|
||||
|
||||
if $::osfamily == 'RedHat' and $::operatingsystem !~ /Fedora|Amazon/ {
|
||||
yumrepo { 'epel-testing':
|
||||
baseurl => $epel_testing_baseurl,
|
||||
failovermethod => $epel_testing_failovermethod,
|
||||
proxy => $epel_testing_proxy,
|
||||
enabled => $epel_testing_enabled,
|
||||
gpgcheck => $epel_testing_gpgcheck,
|
||||
gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${::os_maj_version}",
|
||||
descr => "Extra Packages for Enterprise Linux ${::os_maj_version} - Testing - \$basearch ",
|
||||
}
|
||||
|
||||
yumrepo { 'epel-testing-debuginfo':
|
||||
baseurl => $epel_testing_debuginfo_baseurl,
|
||||
failovermethod => $epel_testing_debuginfo_failovermethod,
|
||||
proxy => $epel_testing_debuginfo_proxy,
|
||||
enabled => $epel_testing_debuginfo_enabled,
|
||||
gpgcheck => $epel_testing_debuginfo_gpgcheck,
|
||||
gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${::os_maj_version}",
|
||||
descr => "Extra Packages for Enterprise Linux ${::os_maj_version} - Testing - \$basearch - Debug",
|
||||
}
|
||||
|
||||
yumrepo { 'epel-testing-source':
|
||||
baseurl => $epel_testing_source_baseurl,
|
||||
failovermethod => $epel_testing_source_failovermethod,
|
||||
proxy => $epel_testing_source_proxy,
|
||||
enabled => $epel_testing_source_enabled,
|
||||
gpgcheck => $epel_testing_source_gpgcheck,
|
||||
gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${::os_maj_version}",
|
||||
descr => "Extra Packages for Enterprise Linux ${::os_maj_version} - Testing - \$basearch - Source",
|
||||
}
|
||||
|
||||
yumrepo { 'epel':
|
||||
mirrorlist => $epel_mirrorlist,
|
||||
baseurl => $epel_baseurl,
|
||||
failovermethod => $epel_failovermethod,
|
||||
proxy => $epel_proxy,
|
||||
enabled => $epel_enabled,
|
||||
gpgcheck => $epel_gpgcheck,
|
||||
gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${::os_maj_version}",
|
||||
descr => "Extra Packages for Enterprise Linux ${::os_maj_version} - \$basearch",
|
||||
}
|
||||
|
||||
yumrepo { 'epel-debuginfo':
|
||||
mirrorlist => $epel_debuginfo_mirrorlist,
|
||||
baseurl => $epel_debuginfo_baseurl,
|
||||
failovermethod => $epel_debuginfo_failovermethod,
|
||||
proxy => $epel_debuginfo_proxy,
|
||||
enabled => $epel_debuginfo_enabled,
|
||||
gpgcheck => $epel_debuginfo_gpgcheck,
|
||||
gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${::os_maj_version}",
|
||||
descr => "Extra Packages for Enterprise Linux ${::os_maj_version} - \$basearch - Debug",
|
||||
}
|
||||
|
||||
yumrepo { 'epel-source':
|
||||
mirrorlist => $epel_source_mirrorlist,
|
||||
baseurl => $epel_source_baseurl,
|
||||
failovermethod => $epel_source_failovermethod,
|
||||
proxy => $epel_source_proxy,
|
||||
enabled => $epel_source_enabled,
|
||||
gpgcheck => $epel_source_gpgcheck,
|
||||
gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${::os_maj_version}",
|
||||
descr => "Extra Packages for Enterprise Linux ${::os_maj_version} - \$basearch - Source",
|
||||
}
|
||||
|
||||
file { "/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${::os_maj_version}":
|
||||
ensure => present,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => "puppet:///modules/epel/RPM-GPG-KEY-EPEL-${::os_maj_version}",
|
||||
}
|
||||
|
||||
epel::rpm_gpg_key{ "EPEL-${::os_maj_version}":
|
||||
path => "/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${::os_maj_version}",
|
||||
before => Yumrepo['epel','epel-source','epel-debuginfo','epel-testing','epel-testing-source','epel-testing-debuginfo'],
|
||||
}
|
||||
|
||||
} elsif $::osfamily == 'RedHat' and $::operatingsystem == 'Amazon' {
|
||||
yumrepo { 'epel':
|
||||
enabled => $epel_enabled,
|
||||
gpgcheck => $epel_gpgcheck,
|
||||
}
|
||||
} else {
|
||||
notice ("Your operating system ${::operatingsystem} will not have the EPEL repository applied")
|
||||
}
|
||||
|
||||
}
|
||||
45
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/manifests/params.pp
vendored
Normal file
45
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/manifests/params.pp
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
# Optional parameters in setting up EPEL
|
||||
class epel::params {
|
||||
# Setting to 'absent' will fall back to the yum.conf
|
||||
# Setting proxy here will be the default for all repos.
|
||||
#
|
||||
# If you wish to set a proxy for an individual set of repos,
|
||||
# you can declare $proxy in that class, and should scope to
|
||||
# the most specific declaration of proxy.
|
||||
$proxy = 'absent'
|
||||
|
||||
$epel_mirrorlist = "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-${::os_maj_version}&arch=\$basearch"
|
||||
$epel_baseurl = 'absent'
|
||||
$epel_failovermethod = 'priority'
|
||||
$epel_proxy = $proxy
|
||||
$epel_enabled = '1'
|
||||
$epel_gpgcheck = '1'
|
||||
$epel_testing_baseurl = "http://download.fedoraproject.org/pub/epel/testing/${::os_maj_version}/\$basearch"
|
||||
$epel_testing_failovermethod = 'priority'
|
||||
$epel_testing_proxy = $proxy
|
||||
$epel_testing_enabled = '0'
|
||||
$epel_testing_gpgcheck = '1'
|
||||
$epel_source_mirrorlist = "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-source-${::os_maj_version}&arch=\$basearch"
|
||||
$epel_source_baseurl = 'absent'
|
||||
$epel_source_failovermethod = 'priority'
|
||||
$epel_source_proxy = $proxy
|
||||
$epel_source_enabled = '0'
|
||||
$epel_source_gpgcheck = '1'
|
||||
$epel_debuginfo_mirrorlist = "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-debug-${::os_maj_version}&arch=\$basearch"
|
||||
$epel_debuginfo_baseurl = 'absent'
|
||||
$epel_debuginfo_failovermethod = 'priority'
|
||||
$epel_debuginfo_proxy = $proxy
|
||||
$epel_debuginfo_enabled = '0'
|
||||
$epel_debuginfo_gpgcheck = '1'
|
||||
$epel_testing_source_baseurl = "http://download.fedoraproject.org/pub/epel/testing/${::os_maj_version}/SRPMS"
|
||||
$epel_testing_source_failovermethod = 'priority'
|
||||
$epel_testing_source_proxy = $proxy
|
||||
$epel_testing_source_enabled = '0'
|
||||
$epel_testing_source_gpgcheck = '1'
|
||||
$epel_testing_debuginfo_baseurl = "http://download.fedoraproject.org/pub/epel/testing/${::os_maj_version}/\$basearch/debug"
|
||||
$epel_testing_debuginfo_failovermethod = 'priority'
|
||||
$epel_testing_debuginfo_proxy = $proxy
|
||||
$epel_testing_debuginfo_enabled = '0'
|
||||
$epel_testing_debuginfo_gpgcheck = '1'
|
||||
|
||||
}
|
||||
28
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/manifests/rpm_gpg_key.pp
vendored
Normal file
28
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/manifests/rpm_gpg_key.pp
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
# Define epel::rpm_gpg_key
|
||||
#
|
||||
# Actions:
|
||||
# Import a RPM gpg key
|
||||
#
|
||||
# Parameters:
|
||||
#
|
||||
# [*path*]
|
||||
# Path of the RPM GPG key to import
|
||||
#
|
||||
# Reqiures:
|
||||
# You should probably be on an Enterprise Linux variant. (Centos, RHEL, Scientific, Oracle, Ascendos, et al)
|
||||
#
|
||||
# Sample Usage:
|
||||
# epel::rpm_gpg_key{ "EPEL-6":
|
||||
# path => "/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6"
|
||||
# }
|
||||
#
|
||||
define epel::rpm_gpg_key($path) {
|
||||
# Given the path to a key, see if it is imported, if not, import it
|
||||
exec { "import-${name}":
|
||||
path => '/bin:/usr/bin:/sbin:/usr/sbin',
|
||||
command => "rpm --import ${path}",
|
||||
unless => "rpm -q gpg-pubkey-$(echo $(gpg --throw-keyids < ${path}) | cut --characters=11-18 | tr '[A-Z]' '[a-z]')",
|
||||
require => File[$path],
|
||||
logoutput => 'on_failure',
|
||||
}
|
||||
}
|
||||
45
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/metadata.json
vendored
Normal file
45
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/metadata.json
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
{
|
||||
"name": "stahnma-epel",
|
||||
"version": "0.1.0",
|
||||
"source": "http://github.com/stahnma/puppet-module-epel",
|
||||
"author": "stahnma",
|
||||
"license": "Apache License, Version 2.0",
|
||||
"summary": "Setup the EPEL package repo",
|
||||
"description": "Setup the EPEL package repo on Centos/RHEL et all",
|
||||
"project_page": "http://github.com/stahnma/puppet-module-epel",
|
||||
"dependencies": [
|
||||
|
||||
],
|
||||
"types": [
|
||||
|
||||
],
|
||||
"checksums": {
|
||||
"Gemfile": "3189476f30a99858b367d955298fe469",
|
||||
"LICENSE": "94f0b1430ad7e59227ccabf8232f81d5",
|
||||
"Modulefile": "250a4370b189d3f2e68ffd359ee02bb5",
|
||||
"README.md": "6b4c4d2e7f0f9c1b6197529fa1120c88",
|
||||
"Rakefile": "946eced163d7f8e0da85bda4baa7fa9c",
|
||||
"files/RPM-GPG-KEY-EPEL-5": "0466c259781def56dafe0a2cdc9de0c5",
|
||||
"files/RPM-GPG-KEY-EPEL-6": "d865e6b948a74cb03bc3401c0b01b785",
|
||||
"files/RPM-GPG-KEY-EPEL-7": "58fa8ae27c89f37b08429f04fd4a88cc",
|
||||
"lib/facter/os_maj_version.rb": "806fb856251b605df379e973c716a41c",
|
||||
"manifests/init.pp": "61856de8db1eb00700e0a9a93aea506f",
|
||||
"manifests/params.pp": "4fb2e283b4ba6e41abd7a914bdd001b8",
|
||||
"manifests/rpm_gpg_key.pp": "69086f12752a14b200e462afaa59a93c",
|
||||
"spec/classes/epel_spec.rb": "7e8e5973fdccb866e91ed00a3fd0af4c",
|
||||
"spec/classes/shared_base.rb": "a6a46eb7225a1814b9343f32190ba75b",
|
||||
"spec/classes/shared_debuginfo.rb": "1bd23934bc1f7d14d2491c7741f10299",
|
||||
"spec/classes/shared_gpgkey.rb": "38a62fe24acfc9cc8d740d242c9f1c85",
|
||||
"spec/classes/shared_source.rb": "6581989ed1ca2edd589ed98ecb08bdfa",
|
||||
"spec/classes/shared_testing.rb": "50e936b9cf241c9849cf551961492532",
|
||||
"spec/classes/shared_testing_debuginfo.rb": "41e8a2215d347246ff241f1b3a819c91",
|
||||
"spec/classes/shared_testing_source.rb": "8cd827b2cb0b08b1633d70784417f946",
|
||||
"spec/defines/rpm_gpg_key_spec.rb": "489fa716eaa2aba013089a6cf552c5a6",
|
||||
"spec/spec_helper.rb": "a5ad64bd67aa3fe2512fa7ba505c8e8b",
|
||||
"spec/spec_helper_system.rb": "d24a7ffdf4b67dbbd3ef5687292f51cf",
|
||||
"spec/system/basic_spec.rb": "bc475b95f390134b31d905590bf8b039",
|
||||
"spec/system/usage_spec.rb": "04506df5627ecbe975acd1fd0407ae40",
|
||||
"spec/unit/facter/os_maj_version_spec.rb": "67ab2730991d4a8430f1115aad46bcea",
|
||||
"tests/init.pp": "7c69b7adf2ba141cb62cfc9e0704d59e"
|
||||
}
|
||||
}
|
||||
80
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/classes/epel_spec.rb
vendored
Normal file
80
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/classes/epel_spec.rb
vendored
Normal file
@ -0,0 +1,80 @@
|
||||
require 'spec_helper'
|
||||
require 'classes/shared_gpgkey'
|
||||
require 'classes/shared_base'
|
||||
require 'classes/shared_source'
|
||||
require 'classes/shared_debuginfo'
|
||||
require 'classes/shared_testing'
|
||||
require 'classes/shared_testing_source'
|
||||
require 'classes/shared_testing_debuginfo'
|
||||
|
||||
describe 'epel' do
|
||||
it { should create_class('epel') }
|
||||
it { should contain_class('epel::params') }
|
||||
|
||||
context "operatingsystem => #{default_facts[:operatingsystem]}" do
|
||||
context 'os_maj_version => 6' do
|
||||
include_context :base_6
|
||||
include_context :gpgkey_6
|
||||
include_context :epel_source_6
|
||||
include_context :epel_debuginfo_6
|
||||
include_context :epel_testing_6
|
||||
include_context :epel_testing_source_6
|
||||
include_context :epel_testing_debuginfo_6
|
||||
|
||||
let :facts do
|
||||
default_facts.merge({
|
||||
:operatingsystemrelease => '6.4',
|
||||
:os_maj_version => '6',
|
||||
})
|
||||
end
|
||||
|
||||
context 'epel_baseurl => http://example.com/epel/6/x86_64' do
|
||||
let(:params) {{ :epel_baseurl => "http://example.com/epel/6/x86_64" }}
|
||||
it { should contain_yumrepo('epel').with('baseurl' => 'http://example.com/epel/6/x86_64') }
|
||||
end
|
||||
|
||||
context 'epel_mirrorlist => absent' do
|
||||
let(:params) {{ :epel_mirrorlist => 'absent' }}
|
||||
it { should contain_yumrepo('epel').with('mirrorlist' => 'absent') }
|
||||
end
|
||||
end
|
||||
|
||||
context 'os_maj_version => 5' do
|
||||
include_context :base_5
|
||||
include_context :gpgkey_5
|
||||
include_context :epel_source_5
|
||||
include_context :epel_debuginfo_5
|
||||
include_context :epel_testing_5
|
||||
include_context :epel_testing_source_5
|
||||
include_context :epel_testing_debuginfo_5
|
||||
|
||||
let :facts do
|
||||
default_facts.merge({
|
||||
:operatingsystemrelease => '5.9',
|
||||
:os_maj_version => '5',
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'operatingsystem => Amazon' do
|
||||
let :facts do
|
||||
default_facts.merge({
|
||||
:operatingsystem => 'Amazon',
|
||||
})
|
||||
end
|
||||
|
||||
it { should_not contain_yumrepo('epel-testing') }
|
||||
it { should_not contain_yumrepo('epel-testing-debuginfo') }
|
||||
it { should_not contain_yumrepo('epel-testing-source') }
|
||||
it { should_not contain_yumrepo('epel-debuginfo') }
|
||||
it { should_not contain_yumrepo('epel-source') }
|
||||
|
||||
it do
|
||||
should contain_yumrepo('epel').with({
|
||||
'enabled' => '1',
|
||||
'gpgcheck' => '1',
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
36
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/classes/shared_base.rb
vendored
Normal file
36
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/classes/shared_base.rb
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
require 'spec_helper'
|
||||
|
||||
shared_context :base do
|
||||
it do
|
||||
should contain_yumrepo('epel').with({
|
||||
'failovermethod' => 'priority',
|
||||
'proxy' => 'absent',
|
||||
'enabled' => '1',
|
||||
'gpgcheck' => '1',
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
shared_context :base_6 do
|
||||
include_context :base
|
||||
|
||||
it do
|
||||
should contain_yumrepo('epel').with({
|
||||
'mirrorlist' => "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch",
|
||||
'gpgkey' => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6",
|
||||
'descr' => "Extra Packages for Enterprise Linux 6 - $basearch",
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
shared_context :base_5 do
|
||||
include_context :base
|
||||
|
||||
it do
|
||||
should contain_yumrepo('epel').with({
|
||||
'mirrorlist' => "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch",
|
||||
'gpgkey' => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-5",
|
||||
'descr' => "Extra Packages for Enterprise Linux 5 - $basearch",
|
||||
})
|
||||
end
|
||||
end
|
||||
36
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/classes/shared_debuginfo.rb
vendored
Normal file
36
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/classes/shared_debuginfo.rb
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
require 'spec_helper'
|
||||
|
||||
shared_context :epel_debuginfo do
|
||||
it do
|
||||
should contain_yumrepo('epel-debuginfo').with({
|
||||
'proxy' => 'absent',
|
||||
'failovermethod' => 'priority',
|
||||
'enabled' => '0',
|
||||
'gpgcheck' => '1',
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
shared_context :epel_debuginfo_6 do
|
||||
include_context :epel_debuginfo
|
||||
|
||||
it do
|
||||
should contain_yumrepo('epel-debuginfo').with({
|
||||
'mirrorlist' => "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-debug-6&arch=$basearch",
|
||||
'gpgkey' => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6",
|
||||
'descr' => "Extra Packages for Enterprise Linux 6 - $basearch - Debug",
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
shared_context :epel_debuginfo_5 do
|
||||
include_context :epel_debuginfo
|
||||
|
||||
it do
|
||||
should contain_yumrepo('epel-debuginfo').with({
|
||||
'mirrorlist' => "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-debug-5&arch=$basearch",
|
||||
'gpgkey' => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-5",
|
||||
'descr' => "Extra Packages for Enterprise Linux 5 - $basearch - Debug",
|
||||
})
|
||||
end
|
||||
end
|
||||
37
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/classes/shared_gpgkey.rb
vendored
Normal file
37
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/classes/shared_gpgkey.rb
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
require 'spec_helper'
|
||||
|
||||
shared_context :gpgkey_6 do
|
||||
it do
|
||||
should contain_file("/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6").with({
|
||||
'ensure' => 'present',
|
||||
'owner' => 'root',
|
||||
'group' => 'root',
|
||||
'mode' => '0644',
|
||||
'source' => "puppet:///modules/epel/RPM-GPG-KEY-EPEL-6",
|
||||
})
|
||||
end
|
||||
|
||||
it do
|
||||
should contain_epel__rpm_gpg_key("EPEL-6").with({
|
||||
'path' => "/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6"
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
shared_context :gpgkey_5 do
|
||||
it do
|
||||
should contain_file("/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-5").with({
|
||||
'ensure' => 'present',
|
||||
'owner' => 'root',
|
||||
'group' => 'root',
|
||||
'mode' => '0644',
|
||||
'source' => "puppet:///modules/epel/RPM-GPG-KEY-EPEL-5",
|
||||
})
|
||||
end
|
||||
|
||||
it do
|
||||
should contain_epel__rpm_gpg_key("EPEL-5").with({
|
||||
'path' => "/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-5"
|
||||
})
|
||||
end
|
||||
end
|
||||
36
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/classes/shared_source.rb
vendored
Normal file
36
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/classes/shared_source.rb
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
require 'spec_helper'
|
||||
|
||||
shared_context :epel_source do
|
||||
it do
|
||||
should contain_yumrepo('epel-source').with({
|
||||
'proxy' => 'absent',
|
||||
'failovermethod' => 'priority',
|
||||
'enabled' => '0',
|
||||
'gpgcheck' => '1',
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
shared_context :epel_source_6 do
|
||||
include_context :epel_source
|
||||
|
||||
it do
|
||||
should contain_yumrepo('epel-source').with({
|
||||
'mirrorlist' => "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-source-6&arch=$basearch",
|
||||
'gpgkey' => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6",
|
||||
'descr' => "Extra Packages for Enterprise Linux 6 - $basearch - Source",
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
shared_context :epel_source_5 do
|
||||
include_context :epel_source
|
||||
|
||||
it do
|
||||
should contain_yumrepo('epel-source').with({
|
||||
'mirrorlist' => "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-source-5&arch=$basearch",
|
||||
'gpgkey' => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-5",
|
||||
'descr' => "Extra Packages for Enterprise Linux 5 - $basearch - Source",
|
||||
})
|
||||
end
|
||||
end
|
||||
36
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/classes/shared_testing.rb
vendored
Normal file
36
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/classes/shared_testing.rb
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
require 'spec_helper'
|
||||
|
||||
shared_context :epel_testing do
|
||||
it do
|
||||
should contain_yumrepo('epel-testing').with({
|
||||
'failovermethod' => 'priority',
|
||||
'proxy' => 'absent',
|
||||
'enabled' => '0',
|
||||
'gpgcheck' => '1',
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
shared_context :epel_testing_6 do
|
||||
include_context :epel_testing
|
||||
|
||||
it do
|
||||
should contain_yumrepo('epel-testing').with({
|
||||
'baseurl' => "http://download.fedoraproject.org/pub/epel/testing/6/$basearch",
|
||||
'gpgkey' => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6",
|
||||
'descr' => "Extra Packages for Enterprise Linux 6 - Testing - $basearch ",
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
shared_context :epel_testing_5 do
|
||||
include_context :epel_testing
|
||||
|
||||
it do
|
||||
should contain_yumrepo('epel-testing').with({
|
||||
'baseurl' => "http://download.fedoraproject.org/pub/epel/testing/5/$basearch",
|
||||
'gpgkey' => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-5",
|
||||
'descr' => "Extra Packages for Enterprise Linux 5 - Testing - $basearch ",
|
||||
})
|
||||
end
|
||||
end
|
||||
36
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/classes/shared_testing_debuginfo.rb
vendored
Normal file
36
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/classes/shared_testing_debuginfo.rb
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
require 'spec_helper'
|
||||
|
||||
shared_context :epel_testing_debuginfo do
|
||||
it do
|
||||
should contain_yumrepo('epel-testing-debuginfo').with({
|
||||
'failovermethod' => 'priority',
|
||||
'proxy' => 'absent',
|
||||
'enabled' => '0',
|
||||
'gpgcheck' => '1',
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
shared_context :epel_testing_debuginfo_6 do
|
||||
include_context :epel_testing_debuginfo
|
||||
|
||||
it do
|
||||
should contain_yumrepo('epel-testing-debuginfo').with({
|
||||
'baseurl' => "http://download.fedoraproject.org/pub/epel/testing/6/$basearch/debug",
|
||||
'gpgkey' => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6",
|
||||
'descr' => "Extra Packages for Enterprise Linux 6 - Testing - $basearch - Debug",
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
shared_context :epel_testing_debuginfo_5 do
|
||||
include_context :epel_testing_debuginfo
|
||||
|
||||
it do
|
||||
should contain_yumrepo('epel-testing-debuginfo').with({
|
||||
'baseurl' => "http://download.fedoraproject.org/pub/epel/testing/5/$basearch/debug",
|
||||
'gpgkey' => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-5",
|
||||
'descr' => "Extra Packages for Enterprise Linux 5 - Testing - $basearch - Debug",
|
||||
})
|
||||
end
|
||||
end
|
||||
36
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/classes/shared_testing_source.rb
vendored
Normal file
36
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/classes/shared_testing_source.rb
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
require 'spec_helper'
|
||||
|
||||
shared_context :epel_testing_source do
|
||||
it do
|
||||
should contain_yumrepo('epel-testing-source').with({
|
||||
'failovermethod' => 'priority',
|
||||
'proxy' => 'absent',
|
||||
'enabled' => '0',
|
||||
'gpgcheck' => '1',
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
shared_context :epel_testing_source_6 do
|
||||
include_context :epel_testing_source
|
||||
|
||||
it do
|
||||
should contain_yumrepo('epel-testing-source').with({
|
||||
'baseurl' => "http://download.fedoraproject.org/pub/epel/testing/6/SRPMS",
|
||||
'gpgkey' => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6",
|
||||
'descr' => "Extra Packages for Enterprise Linux 6 - Testing - $basearch - Source",
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
shared_context :epel_testing_source_5 do
|
||||
include_context :epel_testing_source
|
||||
|
||||
it do
|
||||
should contain_yumrepo('epel-testing-source').with({
|
||||
'baseurl' => "http://download.fedoraproject.org/pub/epel/testing/5/SRPMS",
|
||||
'gpgkey' => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-5",
|
||||
'descr' => "Extra Packages for Enterprise Linux 5 - Testing - $basearch - Source",
|
||||
})
|
||||
end
|
||||
end
|
||||
57
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/defines/rpm_gpg_key_spec.rb
vendored
Normal file
57
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/defines/rpm_gpg_key_spec.rb
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'epel::rpm_gpg_key' do
|
||||
context 'os_maj_version => 6' do
|
||||
let :facts do
|
||||
default_facts.merge({
|
||||
:operatingsystemrelease => '6.4',
|
||||
:os_maj_version => '6',
|
||||
})
|
||||
end
|
||||
|
||||
let :title do
|
||||
'EPEL-6'
|
||||
end
|
||||
|
||||
let :params do
|
||||
{ :path => "/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6" }
|
||||
end
|
||||
|
||||
it do
|
||||
should contain_exec("import-#{title}").with({
|
||||
'path' => '/bin:/usr/bin:/sbin:/usr/sbin',
|
||||
'command' => "rpm --import #{params[:path]}",
|
||||
'unless' => "rpm -q gpg-pubkey-$(echo $(gpg --throw-keyids < #{params[:path]}) | cut --characters=11-18 | tr '[A-Z]' '[a-z]')",
|
||||
'require' => "File[#{params[:path]}]",
|
||||
'logoutput' => 'on_failure',
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
context 'os_maj_version => 5' do
|
||||
let :facts do
|
||||
default_facts.merge({
|
||||
:operatingsystemrelease => '5.9',
|
||||
:os_maj_version => '5',
|
||||
})
|
||||
end
|
||||
|
||||
let :title do
|
||||
'EPEL-5'
|
||||
end
|
||||
|
||||
let :params do
|
||||
{ :path => "/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-5" }
|
||||
end
|
||||
|
||||
it do
|
||||
should contain_exec("import-#{title}").with({
|
||||
'path' => '/bin:/usr/bin:/sbin:/usr/sbin',
|
||||
'command' => "rpm --import #{params[:path]}",
|
||||
'unless' => "rpm -q gpg-pubkey-$(echo $(gpg --throw-keyids < #{params[:path]}) | cut --characters=11-18 | tr '[A-Z]' '[a-z]')",
|
||||
'require' => "File[#{params[:path]}]",
|
||||
'logoutput' => 'on_failure',
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
8
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/spec_helper.rb
vendored
Normal file
8
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/spec_helper.rb
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
require 'puppetlabs_spec_helper/module_spec_helper'
|
||||
|
||||
def default_facts
|
||||
{
|
||||
:osfamily => 'RedHat',
|
||||
:operatingsystem => 'CentOS',
|
||||
}
|
||||
end
|
||||
23
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/spec_helper_system.rb
vendored
Normal file
23
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/spec_helper_system.rb
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
require 'rspec-system/spec_helper'
|
||||
require 'rspec-system-puppet/helpers'
|
||||
|
||||
include RSpecSystemPuppet::Helpers
|
||||
|
||||
RSpec.configure do |c|
|
||||
# Project root for the this module's code
|
||||
proj_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
||||
|
||||
# Enable colour in Jenkins
|
||||
c.tty = true
|
||||
|
||||
c.include RSpecSystemPuppet::Helpers
|
||||
|
||||
# This is where we 'setup' the nodes before running our tests
|
||||
c.before :suite do
|
||||
# Install puppet
|
||||
puppet_install
|
||||
puppet_master_install
|
||||
|
||||
puppet_module_install(:source => proj_root, :module_name => 'epel')
|
||||
end
|
||||
end
|
||||
36
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/system/basic_spec.rb
vendored
Normal file
36
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/system/basic_spec.rb
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
require 'spec_helper_system'
|
||||
|
||||
describe 'epel class:' do
|
||||
context puppet_agent do
|
||||
its(:stderr) { should be_empty }
|
||||
its(:exit_code) { should_not == 1 }
|
||||
end
|
||||
|
||||
# Verify the os_maj_version fact is working
|
||||
context shell 'facter --puppet os_maj_version' do
|
||||
its(:stdout) { should_not be_empty }
|
||||
its(:stderr) { should be_empty }
|
||||
its(:exit_code) { should be_zero }
|
||||
end
|
||||
|
||||
pp = "class { 'epel': }"
|
||||
|
||||
context puppet_apply pp do
|
||||
its(:stderr) { should be_empty }
|
||||
its(:exit_code) { should_not == 1 }
|
||||
its(:refresh) { should be_nil }
|
||||
its(:stderr) { should be_empty }
|
||||
its(:exit_code) { should be_zero }
|
||||
end
|
||||
|
||||
context 'test EPEL repo presence' do
|
||||
facts = node.facts
|
||||
|
||||
# Only test for EPEL's presence if not Fedora
|
||||
if facts['operatingsystem'] !~ /Fedora/
|
||||
context shell '/usr/bin/yum-config-manager epel | grep -q "\[epel\]"' do
|
||||
its(:exit_code) { should be_zero }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
60
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/system/usage_spec.rb
vendored
Normal file
60
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/system/usage_spec.rb
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
require 'spec_helper_system'
|
||||
|
||||
describe 'standage usage tests:' do
|
||||
context 'test epel baseurl and mirrorlist' do
|
||||
facts = node.facts
|
||||
os_maj_version = facts['operatingsystemrelease'].split('.')[0]
|
||||
pp = <<-EOS
|
||||
class { 'epel':
|
||||
epel_baseurl => 'http://dl.fedoraproject.org/pub/epel/#{os_maj_version}/x86_64/',
|
||||
epel_mirrorlist => 'absent',
|
||||
}
|
||||
EOS
|
||||
|
||||
context puppet_apply pp do
|
||||
its(:stderr) { should be_empty }
|
||||
its(:exit_code) { should_not == 1 }
|
||||
its(:refresh) { should be_nil }
|
||||
its(:stderr) { should be_empty }
|
||||
its(:exit_code) { should be_zero }
|
||||
end
|
||||
|
||||
# Only test for EPEL's presence if not Fedora
|
||||
if facts['operatingsystem'] !~ /Fedora/
|
||||
# Test the yum config to ensure mirrorlist was emptied
|
||||
context shell '/usr/bin/yum-config-manager epel | egrep "^mirrorlist ="' do
|
||||
its(:stdout) { should =~ /mirrorlist =\s+/ }
|
||||
end
|
||||
|
||||
# Test the yum config to ensure baseurl was defined
|
||||
context shell '/usr/bin/yum-config-manager epel | egrep "^baseurl ="' do
|
||||
its(:stdout) { should =~ /baseurl = http:\/\/dl.fedoraproject.org\/pub\/epel\/#{os_maj_version}\/x86_64\// }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'test epel-testing is enabled' do
|
||||
facts = node.facts
|
||||
pp = <<-EOS
|
||||
class { 'epel':
|
||||
epel_testing_enabled => '1',
|
||||
}
|
||||
EOS
|
||||
|
||||
context puppet_apply pp do
|
||||
its(:stderr) { should be_empty }
|
||||
its(:exit_code) { should_not == 1 }
|
||||
its(:refresh) { should be_nil }
|
||||
its(:stderr) { should be_empty }
|
||||
its(:exit_code) { should be_zero }
|
||||
end
|
||||
|
||||
# Only test for EPEL's presence if not Fedora
|
||||
if facts['operatingsystem'] !~ /Fedora/
|
||||
# Test the yum config to ensure epel-testing was enabled
|
||||
context shell '/usr/bin/yum-config-manager epel-testing | grep -q "enabled = True"' do
|
||||
its(:exit_code) { should be_zero }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
21
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/unit/facter/os_maj_version_spec.rb
vendored
Normal file
21
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/unit/facter/os_maj_version_spec.rb
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'os_maj_version fact' do
|
||||
before :each do
|
||||
Facter.clear
|
||||
end
|
||||
|
||||
context "on 5.9 operatingsystemrelease" do
|
||||
it "should have os_maj_version => 5" do
|
||||
Facter.fact(:operatingsystemrelease).stubs(:value).returns("5.9")
|
||||
Facter.fact(:os_maj_version).value.should == "5"
|
||||
end
|
||||
end
|
||||
|
||||
context "on 6.4 operatingsystemrelease" do
|
||||
it "should have os_maj_version => 6" do
|
||||
Facter.fact(:operatingsystemrelease).stubs(:value).returns("6.4")
|
||||
Facter.fact(:os_maj_version).value.should == "6"
|
||||
end
|
||||
end
|
||||
end
|
||||
3
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/tests/init.pp
vendored
Normal file
3
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/tests/init.pp
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
# And by test, I mean, run this thing for me using Puppet apply and I'll check
|
||||
# it out.
|
||||
include 'epel'
|
||||
7
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/.fixtures.yml
vendored
Normal file
7
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/.fixtures.yml
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
fixtures:
|
||||
repositories:
|
||||
apt: git://github.com/puppetlabs/puppetlabs-apt.git
|
||||
stdlib: git://github.com/puppetlabs/puppetlabs-stdlib.git
|
||||
epel: git://github.com/stahnma/puppet-module-epel.git
|
||||
symlinks:
|
||||
erlang: "#{source_dir}"
|
||||
35
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/.nodeset.yml
vendored
Normal file
35
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/.nodeset.yml
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
---
|
||||
default_set: 'centos-64-x64'
|
||||
sets:
|
||||
'centos-59-x64':
|
||||
nodes:
|
||||
"main.foo.vm":
|
||||
prefab: 'centos-59-x64'
|
||||
'centos-64-x64':
|
||||
nodes:
|
||||
"main.foo.vm":
|
||||
prefab: 'centos-64-x64'
|
||||
'fedora-18-x64':
|
||||
nodes:
|
||||
"main.foo.vm":
|
||||
prefab: 'fedora-18-x64'
|
||||
'debian-607-x64':
|
||||
nodes:
|
||||
"main.foo.vm":
|
||||
prefab: 'debian-607-x64'
|
||||
'debian-70rc1-x64':
|
||||
nodes:
|
||||
"main.foo.vm":
|
||||
prefab: 'debian-70rc1-x64'
|
||||
'ubuntu-server-10044-x64':
|
||||
nodes:
|
||||
"main.foo.vm":
|
||||
prefab: 'ubuntu-server-10044-x64'
|
||||
'ubuntu-server-12042-x64':
|
||||
nodes:
|
||||
"main.foo.vm":
|
||||
prefab: 'ubuntu-server-12042-x64'
|
||||
'sles-11sp1-x64':
|
||||
nodes:
|
||||
"main.foo.vm":
|
||||
prefab: 'sles-11sp1-x64'
|
||||
1
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/.rspec
vendored
Normal file
1
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/.rspec
vendored
Normal file
@ -0,0 +1 @@
|
||||
--format documentation
|
||||
23
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/.travis.yml
vendored
Normal file
23
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/.travis.yml
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
language: ruby
|
||||
bundler_args: --without development
|
||||
before_install: rm Gemfile.lock || true
|
||||
rvm:
|
||||
- 1.8.7
|
||||
- 1.9.3
|
||||
- 2.0.0
|
||||
script: bundle exec rake test
|
||||
env:
|
||||
- PUPPET_VERSION="~> 2.7.0"
|
||||
- PUPPET_VERSION="~> 3.1.0"
|
||||
- PUPPET_VERSION="~> 3.2.0"
|
||||
- PUPPET_VERSION="~> 3.3.0"
|
||||
- PUPPET_VERSION="~> 3.4.0"
|
||||
matrix:
|
||||
exclude:
|
||||
- rvm: 2.0.0
|
||||
env: PUPPET_VERSION="~> 2.7.0"
|
||||
- rvm: 2.0.0
|
||||
env: PUPPET_VERSION="~> 3.1.0"
|
||||
- rvm: 1.9.3
|
||||
env: PUPPET_VERSION="~> 2.7.0"
|
||||
15
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/Gemfile
vendored
Normal file
15
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/Gemfile
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
source "http://rubygems.org"
|
||||
|
||||
|
||||
gem "rake"
|
||||
gem "puppet", ENV['PUPPET_VERSION'] || '~> 3.2.0'
|
||||
gem "puppet-lint"
|
||||
gem "rspec-puppet", '~> 1.0.0'
|
||||
gem "puppetlabs_spec_helper"
|
||||
gem "rspec-system-puppet"
|
||||
gem "vagrant-wrapper"
|
||||
gem "puppet-syntax"
|
||||
|
||||
group :development do
|
||||
gem "puppet-blacksmith"
|
||||
end
|
||||
94
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/Gemfile.lock
vendored
Normal file
94
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/Gemfile.lock
vendored
Normal file
@ -0,0 +1,94 @@
|
||||
GEM
|
||||
remote: http://rubygems.org/
|
||||
specs:
|
||||
builder (3.2.2)
|
||||
diff-lcs (1.2.5)
|
||||
excon (0.31.0)
|
||||
facter (1.7.5)
|
||||
fog (1.20.0)
|
||||
builder
|
||||
excon (~> 0.31.0)
|
||||
formatador (~> 0.2.0)
|
||||
mime-types
|
||||
multi_json (~> 1.0)
|
||||
net-scp (~> 1.1)
|
||||
net-ssh (>= 2.1.3)
|
||||
nokogiri (>= 1.5.11)
|
||||
formatador (0.2.4)
|
||||
hiera (1.3.2)
|
||||
json_pure
|
||||
json_pure (1.8.1)
|
||||
kwalify (0.7.2)
|
||||
metaclass (0.0.4)
|
||||
mime-types (1.25.1)
|
||||
mocha (1.0.0)
|
||||
metaclass (~> 0.0.1)
|
||||
multi_json (1.8.4)
|
||||
net-scp (1.1.2)
|
||||
net-ssh (>= 2.6.5)
|
||||
net-ssh (2.8.0)
|
||||
nokogiri (1.5.11)
|
||||
puppet (3.2.4)
|
||||
facter (~> 1.6)
|
||||
hiera (~> 1.0)
|
||||
rgen (~> 0.6.5)
|
||||
puppet-blacksmith (2.0.2)
|
||||
nokogiri
|
||||
puppet (>= 2.7.16)
|
||||
rest-client
|
||||
puppet-lint (0.3.2)
|
||||
puppet-syntax (1.1.0)
|
||||
puppet (>= 2.7.0)
|
||||
rake
|
||||
puppetlabs_spec_helper (0.4.1)
|
||||
mocha (>= 0.10.5)
|
||||
rake
|
||||
rspec (>= 2.9.0)
|
||||
rspec-puppet (>= 0.1.1)
|
||||
rake (10.1.1)
|
||||
rbvmomi (1.8.1)
|
||||
builder
|
||||
nokogiri (>= 1.4.1)
|
||||
trollop
|
||||
rest-client (1.6.7)
|
||||
mime-types (>= 1.16)
|
||||
rgen (0.6.6)
|
||||
rspec (2.14.1)
|
||||
rspec-core (~> 2.14.0)
|
||||
rspec-expectations (~> 2.14.0)
|
||||
rspec-mocks (~> 2.14.0)
|
||||
rspec-core (2.14.8)
|
||||
rspec-expectations (2.14.5)
|
||||
diff-lcs (>= 1.1.3, < 2.0)
|
||||
rspec-mocks (2.14.6)
|
||||
rspec-puppet (1.0.1)
|
||||
rspec
|
||||
rspec-system (2.8.0)
|
||||
fog (~> 1.18)
|
||||
kwalify (~> 0.7.2)
|
||||
mime-types (~> 1.16)
|
||||
net-scp (~> 1.1)
|
||||
net-ssh (~> 2.7)
|
||||
nokogiri (~> 1.5.10)
|
||||
rbvmomi (~> 1.6)
|
||||
rspec (~> 2.14)
|
||||
systemu (~> 2.5)
|
||||
rspec-system-puppet (2.2.1)
|
||||
rspec-system (~> 2.0)
|
||||
systemu (2.6.3)
|
||||
trollop (2.0)
|
||||
vagrant-wrapper (1.2.1.1)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
puppet (~> 3.2.0)
|
||||
puppet-blacksmith
|
||||
puppet-lint
|
||||
puppet-syntax
|
||||
puppetlabs_spec_helper
|
||||
rake
|
||||
rspec-puppet (~> 1.0.0)
|
||||
rspec-system-puppet
|
||||
vagrant-wrapper
|
||||
207
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/LICENSE
vendored
Normal file
207
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/LICENSE
vendored
Normal file
@ -0,0 +1,207 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction, and
|
||||
distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by the
|
||||
copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all other
|
||||
entities that control, are controlled by, or are under common control with
|
||||
that entity. For the purposes of this definition, "control" means (i) the
|
||||
power, direct or indirect, to cause the direction or management of such
|
||||
entity, whether by contract or otherwise, or (ii) ownership of
|
||||
fifty percent (50%) or more of the outstanding shares, or (iii) beneficial
|
||||
ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity exercising
|
||||
permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation source,
|
||||
and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical transformation
|
||||
or translation of a Source form, including but not limited to compiled
|
||||
object code, generated documentation, and conversions to
|
||||
other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or Object
|
||||
form, made available under the License, as indicated by a copyright notice
|
||||
that is included in or attached to the work (an example is provided in the
|
||||
Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object form,
|
||||
that is based on (or derived from) the Work and for which the editorial
|
||||
revisions, annotations, elaborations, or other modifications represent,
|
||||
as a whole, an original work of authorship. For the purposes of this
|
||||
License, Derivative Works shall not include works that remain separable
|
||||
from, or merely link (or bind by name) to the interfaces of, the Work and
|
||||
Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including the original
|
||||
version of the Work and any modifications or additions to that Work or
|
||||
Derivative Works thereof, that is intentionally submitted to Licensor for
|
||||
inclusion in the Work by the copyright owner or by an individual or
|
||||
Legal Entity authorized to submit on behalf of the copyright owner.
|
||||
For the purposes of this definition, "submitted" means any form of
|
||||
electronic, verbal, or written communication sent to the Licensor or its
|
||||
representatives, including but not limited to communication on electronic
|
||||
mailing lists, source code control systems, and issue tracking systems
|
||||
that are managed by, or on behalf of, the Licensor for the purpose of
|
||||
discussing and improving the Work, but excluding communication that is
|
||||
conspicuously marked or otherwise designated in writing by the copyright
|
||||
owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity on
|
||||
behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License.
|
||||
|
||||
Subject to the terms and conditions of this License, each Contributor
|
||||
hereby grants to You a perpetual, worldwide, non-exclusive, no-charge,
|
||||
royalty-free, irrevocable copyright license to reproduce, prepare
|
||||
Derivative Works of, publicly display, publicly perform, sublicense,
|
||||
and distribute the Work and such Derivative Works in
|
||||
Source or Object form.
|
||||
|
||||
3. Grant of Patent License.
|
||||
|
||||
Subject to the terms and conditions of this License, each Contributor
|
||||
hereby grants to You a perpetual, worldwide, non-exclusive, no-charge,
|
||||
royalty-free, irrevocable (except as stated in this section) patent
|
||||
license to make, have made, use, offer to sell, sell, import, and
|
||||
otherwise transfer the Work, where such license applies only to those
|
||||
patent claims licensable by such Contributor that are necessarily
|
||||
infringed by their Contribution(s) alone or by combination of their
|
||||
Contribution(s) with the Work to which such Contribution(s) was submitted.
|
||||
If You institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work or a
|
||||
Contribution incorporated within the Work constitutes direct or
|
||||
contributory patent infringement, then any patent licenses granted to
|
||||
You under this License for that Work shall terminate as of the date such
|
||||
litigation is filed.
|
||||
|
||||
4. Redistribution.
|
||||
|
||||
You may reproduce and distribute copies of the Work or Derivative Works
|
||||
thereof in any medium, with or without modifications, and in Source or
|
||||
Object form, provided that You meet the following conditions:
|
||||
|
||||
1. You must give any other recipients of the Work or Derivative Works a
|
||||
copy of this License; and
|
||||
|
||||
2. You must cause any modified files to carry prominent notices stating
|
||||
that You changed the files; and
|
||||
|
||||
3. You must retain, in the Source form of any Derivative Works that You
|
||||
distribute, all copyright, patent, trademark, and attribution notices from
|
||||
the Source form of the Work, excluding those notices that do not pertain
|
||||
to any part of the Derivative Works; and
|
||||
|
||||
4. If the Work includes a "NOTICE" text file as part of its distribution,
|
||||
then any Derivative Works that You distribute must include a readable copy
|
||||
of the attribution notices contained within such NOTICE file, excluding
|
||||
those notices that do not pertain to any part of the Derivative Works,
|
||||
in at least one of the following places: within a NOTICE text file
|
||||
distributed as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or, within a
|
||||
display generated by the Derivative Works, if and wherever such
|
||||
third-party notices normally appear. The contents of the NOTICE file are
|
||||
for informational purposes only and do not modify the License.
|
||||
You may add Your own attribution notices within Derivative Works that You
|
||||
distribute, alongside or as an addendum to the NOTICE text from the Work,
|
||||
provided that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and may
|
||||
provide additional or different license terms and conditions for use,
|
||||
reproduction, or distribution of Your modifications, or for any such
|
||||
Derivative Works as a whole, provided Your use, reproduction, and
|
||||
distribution of the Work otherwise complies with the conditions
|
||||
stated in this License.
|
||||
|
||||
5. Submission of Contributions.
|
||||
|
||||
Unless You explicitly state otherwise, any Contribution intentionally
|
||||
submitted for inclusion in the Work by You to the Licensor shall be under
|
||||
the terms and conditions of this License, without any additional
|
||||
terms or conditions. Notwithstanding the above, nothing herein shall
|
||||
supersede or modify the terms of any separate license agreement you may
|
||||
have executed with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks.
|
||||
|
||||
This License does not grant permission to use the trade names, trademarks,
|
||||
service marks, or product names of the Licensor, except as required for
|
||||
reasonable and customary use in describing the origin of the Work and
|
||||
reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty.
|
||||
|
||||
Unless required by applicable law or agreed to in writing, Licensor
|
||||
provides the Work (and each Contributor provides its Contributions)
|
||||
on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||
either express or implied, including, without limitation, any warranties
|
||||
or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any risks
|
||||
associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability.
|
||||
|
||||
In no event and under no legal theory, whether in tort
|
||||
(including negligence), contract, or otherwise, unless required by
|
||||
applicable law (such as deliberate and grossly negligent acts) or agreed
|
||||
to in writing, shall any Contributor be liable to You for damages,
|
||||
including any direct, indirect, special, incidental, or consequential
|
||||
damages of any character arising as a result of this License or out of
|
||||
the use or inability to use the Work (including but not limited to damages
|
||||
for loss of goodwill, work stoppage, computer failure or malfunction,
|
||||
or any and all other commercial damages or losses), even if such
|
||||
Contributor has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability.
|
||||
|
||||
While redistributing the Work or Derivative Works thereof, You may choose
|
||||
to offer, and charge a fee for, acceptance of support, warranty,
|
||||
indemnity, or other liability obligations and/or rights consistent with
|
||||
this License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf of any
|
||||
other Contributor, and only if You agree to indemnify, defend, and hold
|
||||
each Contributor harmless for any liability incurred by, or claims
|
||||
asserted against, such Contributor by reason of your accepting any such
|
||||
warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work
|
||||
|
||||
To apply the Apache License to your work, attach the following boilerplate
|
||||
notice, with the fields enclosed by brackets "[]" replaced with your own
|
||||
identifying information. (Don't include the brackets!) The text should be
|
||||
enclosed in the appropriate comment syntax for the file format. We also
|
||||
recommend that a file or class name and description of purpose be included
|
||||
on the same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright 2013 Gareth Rushgrove
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
or implied. See the License for the specific language governing
|
||||
permissions and limitations under the License.
|
||||
10
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/Modulefile
vendored
Normal file
10
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/Modulefile
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
name 'garethr-erlang'
|
||||
version '0.3.0'
|
||||
source 'git://github.com/garethr/garethr-erlang.git'
|
||||
author 'Gareth Rushgrove'
|
||||
summary 'Module for installing erlang from official repos'
|
||||
description 'Install one of the official erlang packages'
|
||||
license 'Apache License, Version 2.0'
|
||||
dependency 'puppetlabs/apt'
|
||||
dependency 'puppetlabs/stdlib'
|
||||
dependency 'stahnma/epel'
|
||||
28
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/README.md
vendored
Normal file
28
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/README.md
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
Puppet module for installing Erlang from alternative repositories.
|
||||
|
||||
On debian it will use the official repositories
|
||||
mentioned on the [Erlang
|
||||
docs](https://www.erlang-solutions.com/downloads/download-erlang-otp).
|
||||
|
||||
On Redhat 5 it'll use an additional EPEL repository hosted by
|
||||
[Redhat](http://repos.fedorapeople.org/repos/peter/erlang/epel-erlang.repo).
|
||||
|
||||
On Redhat 6 it'll require EPEL.
|
||||
|
||||
On SUSE it'll use the official repos.
|
||||
|
||||
On Archlinux it'll use community repos.
|
||||
|
||||
This module is also available on the [Puppet
|
||||
Forge](https://forge.puppetlabs.com/garethr/erlang)
|
||||
|
||||
[](http://travis-ci.org/garethr/garethr-erlang)
|
||||
|
||||
## Usage
|
||||
|
||||
The module includes a single class:
|
||||
|
||||
include 'erlang'
|
||||
|
||||
By default this sets up the repository and installs the erlang package.
|
||||
35
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/Rakefile
vendored
Normal file
35
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/Rakefile
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
require 'puppetlabs_spec_helper/rake_tasks'
|
||||
require 'puppet-lint/tasks/puppet-lint'
|
||||
require 'puppet-syntax/tasks/puppet-syntax'
|
||||
require 'rspec-system/rake_task'
|
||||
|
||||
begin
|
||||
require 'puppet_blacksmith/rake_tasks'
|
||||
rescue LoadError
|
||||
end
|
||||
|
||||
PuppetLint.configuration.log_format = "%{path}:%{linenumber}:%{check}:%{KIND}:%{message}"
|
||||
PuppetLint.configuration.fail_on_warnings = true
|
||||
|
||||
# Forsake support for Puppet 2.6.2 for the benefit of cleaner code.
|
||||
# http://puppet-lint.com/checks/class_parameter_defaults/
|
||||
PuppetLint.configuration.send('disable_class_parameter_defaults')
|
||||
# http://puppet-lint.com/checks/class_inherits_from_params_class/
|
||||
PuppetLint.configuration.send('disable_class_inherits_from_params_class')
|
||||
# http://puppet-lint.com/checks/80chars/
|
||||
PuppetLint.configuration.send("disable_80chars")
|
||||
|
||||
exclude_paths = [
|
||||
"pkg/**/*",
|
||||
"vendor/**/*",
|
||||
"spec/**/*",
|
||||
]
|
||||
PuppetLint.configuration.ignore_paths = exclude_paths
|
||||
PuppetSyntax.exclude_paths = exclude_paths
|
||||
|
||||
desc "Run syntax, lint, and spec tests."
|
||||
task :test => [
|
||||
:syntax,
|
||||
:lint,
|
||||
:spec,
|
||||
]
|
||||
45
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/manifests/init.pp
vendored
Normal file
45
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/manifests/init.pp
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
# == Class: erlang
|
||||
#
|
||||
# Module to install an up-to-date version of Erlang from the
|
||||
# official repositories
|
||||
#
|
||||
# === Parameters
|
||||
# [*version*]
|
||||
# The package version to install, passed to ensure.
|
||||
# Defaults to present.
|
||||
#
|
||||
class erlang (
|
||||
$epel_enable = $erlang::params::epel_enable,
|
||||
$key_signature = $erlang::params::key_signature,
|
||||
$local_repo_location = $erlang::params::local_repo_location,
|
||||
$package_name = $erlang::params::package_name,
|
||||
$remote_repo_location = $erlang::params::remote_repo_location,
|
||||
$remote_repo_key_location = $erlang::params::remote_repo_key_location,
|
||||
$repos = $erlang::params::repos,
|
||||
$version = 'present',
|
||||
) inherits erlang::params {
|
||||
validate_string($version)
|
||||
|
||||
case $::osfamily {
|
||||
'Debian' : {
|
||||
include '::apt'
|
||||
include '::erlang::repo::apt'
|
||||
}
|
||||
'RedHat' : {
|
||||
if $epel_enable {
|
||||
# Include epel as this is a requirement for erlang in RHEL6.
|
||||
include '::epel'
|
||||
Class['epel'] -> Package[$package_name]
|
||||
}
|
||||
|
||||
# This is only needed on RHEL5, RHEL6 has erlang in EPEL.
|
||||
if $::operatingsystemrelease =~ /^5/ {
|
||||
include '::erlang::repo::yum'
|
||||
}
|
||||
}
|
||||
default : {
|
||||
}
|
||||
}
|
||||
|
||||
package { $package_name: ensure => $version, }
|
||||
}
|
||||
29
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/manifests/params.pp
vendored
Normal file
29
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/manifests/params.pp
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
# == Class: erlang::params
|
||||
#
|
||||
# Default paramaters setting repository details for different
|
||||
# operating systems
|
||||
#
|
||||
class erlang::params {
|
||||
$epel_enable = false
|
||||
|
||||
case $::osfamily {
|
||||
'Debian' : {
|
||||
$key_signature = 'D208507CA14F4FCA'
|
||||
$package_name = 'erlang-nox'
|
||||
$remote_repo_key_location = 'http://packages.erlang-solutions.com/debian/erlang_solutions.asc'
|
||||
$remote_repo_location = 'http://packages.erlang-solutions.com/debian'
|
||||
$repos = 'contrib'
|
||||
}
|
||||
'RedHat', 'SUSE', 'Archlinux' : {
|
||||
$package_name = 'erlang'
|
||||
|
||||
if $::operatingsystemrelease =~ /^5/ {
|
||||
$local_repo_location = '/etc/yum.repos.d/epel-erlang.repo'
|
||||
$remote_repo_location = 'http://repos.fedorapeople.org/repos/peter/erlang/epel-erlang.repo'
|
||||
}
|
||||
}
|
||||
default : {
|
||||
fail("The ${module_name} module is not supported on an ${::osfamily} based system.")
|
||||
}
|
||||
}
|
||||
}
|
||||
41
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/manifests/repo/apt.pp
vendored
Normal file
41
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/manifests/repo/apt.pp
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
# == Class: erlang::repo::apt
|
||||
#
|
||||
# Install an apt package repository containing Erlang.
|
||||
# All parameters have sane default values in erlang::params.
|
||||
#
|
||||
# === Parameters
|
||||
# [*key_signature*]
|
||||
# The signature for the key used to sign packages in the repository.
|
||||
#
|
||||
# [*package_name*]
|
||||
# Name of the Erlang package in the specified repository.
|
||||
#
|
||||
# [*remote_repo_key_location*]
|
||||
# URL of the public key for the remote repository.
|
||||
#
|
||||
# [*remote_repo_location*]
|
||||
# URL of the remote debian repository.
|
||||
#
|
||||
# [*repos*]
|
||||
# Which of the standard repositories to install from the
|
||||
# remote repo. For instance main, contrib, restricted.
|
||||
#
|
||||
class erlang::repo::apt(
|
||||
$key_signature = $erlang::key_signature,
|
||||
$package_name = $erlang::package_name,
|
||||
$remote_repo_key_location = $erlang::remote_repo_key_location,
|
||||
$remote_repo_location = $erlang::remote_repo_location,
|
||||
$repos = $erlang::repos,
|
||||
) {
|
||||
|
||||
Class['erlang::repo::apt'] -> Package<| title == $package_name |>
|
||||
|
||||
apt::source { 'erlang':
|
||||
include_src => false,
|
||||
key => $key_signature,
|
||||
key_source => $remote_repo_key_location,
|
||||
location => $remote_repo_location,
|
||||
repos => $repos,
|
||||
}
|
||||
|
||||
}
|
||||
30
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/manifests/repo/yum.pp
vendored
Normal file
30
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/manifests/repo/yum.pp
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
# == Class: erlang::repo::yum
|
||||
#
|
||||
# Install a yum package repository containing Erlang.
|
||||
# All parameters have sane default values in erlang::params.
|
||||
#
|
||||
# === Parameters
|
||||
# [*local_repo_location*]
|
||||
# File system location to store the repository details
|
||||
#
|
||||
# [*package_name*]
|
||||
# Name of the Erlang package in the specified repository
|
||||
#
|
||||
# [*remote_repo_location*]
|
||||
# URL of the remote repository
|
||||
#
|
||||
class erlang::repo::yum (
|
||||
$local_repo_location = $erlang::local_repo_location,
|
||||
$package_name = $erlang::package_name,
|
||||
$remote_repo_location = $erlang::remote_repo_location,
|
||||
) inherits erlang {
|
||||
|
||||
Class['erlang::repo::yum'] -> Package<| title == $package_name |>
|
||||
|
||||
exec { 'erlang-repo-download':
|
||||
command => "curl -o ${local_repo_location} ${remote_repo_location}",
|
||||
path => '/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin',
|
||||
creates => $local_repo_location,
|
||||
}
|
||||
|
||||
}
|
||||
138
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/spec/classes/erlang_spec.rb
vendored
Normal file
138
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/spec/classes/erlang_spec.rb
vendored
Normal file
@ -0,0 +1,138 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'erlang', :type => :class do
|
||||
|
||||
|
||||
context 'on Debian' do
|
||||
let(:facts) { {
|
||||
:osfamily => 'Debian',
|
||||
:lsbdistid => 'debian',
|
||||
:lsbdistcodename => 'squeeze'
|
||||
}}
|
||||
|
||||
context 'with no parameters' do
|
||||
it { should compile.with_all_deps }
|
||||
it { should contain_package('erlang-nox').with_ensure('present') }
|
||||
it { should contain_apt__source('erlang').with(
|
||||
'key_source' => 'http://packages.erlang-solutions.com/debian/erlang_solutions.asc',
|
||||
'key' => 'D208507CA14F4FCA'
|
||||
) }
|
||||
end
|
||||
|
||||
context 'with a custom version' do
|
||||
let(:params) { {'version' => 'absent' } }
|
||||
it { should contain_package('erlang-nox').with_ensure('absent') }
|
||||
end
|
||||
|
||||
context 'with a custom package name' do
|
||||
let(:params) { {'package_name' => 'not-erlang' } }
|
||||
it { should contain_package('not-erlang').with_ensure('present') }
|
||||
end
|
||||
|
||||
context 'with custom repository details' do
|
||||
let(:params) { {
|
||||
'key_signature' => '1234ABCD',
|
||||
'repos' => 'main',
|
||||
'remote_repo_location' => 'http://example.com/debian',
|
||||
'remote_repo_key_location' => 'http://example.com/debian/key.asc',
|
||||
} }
|
||||
it { should contain_apt__source('erlang').with(
|
||||
'location' => 'http://example.com/debian',
|
||||
'key_source' => 'http://example.com/debian/key.asc',
|
||||
'key' => '1234ABCD',
|
||||
'repos' => 'main'
|
||||
) }
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
context 'on RedHat 5' do
|
||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystemrelease => '5.9' } }
|
||||
|
||||
context "epel enabled" do
|
||||
let(:params) {{ :epel_enable => true }}
|
||||
it { should contain_class('epel') }
|
||||
end
|
||||
|
||||
context "epel disabled" do
|
||||
let(:params) {{ :epel_enable => false }}
|
||||
it { should_not contain_class('epel') }
|
||||
end
|
||||
|
||||
context 'with no parameters' do
|
||||
it { should contain_package('erlang').with_ensure('present') }
|
||||
it { should contain_exec('erlang-repo-download').with(
|
||||
'command' => 'curl -o /etc/yum.repos.d/epel-erlang.repo http://repos.fedorapeople.org/repos/peter/erlang/epel-erlang.repo',
|
||||
'path' => '/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin'
|
||||
)
|
||||
}
|
||||
end
|
||||
|
||||
context 'with a custom repository' do
|
||||
let(:params) { {
|
||||
'local_repo_location' => '/tmp/yum.repos.d/tmp.repo',
|
||||
'remote_repo_location' => 'http://example.com/fake.repo',
|
||||
} }
|
||||
|
||||
it { should contain_exec('erlang-repo-download').with(
|
||||
'command' => 'curl -o /tmp/yum.repos.d/tmp.repo http://example.com/fake.repo'
|
||||
)
|
||||
}
|
||||
end
|
||||
|
||||
context 'with a custom version' do
|
||||
let(:params) { {'version' => 'absent' } }
|
||||
it { should contain_package('erlang').with_ensure('absent') }
|
||||
end
|
||||
end
|
||||
|
||||
context 'on RedHat 6' do
|
||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystemrelease => '6.4' } }
|
||||
|
||||
context "epel enabled" do
|
||||
let(:params) {{ :epel_enable => true }}
|
||||
it { should contain_class('epel') }
|
||||
end
|
||||
|
||||
context "epel disabled" do
|
||||
let(:params) {{ :epel_enable => false }}
|
||||
it { should_not contain_class('epel') }
|
||||
end
|
||||
|
||||
context 'with no parameters' do
|
||||
it { should contain_package('erlang').with_ensure('present') }
|
||||
end
|
||||
|
||||
context 'with a custom version' do
|
||||
let(:params) { {'version' => 'absent' } }
|
||||
it { should contain_package('erlang').with_ensure('absent') }
|
||||
end
|
||||
end
|
||||
|
||||
context 'on SUSE' do
|
||||
let(:facts) {{ :osfamily => 'SUSE', }}
|
||||
|
||||
context 'with no parameters' do
|
||||
it { should contain_package('erlang').with_ensure('present') }
|
||||
end
|
||||
|
||||
context 'with a custom version' do
|
||||
let(:params) { {'version' => 'absent' } }
|
||||
it { should contain_package('erlang').with_ensure('absent') }
|
||||
end
|
||||
end
|
||||
|
||||
context 'on Archlinux' do
|
||||
let(:facts) {{ :osfamily => 'Archlinux', }}
|
||||
|
||||
context 'with no parameters' do
|
||||
it { should contain_package('erlang').with_ensure('present') }
|
||||
end
|
||||
|
||||
context 'with a custom version' do
|
||||
let(:params) { {'version' => 'absent' } }
|
||||
it { should contain_package('erlang').with_ensure('absent') }
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
1
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/spec/spec_helper.rb
vendored
Normal file
1
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/spec/spec_helper.rb
vendored
Normal file
@ -0,0 +1 @@
|
||||
require 'puppetlabs_spec_helper/module_spec_helper'
|
||||
17
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/spec/spec_helper_system.rb
vendored
Normal file
17
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/spec/spec_helper_system.rb
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
require 'rspec-system/spec_helper'
|
||||
require 'rspec-system-puppet/helpers'
|
||||
|
||||
include RSpecSystemPuppet::Helpers
|
||||
|
||||
RSpec.configure do |c|
|
||||
proj_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
||||
c.tty = true
|
||||
c.include RSpecSystemPuppet::Helpers
|
||||
|
||||
c.before :suite do
|
||||
puppet_install
|
||||
puppet_module_install(:source => proj_root, :module_name => 'erlang')
|
||||
shell('puppet module install puppetlabs-apt')
|
||||
shell('puppet module install stahnma-epel')
|
||||
end
|
||||
end
|
||||
25
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/spec/system/erlang_spec.rb
vendored
Normal file
25
dev/vagrant/dolibarrdev/puphpet/puppet/modules/erlang/spec/system/erlang_spec.rb
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
require 'spec_helper_system'
|
||||
|
||||
describe 'The erlang puppet module' do
|
||||
it 'should run without errors' do
|
||||
pp = <<-EOS
|
||||
class { 'erlang':
|
||||
epel_enable => true
|
||||
}
|
||||
EOS
|
||||
|
||||
puppet_apply(pp) do |r|
|
||||
r.exit_code.should == 2
|
||||
r.refresh
|
||||
r.exit_code.should be_zero
|
||||
end
|
||||
end
|
||||
|
||||
it 'should install the erl binary into /usr/bin' do
|
||||
shell 'which erl' do |r|
|
||||
r.stdout.should =~ /\/usr\/bin\/erl/
|
||||
r.stderr.should be_empty
|
||||
r.exit_code.should be_zero
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -28,7 +28,7 @@ module Puppet::Parser::Functions
|
||||
return false
|
||||
end
|
||||
|
||||
if arr[key].empty?
|
||||
if arr[key] == false
|
||||
return false
|
||||
end
|
||||
|
||||
@ -36,6 +36,10 @@ module Puppet::Parser::Functions
|
||||
return false
|
||||
end
|
||||
|
||||
if arr[key].empty?
|
||||
return false
|
||||
end
|
||||
|
||||
return true
|
||||
|
||||
end
|
||||
|
||||
45
dev/vagrant/dolibarrdev/puphpet/puppet/modules/puphpet/lib/puppet/parser/functions/value_true.rb
vendored
Normal file
45
dev/vagrant/dolibarrdev/puphpet/puppet/modules/puphpet/lib/puppet/parser/functions/value_true.rb
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
#
|
||||
# value_true.rb
|
||||
#
|
||||
|
||||
module Puppet::Parser::Functions
|
||||
|
||||
newfunction(:value_true, :type => :rvalue, :doc => <<-'ENDHEREDOC') do |args|
|
||||
|
||||
Returns true if value is truthy
|
||||
ENDHEREDOC
|
||||
|
||||
unless args.length == 1
|
||||
raise Puppet::ParseError, ("value_true(): wrong number of arguments (#{args.length}; must be 1)")
|
||||
end
|
||||
|
||||
value = args[0]
|
||||
|
||||
if value.nil?
|
||||
return false
|
||||
end
|
||||
|
||||
if value == false
|
||||
return false
|
||||
end
|
||||
|
||||
if value == 0
|
||||
return false
|
||||
end
|
||||
|
||||
if value == '0'
|
||||
return false
|
||||
end
|
||||
|
||||
if value == 'false'
|
||||
return false
|
||||
end
|
||||
|
||||
if value.empty?
|
||||
return false
|
||||
end
|
||||
|
||||
return true
|
||||
|
||||
end
|
||||
end
|
||||
@ -44,7 +44,11 @@ class puphpet::hhvm(
|
||||
'deb http://security.debian.org/ wheezy/updates main',
|
||||
'deb-src http://security.debian.org/ wheezy/updates main',
|
||||
'deb http://http.us.debian.org/debian wheezy-updates main',
|
||||
'deb-src http://http.us.debian.org/debian wheezy-updates main'
|
||||
'deb-src http://http.us.debian.org/debian wheezy-updates main',
|
||||
'deb http://http.debian.net/debian wheezy main',
|
||||
'deb-src http://http.debian.net/debian wheezy main',
|
||||
'deb http://http.debian.net/debian wheezy-updates main',
|
||||
'deb-src http://http.debian.net/debian wheezy-updates main',
|
||||
]
|
||||
|
||||
each( $deb_srcs ) |$value| {
|
||||
|
||||
@ -53,9 +53,14 @@ class puphpet::params {
|
||||
'Redhat' => 'php-cgi'
|
||||
}
|
||||
|
||||
$nginx_default_conf_location = $::osfamily ? {
|
||||
'Debian' => '/etc/nginx/conf.d/default.conf',
|
||||
'Redhat' => '/etc/nginx/conf.d/default.conf'
|
||||
}
|
||||
|
||||
$nginx_webroot_location = $::osfamily ? {
|
||||
'Debian' => '/var/www/html',
|
||||
'Redhat' => '/usr/share/nginx/html'
|
||||
'Redhat' => '/var/www/html'
|
||||
}
|
||||
|
||||
$mariadb_package_client_name = $::osfamily ? {
|
||||
|
||||
@ -3,7 +3,8 @@
|
||||
*/
|
||||
|
||||
define puphpet::php::pear (
|
||||
$service_autorestart
|
||||
$service_name = '',
|
||||
$service_autorestart,
|
||||
){
|
||||
|
||||
$package = {
|
||||
@ -15,7 +16,9 @@ define puphpet::php::pear (
|
||||
'pear_command_packaging' => 'alpha',
|
||||
'pear_frontend_gtk2' => false,
|
||||
'php_beautifier' => 'beta',
|
||||
'php_parser' => 'alpha',
|
||||
'php_parser_docblockparser' => 'alpha',
|
||||
'soap' => 'beta',
|
||||
'testing_selenium' => 'beta',
|
||||
'versioncontrol_git' => 'alpha',
|
||||
'versioncontrol_svn' => 'alpha',
|
||||
@ -38,7 +41,8 @@ define puphpet::php::pear (
|
||||
::php::pear::module { $name:
|
||||
use_package => false,
|
||||
preferred_state => $preferred_state,
|
||||
service_autorestart => $php_webserver_restart,
|
||||
service => $service_name,
|
||||
service_autorestart => $service_autorestart,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -16,7 +16,10 @@ define puphpet::php::pecl (
|
||||
|
||||
$pecl = $::osfamily ? {
|
||||
'Debian' => {
|
||||
#
|
||||
'mongo' => $::lsbdistcodename ? {
|
||||
'precise' => 'mongo',
|
||||
default => false,
|
||||
},
|
||||
},
|
||||
'Redhat' => {
|
||||
#
|
||||
@ -63,24 +66,34 @@ define puphpet::php::pecl (
|
||||
}
|
||||
}
|
||||
|
||||
$auto_answer_hash = {
|
||||
'mongo' => 'no\n'
|
||||
}
|
||||
|
||||
$downcase_name = downcase($name)
|
||||
|
||||
if has_key($ignore, $downcase_name) {
|
||||
if has_key($auto_answer_hash, $downcase_name) {
|
||||
$auto_answer = $auto_answer_hash[$downcase_name]
|
||||
} else {
|
||||
$auto_answer = '\\n'
|
||||
}
|
||||
|
||||
if has_key($ignore, $downcase_name) and $ignore[$downcase_name] {
|
||||
$pecl_name = $pecl[$downcase_name]
|
||||
$package_name = false
|
||||
$preferred_state = 'stable'
|
||||
}
|
||||
elsif has_key($pecl, $downcase_name) {
|
||||
$pecl_name = false
|
||||
elsif has_key($pecl, $downcase_name) and $pecl[$downcase_name] {
|
||||
$pecl_name = $pecl[$downcase_name]
|
||||
$package_name = false
|
||||
$preferred_state = false
|
||||
$preferred_state = 'stable'
|
||||
}
|
||||
elsif has_key($pecl_beta, $downcase_name) and $pecl_beta[$downcase_name] {
|
||||
$pecl_name = $pecl_beta[$downcase_name]
|
||||
$package_name = false
|
||||
$preferred_state = 'beta'
|
||||
}
|
||||
elsif has_key($package, $downcase_name) {
|
||||
elsif has_key($package, $downcase_name) and $package[$downcase_name] {
|
||||
$pecl_name = false
|
||||
$package_name = $package[$downcase_name]
|
||||
}
|
||||
@ -93,6 +106,7 @@ define puphpet::php::pecl (
|
||||
::php::pecl::module { $pecl_name:
|
||||
use_package => false,
|
||||
preferred_state => $preferred_state,
|
||||
auto_answer => $auto_answer,
|
||||
service_autorestart => $service_autorestart,
|
||||
}
|
||||
}
|
||||
|
||||
18
dev/vagrant/dolibarrdev/puphpet/puppet/modules/puphpet/manifests/supervisord.pp
vendored
Normal file
18
dev/vagrant/dolibarrdev/puphpet/puppet/modules/puphpet/manifests/supervisord.pp
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
# This depends on
|
||||
# ajcrowe/supervisord: https://github.com/ajcrowe/puppet-supervisord
|
||||
|
||||
class puphpet::supervisord {
|
||||
|
||||
if ! defined(Class['::supervisord']) {
|
||||
class{ 'puphpet::python::pip': }
|
||||
|
||||
class { '::supervisord':
|
||||
install_pip => false,
|
||||
require => [
|
||||
Class['::my_fw::post'],
|
||||
Class['puphpet::python::pip'],
|
||||
],
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -111,6 +111,23 @@ class { 'rabbitmq':
|
||||
}
|
||||
```
|
||||
|
||||
**NOTE:** If you are using a version of RabbitMQ less than 3.0,
|
||||
you still need to use `x-ha-policy: all` in your client
|
||||
applications for any particular queue to take advantage of H/A via
|
||||
mirrored queues.
|
||||
|
||||
If you are using a version of RabbitMQ >= 3.0 You should set the
|
||||
'config_mirrored_queues' parameter if you plan
|
||||
on using RabbitMQ Mirrored Queues within your cluster:
|
||||
|
||||
```puppet
|
||||
class { 'rabbitmq':
|
||||
config_cluster => true,
|
||||
config_mirrored_queues => true,
|
||||
cluster_nodes => ['rabbit1', 'rabbit2'],
|
||||
}
|
||||
```
|
||||
|
||||
##Reference
|
||||
|
||||
##Classes
|
||||
@ -234,6 +251,15 @@ Determines if the service is managed.
|
||||
|
||||
The name of the service to manage.
|
||||
|
||||
####`ssl`
|
||||
|
||||
Configures the service for using SSL.
|
||||
|
||||
####`ssl_only`
|
||||
|
||||
Configures the service to only use SSL. No cleartext TCP listeners will be created.
|
||||
Requires that ssl => true also.
|
||||
|
||||
####`stomp_port`
|
||||
|
||||
The port to use for Stomp.
|
||||
@ -262,6 +288,16 @@ rabbitmq_user { 'dan':
|
||||
password => 'bar',
|
||||
}
|
||||
```
|
||||
Optional parameter tags will set further rabbitmq tags like monitoring, policymaker, etc.
|
||||
To set the administrator tag use admin-flag.
|
||||
```puppet
|
||||
rabbitmq_user { 'dan':
|
||||
admin => true,
|
||||
password => 'bar',
|
||||
tags => ['monitoring', 'tag1'],
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
### rabbitmq\_vhost
|
||||
|
||||
@ -317,8 +353,8 @@ The module has been tested on:
|
||||
|
||||
Testing on other platforms has been light and cannot be guaranteed.
|
||||
|
||||
### RedHat module dependencies
|
||||
To have a suitable erlang version installed on RedHat systems,
|
||||
### Module dependencies
|
||||
To have a suitable erlang version installed on RedHat and Debian systems,
|
||||
you have to install another puppet module from http://forge.puppetlabs.com/garethr/erlang with:
|
||||
|
||||
puppet module install garethr-erlang
|
||||
@ -326,9 +362,18 @@ you have to install another puppet module from http://forge.puppetlabs.com/garet
|
||||
This module handles the packages for erlang.
|
||||
To use the module, add the following snippet to your site.pp or an appropriate profile class:
|
||||
|
||||
For RedHat systems:
|
||||
|
||||
include 'erlang'
|
||||
class { 'erlang': epel_enable => true}
|
||||
|
||||
For Debian systems:
|
||||
|
||||
include 'erlang'
|
||||
package { 'erlang-base':
|
||||
ensure => 'latest',
|
||||
}
|
||||
|
||||
##Development
|
||||
|
||||
Puppet Labs modules on the Puppet Forge are open projects, and community
|
||||
|
||||
Binary file not shown.
@ -2,7 +2,9 @@ require 'puppet'
|
||||
Puppet::Type.type(:rabbitmq_exchange).provide(:rabbitmqadmin) do
|
||||
|
||||
commands :rabbitmqctl => '/usr/sbin/rabbitmqctl'
|
||||
commands :rabbitmqadmin => '/usr/local/bin/rabbitmqadmin'
|
||||
has_command(:rabbitmqadmin, '/usr/local/bin/rabbitmqadmin') do
|
||||
environment( { 'HOME' => '' })
|
||||
end
|
||||
defaultfor :feature => :posix
|
||||
|
||||
def should_vhost
|
||||
|
||||
@ -1,10 +1,20 @@
|
||||
Puppet::Type.type(:rabbitmq_plugin).provide(:rabbitmqplugins) do
|
||||
|
||||
if Puppet::PUPPETVERSION.to_f < 3
|
||||
commands :rabbitmqplugins => 'rabbitmq-plugins'
|
||||
if Facter.value(:osfamily) == 'RedHat'
|
||||
commands :rabbitmqplugins => '/usr/lib/rabbitmq/bin/rabbitmq-plugins'
|
||||
else
|
||||
commands :rabbitmqplugins => 'rabbitmq-plugins'
|
||||
end
|
||||
else
|
||||
has_command(:rabbitmqplugins, 'rabbitmq-plugins') do
|
||||
environment :HOME => "/tmp"
|
||||
if Facter.value(:osfamily) == 'RedHat'
|
||||
has_command(:rabbitmqplugins, '/usr/lib/rabbitmq/bin/rabbitmq-plugins') do
|
||||
environment :HOME => "/tmp"
|
||||
end
|
||||
else
|
||||
has_command(:rabbitmqplugins, 'rabbitmq-plugins') do
|
||||
environment :HOME => "/tmp"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -27,6 +27,9 @@ Puppet::Type.type(:rabbitmq_user).provide(:rabbitmqctl) do
|
||||
if resource[:admin] == :true
|
||||
make_user_admin()
|
||||
end
|
||||
if !resource[:tags].nil?
|
||||
set_user_tags(resource[:tags])
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
@ -39,8 +42,18 @@ Puppet::Type.type(:rabbitmq_user).provide(:rabbitmqctl) do
|
||||
end
|
||||
end
|
||||
|
||||
# def password
|
||||
# def password=()
|
||||
|
||||
def tags
|
||||
get_user_tags.entries.sort
|
||||
end
|
||||
|
||||
|
||||
def tags=(tags)
|
||||
if ! tags.nil?
|
||||
set_user_tags(tags)
|
||||
end
|
||||
end
|
||||
|
||||
def admin
|
||||
if usertags = get_user_tags
|
||||
(:true if usertags.include?('administrator')) || :false
|
||||
@ -49,7 +62,6 @@ Puppet::Type.type(:rabbitmq_user).provide(:rabbitmqctl) do
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def admin=(state)
|
||||
if state == :true
|
||||
make_user_admin()
|
||||
@ -60,6 +72,16 @@ Puppet::Type.type(:rabbitmq_user).provide(:rabbitmqctl) do
|
||||
end
|
||||
end
|
||||
|
||||
def set_user_tags(tags)
|
||||
is_admin = get_user_tags().member?("administrator") \
|
||||
|| resource[:admin] == :true
|
||||
usertags = Set.new(tags)
|
||||
if is_admin
|
||||
usertags.add("administrator")
|
||||
end
|
||||
rabbitmqctl('set_user_tags', resource[:name], usertags.entries.sort)
|
||||
end
|
||||
|
||||
def make_user_admin
|
||||
usertags = get_user_tags
|
||||
usertags.add('administrator')
|
||||
@ -73,5 +95,4 @@ Puppet::Type.type(:rabbitmq_user).provide(:rabbitmqctl) do
|
||||
end.compact.first
|
||||
Set.new(match[1].split(/, /)) if match
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@ -33,6 +33,10 @@ Puppet::Type.newtype(:rabbitmq_user) do
|
||||
defaultto :false
|
||||
end
|
||||
|
||||
newproperty(:tags, :array_matching => :all) do
|
||||
desc 'additional tags for the user'
|
||||
end
|
||||
|
||||
validate do
|
||||
if self[:ensure] == :present and ! self[:password]
|
||||
raise ArgumentError, 'must set password when creating user' unless self[:password]
|
||||
|
||||
@ -17,11 +17,14 @@ class rabbitmq::config {
|
||||
$port = $rabbitmq::port
|
||||
$service_name = $rabbitmq::service_name
|
||||
$ssl = $rabbitmq::ssl
|
||||
$ssl_only = $rabbitmq::ssl_only
|
||||
$ssl_cacert = $rabbitmq::ssl_cacert
|
||||
$ssl_cert = $rabbitmq::ssl_cert
|
||||
$ssl_key = $rabbitmq::ssl_key
|
||||
$ssl_management_port = $rabbitmq::ssl_management_port
|
||||
$ssl_stomp_port = $rabbitmq::ssl_stomp_port
|
||||
$ssl_verify = $rabbitmq::ssl_verify
|
||||
$ssl_fail_if_no_peer_cert = $rabbitmq::ssl_fail_if_no_peer_cert
|
||||
$stomp_port = $rabbitmq::stomp_port
|
||||
$wipe_db_on_cookie_change = $rabbitmq::wipe_db_on_cookie_change
|
||||
$config_variables = $rabbitmq::config_variables
|
||||
@ -115,3 +118,4 @@ class rabbitmq::config {
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -6,6 +6,7 @@ class rabbitmq(
|
||||
$cluster_nodes = $rabbitmq::params::cluster_nodes,
|
||||
$config = $rabbitmq::params::config,
|
||||
$config_cluster = $rabbitmq::params::config_cluster,
|
||||
$config_mirrored_queues = $rabbitmq::params::config_mirrored_queues,
|
||||
$config_path = $rabbitmq::params::config_path,
|
||||
$config_stomp = $rabbitmq::params::config_stomp,
|
||||
$default_user = $rabbitmq::params::default_user,
|
||||
@ -29,6 +30,7 @@ class rabbitmq(
|
||||
$service_manage = $rabbitmq::params::service_manage,
|
||||
$service_name = $rabbitmq::params::service_name,
|
||||
$ssl = $rabbitmq::params::ssl,
|
||||
$ssl_only = $rabbitmq::params::ssl_only,
|
||||
$ssl_cacert = $rabbitmq::params::ssl_cacert,
|
||||
$ssl_cert = $rabbitmq::params::ssl_cert,
|
||||
$ssl_key = $rabbitmq::params::ssl_key,
|
||||
@ -59,7 +61,6 @@ class rabbitmq(
|
||||
validate_string($package_gpg_key)
|
||||
validate_string($package_name)
|
||||
validate_string($package_provider)
|
||||
validate_string($package_source)
|
||||
validate_bool($manage_repos)
|
||||
validate_re($version, '^\d+\.\d+\.\d+(-\d+)*$') # Allow 3 digits and optional -n postfix.
|
||||
# Validate config parameters.
|
||||
@ -69,6 +70,7 @@ class rabbitmq(
|
||||
validate_string($config)
|
||||
validate_absolute_path($config_path)
|
||||
validate_bool($config_cluster)
|
||||
validate_bool($config_mirrored_queues)
|
||||
validate_bool($config_stomp)
|
||||
validate_string($default_user)
|
||||
validate_string($default_pass)
|
||||
@ -87,6 +89,7 @@ class rabbitmq(
|
||||
validate_bool($service_manage)
|
||||
validate_string($service_name)
|
||||
validate_bool($ssl)
|
||||
validate_bool($ssl_only)
|
||||
validate_string($ssl_cacert)
|
||||
validate_string($ssl_cert)
|
||||
validate_string($ssl_key)
|
||||
@ -105,6 +108,10 @@ class rabbitmq(
|
||||
validate_hash($config_variables)
|
||||
validate_hash($config_kernel_variables)
|
||||
|
||||
if $ssl_only and ! $ssl {
|
||||
fail('$ssl_only => true requires that $ssl => true')
|
||||
}
|
||||
|
||||
include '::rabbitmq::install'
|
||||
include '::rabbitmq::config'
|
||||
include '::rabbitmq::service'
|
||||
|
||||
@ -10,4 +10,10 @@ class rabbitmq::management {
|
||||
}
|
||||
}
|
||||
|
||||
if $rabbitmq::config_mirrored_queues {
|
||||
rabbitmq::policy { 'ha-all':
|
||||
pattern => '.*',
|
||||
definition => '{"ha-mode":"all","ha-sync-mode":"automatic"}'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -61,6 +61,7 @@ class rabbitmq::params {
|
||||
$cluster_nodes = []
|
||||
$config = 'rabbitmq/rabbitmq.config.erb'
|
||||
$config_cluster = false
|
||||
$config_mirrored_queues = false
|
||||
$config_path = '/etc/rabbitmq/rabbitmq.config'
|
||||
$config_stomp = false
|
||||
$default_user = 'guest'
|
||||
@ -73,6 +74,7 @@ class rabbitmq::params {
|
||||
$plugin_dir = "/usr/lib/rabbitmq/lib/rabbitmq_server-${version}/plugins"
|
||||
$port = '5672'
|
||||
$ssl = false
|
||||
$ssl_only = false
|
||||
$ssl_cacert = 'UNSET'
|
||||
$ssl_cert = 'UNSET'
|
||||
$ssl_key = 'UNSET'
|
||||
|
||||
15
dev/vagrant/dolibarrdev/puphpet/puppet/modules/rabbitmq/manifests/policy.pp
vendored
Normal file
15
dev/vagrant/dolibarrdev/puphpet/puppet/modules/rabbitmq/manifests/policy.pp
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
define rabbitmq::policy (
|
||||
$pattern,
|
||||
$definition,
|
||||
$vhost = '/',
|
||||
$priority = 0,
|
||||
) {
|
||||
|
||||
exec { "rabbitmq policy: ${title}":
|
||||
command => "rabbitmqctl set_policy -p ${vhost} '${name}' '${pattern}' '${definition}' ${priority}",
|
||||
unless => "rabbitmqctl list_policies | grep -qE '^${vhost}\\s+${name}\\s+${pattern}\\s+${definition}\\s+${priority}$'",
|
||||
path => ['/bin','/sbin','/usr/bin','/usr/sbin'],
|
||||
require => Class['rabbitmq::service'],
|
||||
before => Anchor['rabbitmq::end']
|
||||
}
|
||||
}
|
||||
@ -66,7 +66,7 @@ class rabbitmq::server(
|
||||
}
|
||||
|
||||
if $config_mirrored_queues != undef {
|
||||
warning('The $config_mirrored_queues parameter is deprecated; it does not affect anything')
|
||||
warning('The $config_mirrored_queues parameter is deprecated in this class, use the rabbitmq class')
|
||||
}
|
||||
|
||||
anchor {'before::rabbimq::class':
|
||||
|
||||
@ -20,7 +20,7 @@ describe 'rabbitmq' do
|
||||
let(:facts) {{ :osfamily => 'Debian' }}
|
||||
it 'should add a repo with defaults values' do
|
||||
contain_file('/etc/apt/sources.list.d/rabbitmq.list')\
|
||||
.with_content(/deb http\:\/\/www\.rabbitmq.com\/debian\/ testing main/)
|
||||
.with_content(%r|deb http\://www\.rabbitmq.com/debian/ testing main|)
|
||||
end
|
||||
end
|
||||
|
||||
@ -32,7 +32,7 @@ describe 'rabbitmq' do
|
||||
}}
|
||||
it 'should add a repo with custom new values' do
|
||||
contain_file('/etc/apt/sources.list.d/rabbitmq.list')\
|
||||
.with_content(/deb http\:\/\/www\.foorepo.com\/debian\/ unstable main/)
|
||||
.with_content(%r|deb http\://www\.foorepo.com/debian/ unstable main|)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -275,6 +275,30 @@ describe 'rabbitmq' do
|
||||
end
|
||||
end
|
||||
|
||||
describe 'configuring ldap authentication' do
|
||||
let :params do
|
||||
{ :config_stomp => false,
|
||||
:ldap_auth => true,
|
||||
:ldap_server => 'ldap.example.com',
|
||||
:ldap_user_dn_pattern => 'ou=users,dc=example,dc=com',
|
||||
:ldap_use_ssl => false,
|
||||
:ldap_port => '389',
|
||||
:ldap_log => true
|
||||
}
|
||||
end
|
||||
|
||||
it { should contain_rabbitmq_plugin('rabbitmq_auth_backend_ldap') }
|
||||
|
||||
it 'should contain ldap parameters' do
|
||||
verify_contents(subject, 'rabbitmq.config',
|
||||
['[', ' {rabbit, [', ' {auth_backends, [rabbit_auth_backend_internal, rabbit_auth_backend_ldap]},', ' ]}',
|
||||
' {rabbitmq_auth_backend_ldap, [', ' {other_bind, anon},',
|
||||
' {servers, ["ldap.example.com"]},',
|
||||
' {user_dn_pattern, "ou=users,dc=example,dc=com"},', ' {use_ssl, false},',
|
||||
' {port, 389},', ' {log, true}'])
|
||||
end
|
||||
end
|
||||
|
||||
describe 'default_user and default_pass set' do
|
||||
let(:params) {{ :default_user => 'foo', :default_pass => 'bar' }}
|
||||
it 'should set default_user and default_pass to specified values' do
|
||||
@ -295,10 +319,31 @@ describe 'rabbitmq' do
|
||||
|
||||
it 'should set ssl options to specified values' do
|
||||
contain_file('rabbitmq.config').with({
|
||||
'content' => /ssl_listeners, \[3141\].*
|
||||
ssl_options, \[{cacertfile,"\/path\/to\/cacert".*
|
||||
certfile="\/path\/to\/cert".*
|
||||
keyfile,"\/path\/to\/key/,
|
||||
'content' => %r|ssl_listeners, \[3141\].*
|
||||
ssl_options, \[{cacertfile,"/path/to/cacert".*
|
||||
certfile="/path/to/cert".*
|
||||
keyfile,"/path/to/key|,
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
describe 'ssl options with ssl_only' do
|
||||
let(:params) {
|
||||
{ :ssl => true,
|
||||
:ssl_only => true,
|
||||
:ssl_management_port => 3141,
|
||||
:ssl_cacert => '/path/to/cacert',
|
||||
:ssl_cert => '/path/to/cert',
|
||||
:ssl_key => '/path/to/key'
|
||||
} }
|
||||
|
||||
it 'should set ssl options to specified values' do
|
||||
contain_file('rabbitmq.config').with({
|
||||
'content' => %r|tcp_listeners, \[\].*
|
||||
ssl_listeners, \[3141\].*
|
||||
ssl_options, \[{cacertfile,"/path/to/cacert".*
|
||||
certfile="/path/to/cert".*
|
||||
keyfile,"/path/to/key|,
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
@ -147,4 +147,90 @@ EOT
|
||||
@provider.expects(:rabbitmqctl).with('set_user_tags', 'foo', ['bar','baz'].sort)
|
||||
@provider.admin=:false
|
||||
end
|
||||
|
||||
it 'should clear all tags on existing user' do
|
||||
@provider.expects(:rabbitmqctl).with('list_users').returns <<-EOT
|
||||
Listing users ...
|
||||
one [administrator]
|
||||
foo [tag1,tag2]
|
||||
icinga [monitoring]
|
||||
kitchen []
|
||||
kitchen2 [abc, def, ghi]
|
||||
...done.
|
||||
EOT
|
||||
@provider.expects(:rabbitmqctl).with('set_user_tags', 'foo', [])
|
||||
@provider.tags=[]
|
||||
end
|
||||
|
||||
it 'should set multiple tags' do
|
||||
@provider.expects(:rabbitmqctl).with('list_users').returns <<-EOT
|
||||
Listing users ...
|
||||
one [administrator]
|
||||
foo []
|
||||
icinga [monitoring]
|
||||
kitchen []
|
||||
kitchen2 [abc, def, ghi]
|
||||
...done.
|
||||
EOT
|
||||
@provider.expects(:rabbitmqctl).with('set_user_tags', 'foo', ['tag1','tag2'])
|
||||
@provider.tags=['tag1','tag2']
|
||||
end
|
||||
|
||||
it 'should clear tags while keep admin tag' do
|
||||
@resource[:admin] = true
|
||||
@provider.expects(:rabbitmqctl).with('list_users').returns <<-EOT
|
||||
Listing users ...
|
||||
one [administrator]
|
||||
foo [administrator, tag1, tag2]
|
||||
icinga [monitoring]
|
||||
kitchen []
|
||||
kitchen2 [abc, def, ghi]
|
||||
...done.
|
||||
EOT
|
||||
@provider.expects(:rabbitmqctl).with('set_user_tags', 'foo', ["administrator"])
|
||||
@provider.tags=[]
|
||||
end
|
||||
|
||||
it 'should change tags while keep admin tag' do
|
||||
@resource[:admin] = true
|
||||
@provider.expects(:rabbitmqctl).with('list_users').returns <<-EOT
|
||||
Listing users ...
|
||||
one [administrator]
|
||||
foo [administrator, tag1, tag2]
|
||||
icinga [monitoring]
|
||||
kitchen []
|
||||
kitchen2 [abc, def, ghi]
|
||||
...done.
|
||||
EOT
|
||||
@provider.expects(:rabbitmqctl).with('set_user_tags', 'foo', ["administrator","tag1","tag3","tag7"])
|
||||
@provider.tags=['tag1','tag7','tag3']
|
||||
end
|
||||
|
||||
it 'should create user with tags and without admin' do
|
||||
@resource[:tags] = [ "tag1", "tag2" ]
|
||||
@provider.expects(:rabbitmqctl).with('add_user', 'foo', 'bar')
|
||||
@provider.expects(:rabbitmqctl).with('set_user_tags', 'foo', ["tag1","tag2"])
|
||||
@provider.expects(:rabbitmqctl).with('list_users').returns <<-EOT
|
||||
Listing users ...
|
||||
foo []
|
||||
...done.
|
||||
EOT
|
||||
@provider.create
|
||||
end
|
||||
|
||||
it 'should create user with tags and with admin' do
|
||||
@resource[:tags] = [ "tag1", "tag2" ]
|
||||
@resource[:admin] = true
|
||||
@provider.expects(:rabbitmqctl).with('add_user', 'foo', 'bar')
|
||||
@provider.expects(:rabbitmqctl).with('list_users').twice.returns <<-EOT
|
||||
Listing users ...
|
||||
foo []
|
||||
...done.
|
||||
EOT
|
||||
@provider.expects(:rabbitmqctl).with('set_user_tags', 'foo', ["administrator"])
|
||||
@provider.expects(:rabbitmqctl).with('set_user_tags', 'foo', ["administrator","tag1","tag2"])
|
||||
@provider.create
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
@ -9,7 +9,10 @@
|
||||
{cluster_nodes, {[<%= @r_cluster_nodes.map { |n| "\'rabbit@#{n}\'" }.join(', ') %>], <%= @cluster_node_type %>}},
|
||||
{cluster_partition_handling, <%= @cluster_partition_handling %>},
|
||||
<% end -%>
|
||||
<%- if @ssl %>
|
||||
<%- if @ssl_only -%>
|
||||
{tcp_listeners, []},
|
||||
<%- end -%>
|
||||
<%- if @ssl -%>
|
||||
{ssl_listeners, [<%= @ssl_management_port %>]},
|
||||
{ssl_options, [{cacertfile,"<%= @ssl_cacert %>"},
|
||||
{certfile,"<%= @ssl_cert %>"},
|
||||
@ -37,6 +40,7 @@
|
||||
{ssl_listeners, [<%= @ssl_stomp_port %>]}
|
||||
<%- end -%>
|
||||
]}
|
||||
<% end -%>
|
||||
<%- if @ldap_auth -%>,
|
||||
% Configure the LDAP authentication plugin
|
||||
{rabbitmq_auth_backend_ldap, [
|
||||
@ -47,7 +51,6 @@
|
||||
{port, <%= @ldap_port %>},
|
||||
{log, <%= @ldap_log %>}
|
||||
]}
|
||||
<% end -%>
|
||||
<%- end -%>
|
||||
].
|
||||
% EOF
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user