dslh 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/dslh.rb +11 -3
- data/lib/dslh/version.rb +1 -1
- data/spec/dslh_spec.rb +405 -257
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bb83267e46deb85fd756f9944f66a5ad898551a0
|
|
4
|
+
data.tar.gz: 11fab0af1cd6c6202a3fa92ce88ffbf7c453cf05
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c39c110477cc9cb2ba1cbbdae481fb13e08160a4b1e7f8de0f6081fc375179bd51d6fc81da76fc7f9029596e438429b0aa625fa5075ceb5791cd7d64dde53fd8
|
|
7
|
+
data.tar.gz: db1cdd35bbe981c41e590882fe8a1ff08663279d1673b21f3606d3af5efa05a2469baa4f0836f9bf6a1c8d187a71717472b66e0d5ae996694cf5eafd43df677c
|
data/README.md
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
It define Hash as a DSL.
|
|
4
4
|
|
|
5
|
-
[](http://badge.fury.io/rb/dslh)
|
|
6
|
-
[](https://drone.io/github.com/winebarrel/dslh/latest)
|
|
5
|
+
[](http://badge.fury.io/rb/dslh)
|
|
6
|
+
[](https://drone.io/github.com/winebarrel/dslh/latest)
|
|
7
7
|
|
|
8
8
|
## Installation
|
|
9
9
|
|
data/lib/dslh.rb
CHANGED
|
@@ -107,7 +107,7 @@ class Dslh
|
|
|
107
107
|
end
|
|
108
108
|
end
|
|
109
109
|
|
|
110
|
-
def value_proc(value, depth, value_buf)
|
|
110
|
+
def value_proc(value, depth, value_buf, newline = true)
|
|
111
111
|
indent = (INDENT_SPACES * depth)
|
|
112
112
|
next_indent = (INDENT_SPACES * (depth + 1))
|
|
113
113
|
value_conv = @options[:value_conv]
|
|
@@ -129,10 +129,14 @@ class Dslh
|
|
|
129
129
|
value_buf.puts(' [')
|
|
130
130
|
|
|
131
131
|
value.each_with_index do |v, i|
|
|
132
|
-
|
|
132
|
+
case v
|
|
133
|
+
when Hash
|
|
133
134
|
value_buf.puts(next_indent + '_{')
|
|
134
135
|
deval0(v, depth + 2, value_buf)
|
|
135
136
|
value_buf.print(next_indent + '}')
|
|
137
|
+
when Array
|
|
138
|
+
value_buf.print(next_indent.slice(0...-1))
|
|
139
|
+
value_proc(v, depth + 1, value_buf, false)
|
|
136
140
|
else
|
|
137
141
|
value_buf.print(next_indent + v.pretty_inspect.strip.gsub("\n", "\n" + next_indent))
|
|
138
142
|
end
|
|
@@ -140,7 +144,11 @@ class Dslh
|
|
|
140
144
|
value_buf.puts(i < (value.length - 1) ? ',' : '')
|
|
141
145
|
end
|
|
142
146
|
|
|
143
|
-
|
|
147
|
+
if newline
|
|
148
|
+
value_buf.puts(indent + ']')
|
|
149
|
+
else
|
|
150
|
+
value_buf.print(indent + ']')
|
|
151
|
+
end
|
|
144
152
|
elsif value.length == 1
|
|
145
153
|
value_buf.puts(' ' + value.inspect)
|
|
146
154
|
else
|
data/lib/dslh/version.rb
CHANGED
data/spec/dslh_spec.rb
CHANGED
|
@@ -688,7 +688,13 @@ Resources do
|
|
|
688
688
|
Resource do
|
|
689
689
|
Fn__Join [
|
|
690
690
|
"",
|
|
691
|
-
[
|
|
691
|
+
[
|
|
692
|
+
"arn:aws:s3:::",
|
|
693
|
+
_{
|
|
694
|
+
Ref "S3Bucket"
|
|
695
|
+
},
|
|
696
|
+
"/*"
|
|
697
|
+
]
|
|
692
698
|
]
|
|
693
699
|
end
|
|
694
700
|
Principal do
|
|
@@ -917,80 +923,110 @@ Resources do
|
|
|
917
923
|
Fn__Base64 do
|
|
918
924
|
Fn__Join [
|
|
919
925
|
"",
|
|
920
|
-
[
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
926
|
+
[
|
|
927
|
+
"#!/bin/bash -v\n",
|
|
928
|
+
"yum update -y aws-cfn-bootstrap\n",
|
|
929
|
+
"# Helper function\n",
|
|
930
|
+
"function error_exit\n",
|
|
931
|
+
"{\n",
|
|
932
|
+
" /opt/aws/bin/cfn-signal -e 1 -r \"$1\" '",
|
|
933
|
+
_{
|
|
934
|
+
Ref "WaitHandle"
|
|
935
|
+
},
|
|
936
|
+
"'\n",
|
|
937
|
+
" exit 1\n",
|
|
938
|
+
"}\n",
|
|
939
|
+
"# Install Apache Web Server, MySQL and Drupal\n",
|
|
940
|
+
"/opt/aws/bin/cfn-init -s ",
|
|
941
|
+
_{
|
|
942
|
+
Ref "AWS::StackId"
|
|
943
|
+
},
|
|
944
|
+
" -r LaunchConfig ",
|
|
945
|
+
" --region ",
|
|
946
|
+
_{
|
|
947
|
+
Ref "AWS::Region"
|
|
948
|
+
},
|
|
949
|
+
" || error_exit 'Failed to run cfn-init'\n",
|
|
950
|
+
"# Install s3fs\n",
|
|
951
|
+
"cd /home/ec2-user/s3fs/s3fs-1.61\n",
|
|
952
|
+
"./configure --prefix=/usr\n",
|
|
953
|
+
"make\n",
|
|
954
|
+
"make install\n",
|
|
955
|
+
"# Move the website files to the top level\n",
|
|
956
|
+
"mv /var/www/html/drupal-7.8/* /var/www/html\n",
|
|
957
|
+
"mv /var/www/html/drupal-7.8/.htaccess /var/www/html\n",
|
|
958
|
+
"rm -Rf /var/www/html/drupal-7.8\n",
|
|
959
|
+
"# Mount the S3 bucket\n",
|
|
960
|
+
"mv /var/www/html/sites/default/files /var/www/html/sites/default/files_original\n",
|
|
961
|
+
"mkdir -p /var/www/html/sites/default/files\n",
|
|
962
|
+
"s3fs -o allow_other -o use_cache=/tmp ",
|
|
963
|
+
_{
|
|
964
|
+
Ref "S3Bucket"
|
|
965
|
+
},
|
|
966
|
+
" /var/www/html/sites/default/files || error_exit 'Failed to mount the S3 bucket'\n",
|
|
967
|
+
"echo `hostname` >> /var/www/html/sites/default/files/hosts\n",
|
|
968
|
+
"# Make changes to Apache Web Server configuration\n",
|
|
969
|
+
"sed -i 's/AllowOverride None/AllowOverride All/g' /etc/httpd/conf/httpd.conf\n",
|
|
970
|
+
"service httpd restart\n",
|
|
971
|
+
"# Only execute the site install if we are the first host up - otherwise we'll end up losing all the data\n",
|
|
972
|
+
"read first < /var/www/html/sites/default/files/hosts\n",
|
|
973
|
+
"if [ `hostname` = $first ]\n",
|
|
974
|
+
"then\n",
|
|
975
|
+
" # Create the site in Drupal\n",
|
|
976
|
+
" cd /var/www/html\n",
|
|
977
|
+
" ~ec2-user/drush/drush site-install standard --yes",
|
|
978
|
+
" --site-name='",
|
|
979
|
+
_{
|
|
980
|
+
Ref "SiteName"
|
|
981
|
+
},
|
|
982
|
+
"' --site-mail=",
|
|
983
|
+
_{
|
|
984
|
+
Ref "SiteEMail"
|
|
985
|
+
},
|
|
986
|
+
" --account-name=",
|
|
987
|
+
_{
|
|
988
|
+
Ref "SiteAdmin"
|
|
989
|
+
},
|
|
990
|
+
" --account-pass=",
|
|
991
|
+
_{
|
|
992
|
+
Ref "SitePassword"
|
|
993
|
+
},
|
|
994
|
+
" --db-url=mysql://",
|
|
995
|
+
_{
|
|
996
|
+
Ref "DBUsername"
|
|
997
|
+
},
|
|
998
|
+
":",
|
|
999
|
+
_{
|
|
1000
|
+
Ref "DBPassword"
|
|
1001
|
+
},
|
|
1002
|
+
"@",
|
|
1003
|
+
_{
|
|
1004
|
+
Fn__GetAtt "DBInstance", "Endpoint.Address"
|
|
1005
|
+
},
|
|
1006
|
+
":",
|
|
1007
|
+
_{
|
|
1008
|
+
Fn__GetAtt "DBInstance", "Endpoint.Port"
|
|
1009
|
+
},
|
|
1010
|
+
"/",
|
|
1011
|
+
_{
|
|
1012
|
+
Ref "DBName"
|
|
1013
|
+
},
|
|
1014
|
+
" --db-prefix=drupal_\n",
|
|
1015
|
+
" # use the S3 bucket for shared file storage\n",
|
|
1016
|
+
" cp -R sites/default/files_original/* sites/default/files\n",
|
|
1017
|
+
" cp -R sites/default/files_original/.htaccess sites/default/files\n",
|
|
1018
|
+
"else\n",
|
|
1019
|
+
" # Copy settings.php file since everything else is configured\n",
|
|
1020
|
+
" cp /home/ec2-user/settings.php /var/www/html/sites/default\n",
|
|
1021
|
+
"fi\n",
|
|
1022
|
+
"rm /home/ec2-user/settings.php\n",
|
|
1023
|
+
"# All is well so signal success\n",
|
|
1024
|
+
"/opt/aws/bin/cfn-signal -e 0 -r \"Drupal setup complete\" '",
|
|
1025
|
+
_{
|
|
1026
|
+
Ref "WaitHandle"
|
|
1027
|
+
},
|
|
1028
|
+
"'\n"
|
|
1029
|
+
]
|
|
994
1030
|
]
|
|
995
1031
|
end
|
|
996
1032
|
end
|
|
@@ -1082,7 +1118,12 @@ Outputs do
|
|
|
1082
1118
|
Value do
|
|
1083
1119
|
Fn__Join [
|
|
1084
1120
|
"",
|
|
1085
|
-
[
|
|
1121
|
+
[
|
|
1122
|
+
"http://",
|
|
1123
|
+
_{
|
|
1124
|
+
Fn__GetAtt "ElasticLoadBalancer", "DNSName"
|
|
1125
|
+
}
|
|
1126
|
+
]
|
|
1086
1127
|
]
|
|
1087
1128
|
end
|
|
1088
1129
|
Description "Drupal Website"
|
|
@@ -1284,7 +1325,13 @@ Resources do
|
|
|
1284
1325
|
Resource do
|
|
1285
1326
|
Fn__Join [
|
|
1286
1327
|
"",
|
|
1287
|
-
[
|
|
1328
|
+
[
|
|
1329
|
+
"arn:aws:s3:::",
|
|
1330
|
+
_{
|
|
1331
|
+
Ref "S3Bucket"
|
|
1332
|
+
},
|
|
1333
|
+
"/*"
|
|
1334
|
+
]
|
|
1288
1335
|
]
|
|
1289
1336
|
end
|
|
1290
1337
|
Principal do
|
|
@@ -1416,7 +1463,16 @@ Resources do
|
|
|
1416
1463
|
content do
|
|
1417
1464
|
Fn__Join [
|
|
1418
1465
|
"",
|
|
1419
|
-
[
|
|
1466
|
+
[
|
|
1467
|
+
_{
|
|
1468
|
+
Ref "S3Keys"
|
|
1469
|
+
},
|
|
1470
|
+
":",
|
|
1471
|
+
_{
|
|
1472
|
+
Fn__GetAtt "S3Keys", "SecretAccessKey"
|
|
1473
|
+
},
|
|
1474
|
+
"\n"
|
|
1475
|
+
]
|
|
1420
1476
|
]
|
|
1421
1477
|
end
|
|
1422
1478
|
mode "000400"
|
|
@@ -1427,42 +1483,54 @@ Resources do
|
|
|
1427
1483
|
content do
|
|
1428
1484
|
Fn__Join [
|
|
1429
1485
|
"",
|
|
1430
|
-
[
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1486
|
+
[
|
|
1487
|
+
"<?php\n",
|
|
1488
|
+
"\n",
|
|
1489
|
+
"$databases = array (\n",
|
|
1490
|
+
" 'default' =>\n",
|
|
1491
|
+
" array (\n",
|
|
1492
|
+
" 'default' =>\n",
|
|
1493
|
+
" array (\n",
|
|
1494
|
+
" 'database' => '",
|
|
1495
|
+
_{
|
|
1496
|
+
Ref "DBName"
|
|
1497
|
+
},
|
|
1498
|
+
"',\n",
|
|
1499
|
+
" 'username' => '",
|
|
1500
|
+
_{
|
|
1501
|
+
Ref "DBUsername"
|
|
1502
|
+
},
|
|
1503
|
+
"',\n",
|
|
1504
|
+
" 'password' => '",
|
|
1505
|
+
_{
|
|
1506
|
+
Ref "DBPassword"
|
|
1507
|
+
},
|
|
1508
|
+
"',\n",
|
|
1509
|
+
" 'host' => '",
|
|
1510
|
+
_{
|
|
1511
|
+
Fn__GetAtt "DBInstance", "Endpoint.Address"
|
|
1512
|
+
},
|
|
1513
|
+
"',\n",
|
|
1514
|
+
" 'port' => '",
|
|
1515
|
+
_{
|
|
1516
|
+
Fn__GetAtt "DBInstance", "Endpoint.Port"
|
|
1517
|
+
},
|
|
1518
|
+
"',\n",
|
|
1519
|
+
" 'driver' => 'mysql',\n",
|
|
1520
|
+
" 'prefix' => 'drupal_',\n",
|
|
1521
|
+
" ),\n",
|
|
1522
|
+
" ),\n",
|
|
1523
|
+
");\n",
|
|
1524
|
+
"\n",
|
|
1525
|
+
"$update_free_access = FALSE;\n",
|
|
1526
|
+
"\n",
|
|
1527
|
+
"$drupal_hash_salt = '0c3R8noNALe3shsioQr5hK1dMHdwRfikLoSfqn0_xpA';\n",
|
|
1528
|
+
"\n",
|
|
1529
|
+
"ini_set('session.gc_probability', 1);\n",
|
|
1530
|
+
"ini_set('session.gc_divisor', 100);\n",
|
|
1531
|
+
"ini_set('session.gc_maxlifetime', 200000);\n",
|
|
1532
|
+
"ini_set('session.cookie_lifetime', 2000000);\n"
|
|
1533
|
+
]
|
|
1466
1534
|
]
|
|
1467
1535
|
end
|
|
1468
1536
|
mode "000400"
|
|
@@ -1518,80 +1586,110 @@ Resources do
|
|
|
1518
1586
|
Fn__Base64 do
|
|
1519
1587
|
Fn__Join [
|
|
1520
1588
|
"",
|
|
1521
|
-
[
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1589
|
+
[
|
|
1590
|
+
"#!/bin/bash -v\n",
|
|
1591
|
+
"yum update -y aws-cfn-bootstrap\n",
|
|
1592
|
+
"# Helper function\n",
|
|
1593
|
+
"function error_exit\n",
|
|
1594
|
+
"{\n",
|
|
1595
|
+
" /opt/aws/bin/cfn-signal -e 1 -r \"$1\" '",
|
|
1596
|
+
_{
|
|
1597
|
+
Ref "WaitHandle"
|
|
1598
|
+
},
|
|
1599
|
+
"'\n",
|
|
1600
|
+
" exit 1\n",
|
|
1601
|
+
"}\n",
|
|
1602
|
+
"# Install Apache Web Server, MySQL and Drupal\n",
|
|
1603
|
+
"/opt/aws/bin/cfn-init -s ",
|
|
1604
|
+
_{
|
|
1605
|
+
Ref "AWS::StackId"
|
|
1606
|
+
},
|
|
1607
|
+
" -r LaunchConfig ",
|
|
1608
|
+
" --region ",
|
|
1609
|
+
_{
|
|
1610
|
+
Ref "AWS::Region"
|
|
1611
|
+
},
|
|
1612
|
+
" || error_exit 'Failed to run cfn-init'\n",
|
|
1613
|
+
"# Install s3fs\n",
|
|
1614
|
+
"cd /home/ec2-user/s3fs/s3fs-1.61\n",
|
|
1615
|
+
"./configure --prefix=/usr\n",
|
|
1616
|
+
"make\n",
|
|
1617
|
+
"make install\n",
|
|
1618
|
+
"# Move the website files to the top level\n",
|
|
1619
|
+
"mv /var/www/html/drupal-7.8/* /var/www/html\n",
|
|
1620
|
+
"mv /var/www/html/drupal-7.8/.htaccess /var/www/html\n",
|
|
1621
|
+
"rm -Rf /var/www/html/drupal-7.8\n",
|
|
1622
|
+
"# Mount the S3 bucket\n",
|
|
1623
|
+
"mv /var/www/html/sites/default/files /var/www/html/sites/default/files_original\n",
|
|
1624
|
+
"mkdir -p /var/www/html/sites/default/files\n",
|
|
1625
|
+
"s3fs -o allow_other -o use_cache=/tmp ",
|
|
1626
|
+
_{
|
|
1627
|
+
Ref "S3Bucket"
|
|
1628
|
+
},
|
|
1629
|
+
" /var/www/html/sites/default/files || error_exit 'Failed to mount the S3 bucket'\n",
|
|
1630
|
+
"echo `hostname` >> /var/www/html/sites/default/files/hosts\n",
|
|
1631
|
+
"# Make changes to Apache Web Server configuration\n",
|
|
1632
|
+
"sed -i 's/AllowOverride None/AllowOverride All/g' /etc/httpd/conf/httpd.conf\n",
|
|
1633
|
+
"service httpd restart\n",
|
|
1634
|
+
"# Only execute the site install if we are the first host up - otherwise we'll end up losing all the data\n",
|
|
1635
|
+
"read first < /var/www/html/sites/default/files/hosts\n",
|
|
1636
|
+
"if [ `hostname` = $first ]\n",
|
|
1637
|
+
"then\n",
|
|
1638
|
+
" # Create the site in Drupal\n",
|
|
1639
|
+
" cd /var/www/html\n",
|
|
1640
|
+
" ~ec2-user/drush/drush site-install standard --yes",
|
|
1641
|
+
" --site-name='",
|
|
1642
|
+
_{
|
|
1643
|
+
Ref "SiteName"
|
|
1644
|
+
},
|
|
1645
|
+
"' --site-mail=",
|
|
1646
|
+
_{
|
|
1647
|
+
Ref "SiteEMail"
|
|
1648
|
+
},
|
|
1649
|
+
" --account-name=",
|
|
1650
|
+
_{
|
|
1651
|
+
Ref "SiteAdmin"
|
|
1652
|
+
},
|
|
1653
|
+
" --account-pass=",
|
|
1654
|
+
_{
|
|
1655
|
+
Ref "SitePassword"
|
|
1656
|
+
},
|
|
1657
|
+
" --db-url=mysql://",
|
|
1658
|
+
_{
|
|
1659
|
+
Ref "DBUsername"
|
|
1660
|
+
},
|
|
1661
|
+
":",
|
|
1662
|
+
_{
|
|
1663
|
+
Ref "DBPassword"
|
|
1664
|
+
},
|
|
1665
|
+
"@",
|
|
1666
|
+
_{
|
|
1667
|
+
Fn__GetAtt "DBInstance", "Endpoint.Address"
|
|
1668
|
+
},
|
|
1669
|
+
":",
|
|
1670
|
+
_{
|
|
1671
|
+
Fn__GetAtt "DBInstance", "Endpoint.Port"
|
|
1672
|
+
},
|
|
1673
|
+
"/",
|
|
1674
|
+
_{
|
|
1675
|
+
Ref "DBName"
|
|
1676
|
+
},
|
|
1677
|
+
" --db-prefix=drupal_\n",
|
|
1678
|
+
" # use the S3 bucket for shared file storage\n",
|
|
1679
|
+
" cp -R sites/default/files_original/* sites/default/files\n",
|
|
1680
|
+
" cp -R sites/default/files_original/.htaccess sites/default/files\n",
|
|
1681
|
+
"else\n",
|
|
1682
|
+
" # Copy settings.php file since everything else is configured\n",
|
|
1683
|
+
" cp /home/ec2-user/settings.php /var/www/html/sites/default\n",
|
|
1684
|
+
"fi\n",
|
|
1685
|
+
"rm /home/ec2-user/settings.php\n",
|
|
1686
|
+
"# All is well so signal success\n",
|
|
1687
|
+
"/opt/aws/bin/cfn-signal -e 0 -r \"Drupal setup complete\" '",
|
|
1688
|
+
_{
|
|
1689
|
+
Ref "WaitHandle"
|
|
1690
|
+
},
|
|
1691
|
+
"'\n"
|
|
1692
|
+
]
|
|
1595
1693
|
]
|
|
1596
1694
|
end
|
|
1597
1695
|
end
|
|
@@ -1683,7 +1781,12 @@ Outputs do
|
|
|
1683
1781
|
Value do
|
|
1684
1782
|
Fn__Join [
|
|
1685
1783
|
"",
|
|
1686
|
-
[
|
|
1784
|
+
[
|
|
1785
|
+
"http://",
|
|
1786
|
+
_{
|
|
1787
|
+
Fn__GetAtt "ElasticLoadBalancer", "DNSName"
|
|
1788
|
+
}
|
|
1789
|
+
]
|
|
1687
1790
|
]
|
|
1688
1791
|
end
|
|
1689
1792
|
Description "Drupal Website"
|
|
@@ -1874,20 +1977,32 @@ Resources do
|
|
|
1874
1977
|
content do
|
|
1875
1978
|
Fn__Join [
|
|
1876
1979
|
"",
|
|
1877
|
-
[
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1980
|
+
[
|
|
1981
|
+
"CREATE DATABASE ",
|
|
1982
|
+
_{
|
|
1983
|
+
Ref "DBName"
|
|
1984
|
+
},
|
|
1985
|
+
";\n",
|
|
1986
|
+
"CREATE USER '",
|
|
1987
|
+
_{
|
|
1988
|
+
Ref "DBUsername"
|
|
1989
|
+
},
|
|
1990
|
+
"'@'localhost' IDENTIFIED BY '",
|
|
1991
|
+
_{
|
|
1992
|
+
Ref "DBPassword"
|
|
1993
|
+
},
|
|
1994
|
+
"';\n",
|
|
1995
|
+
"GRANT ALL ON ",
|
|
1996
|
+
_{
|
|
1997
|
+
Ref "DBName"
|
|
1998
|
+
},
|
|
1999
|
+
".* TO '",
|
|
2000
|
+
_{
|
|
2001
|
+
Ref "DBUsername"
|
|
2002
|
+
},
|
|
2003
|
+
"'@'localhost';\n",
|
|
2004
|
+
"FLUSH PRIVILEGES;\n"
|
|
2005
|
+
]
|
|
1891
2006
|
]
|
|
1892
2007
|
end
|
|
1893
2008
|
mode "000644"
|
|
@@ -1947,59 +2062,87 @@ Resources do
|
|
|
1947
2062
|
Fn__Base64 do
|
|
1948
2063
|
Fn__Join [
|
|
1949
2064
|
"",
|
|
1950
|
-
[
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2065
|
+
[
|
|
2066
|
+
"#!/bin/bash -v\n",
|
|
2067
|
+
"yum update -y aws-cfn-bootstrap\n",
|
|
2068
|
+
"# Helper function\n",
|
|
2069
|
+
"function error_exit\n",
|
|
2070
|
+
"{\n",
|
|
2071
|
+
" /opt/aws/bin/cfn-signal -e 0 -r \"$1\" '",
|
|
2072
|
+
_{
|
|
2073
|
+
Ref "WaitHandle"
|
|
2074
|
+
},
|
|
2075
|
+
"'\n",
|
|
2076
|
+
" exit 1\n",
|
|
2077
|
+
"}\n",
|
|
2078
|
+
"# Install Apache Web Server, MySQL, PHP and Drupal\n",
|
|
2079
|
+
"/opt/aws/bin/cfn-init -s ",
|
|
2080
|
+
_{
|
|
2081
|
+
Ref "AWS::StackId"
|
|
2082
|
+
},
|
|
2083
|
+
" -r WebServer ",
|
|
2084
|
+
" --region ",
|
|
2085
|
+
_{
|
|
2086
|
+
Ref "AWS::Region"
|
|
2087
|
+
},
|
|
2088
|
+
" || error_exit 'Failed to run cfn-init'\n",
|
|
2089
|
+
"# Setup MySQL root password and create a user\n",
|
|
2090
|
+
"mysqladmin -u root password '",
|
|
2091
|
+
_{
|
|
2092
|
+
Ref "DBRootPassword"
|
|
2093
|
+
},
|
|
2094
|
+
"' || error_exit 'Failed to initialize root password'\n",
|
|
2095
|
+
"mysql -u root --password='",
|
|
2096
|
+
_{
|
|
2097
|
+
Ref "DBRootPassword"
|
|
2098
|
+
},
|
|
2099
|
+
"' < /tmp/setup.mysql || error_exit 'Failed to create database user'\n",
|
|
2100
|
+
"# Make changes to Apache Web Server configuration\n",
|
|
2101
|
+
"mv /var/www/html/drupal-7.8/* /var/www/html\n",
|
|
2102
|
+
"mv /var/www/html/drupal-7.8/.* /var/www/html\n",
|
|
2103
|
+
"rmdir /var/www/html/drupal-7.8\n",
|
|
2104
|
+
"sed -i 's/AllowOverride None/AllowOverride All/g' /etc/httpd/conf/httpd.conf\n",
|
|
2105
|
+
"service httpd restart\n",
|
|
2106
|
+
"# Create the site in Drupal\n",
|
|
2107
|
+
"cd /var/www/html\n",
|
|
2108
|
+
"~ec2-user/drush/drush site-install standard --yes",
|
|
2109
|
+
" --site-name='",
|
|
2110
|
+
_{
|
|
2111
|
+
Ref "SiteName"
|
|
2112
|
+
},
|
|
2113
|
+
"' --site-mail=",
|
|
2114
|
+
_{
|
|
2115
|
+
Ref "SiteEMail"
|
|
2116
|
+
},
|
|
2117
|
+
" --account-name=",
|
|
2118
|
+
_{
|
|
2119
|
+
Ref "SiteAdmin"
|
|
2120
|
+
},
|
|
2121
|
+
" --account-pass=",
|
|
2122
|
+
_{
|
|
2123
|
+
Ref "SitePassword"
|
|
2124
|
+
},
|
|
2125
|
+
" --db-url=mysql://",
|
|
2126
|
+
_{
|
|
2127
|
+
Ref "DBUsername"
|
|
2128
|
+
},
|
|
2129
|
+
":",
|
|
2130
|
+
_{
|
|
2131
|
+
Ref "DBPassword"
|
|
2132
|
+
},
|
|
2133
|
+
"@localhost/",
|
|
2134
|
+
_{
|
|
2135
|
+
Ref "DBName"
|
|
2136
|
+
},
|
|
2137
|
+
" --db-prefix=drupal_\n",
|
|
2138
|
+
"chown apache:apache sites/default/files\n",
|
|
2139
|
+
"# All is well so signal success\n",
|
|
2140
|
+
"/opt/aws/bin/cfn-signal -e 0 -r \"Drupal setup complete\" '",
|
|
2141
|
+
_{
|
|
2142
|
+
Ref "WaitHandle"
|
|
2143
|
+
},
|
|
2144
|
+
"'\n"
|
|
2145
|
+
]
|
|
2003
2146
|
]
|
|
2004
2147
|
end
|
|
2005
2148
|
end
|
|
@@ -2046,7 +2189,12 @@ Outputs do
|
|
|
2046
2189
|
Value do
|
|
2047
2190
|
Fn__Join [
|
|
2048
2191
|
"",
|
|
2049
|
-
[
|
|
2192
|
+
[
|
|
2193
|
+
"http://",
|
|
2194
|
+
_{
|
|
2195
|
+
Fn__GetAtt "WebServer", "PublicDnsName"
|
|
2196
|
+
}
|
|
2197
|
+
]
|
|
2050
2198
|
]
|
|
2051
2199
|
end
|
|
2052
2200
|
Description "Drupal Website"
|