@fishawack/lab-env 4.21.0 → 4.22.1
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.
- package/CHANGELOG.md +20 -0
- package/commands/create/libs/aws-cloudfront-response.js +12 -0
- package/commands/create/services/aws/index.js +1 -1
- package/commands/create/templates/elasticbeanstalk/.ebextensions/drupal/post-deploy.config +14 -0
- package/commands/create/templates/elasticbeanstalk/.ebextensions/drupal/pre-deploy.config +10 -0
- package/commands/create/templates/elasticbeanstalk/.ebextensions/drupal/software.config +5 -0
- package/commands/create/templates/elasticbeanstalk/.ebextensions/laravel/post-deploy.config +6 -0
- package/commands/create/templates/elasticbeanstalk/.ebextensions/laravel/software.config +16 -0
- package/commands/create/templates/elasticbeanstalk/.ebextensions/nginx/auto-ssl.config +24 -0
- package/commands/create/templates/elasticbeanstalk/.ebextensions/wordpress/post-deploy.config +6 -2
- package/commands/create/templates/elasticbeanstalk/.platform/httpd/conf.d/elasticbeanstalk/443/ssl.conf +4 -0
- package/commands/create/templates/elasticbeanstalk/.platform/httpd/conf.d/elasticbeanstalk/443/www-to-nonwww-redirection.conf +3 -0
- package/commands/create/templates/elasticbeanstalk/.platform/httpd/conf.d/elasticbeanstalk/80/http-https-redirection.conf +3 -0
- package/commands/create/templates/elasticbeanstalk/.platform/httpd/conf.d/security_headers.conf +7 -0
- package/commands/create/templates/elasticbeanstalk/.platform/httpd/conf.d/virtualhost-443.conf +5 -0
- package/commands/create/templates/elasticbeanstalk/.platform/httpd/conf.d/virtualhost-80.conf +3 -0
- package/commands/create/templates/elasticbeanstalk/.platform/nginx/conf.d/buffer_size.conf +6 -0
- package/commands/create/templates/elasticbeanstalk/.platform/nginx/conf.d/elasticbeanstalk/http-https-redirection.conf +3 -0
- package/commands/create/templates/elasticbeanstalk/.platform/nginx/conf.d/elasticbeanstalk/laravel.conf +4 -0
- package/commands/create/templates/elasticbeanstalk/.platform/nginx/conf.d/elasticbeanstalk/www-to-nonwww-redirection.conf +7 -0
- package/commands/create/templates/elasticbeanstalk/.platform/nginx/conf.d/security_headers.conf +4 -0
- package/commands/create/templates/elasticbeanstalk/.platform/nginx/conf.d/ssl.conf +21 -0
- package/commands/create/templates/elasticbeanstalk/.platform/nginx/conf.d/upload_size.conf +1 -0
- package/craftcms/3/php/CHANGELOG.md +3 -0
- package/craftcms/3/php/Dockerfile +3 -0
- package/craftcms/3/php/package.json +1 -1
- package/drupal/9/php/CHANGELOG.md +3 -0
- package/drupal/9/php/Dockerfile +3 -0
- package/drupal/9/php/package.json +1 -1
- package/globals.js +4 -1
- package/laravel/9/docker-compose.yml +13 -0
- package/laravel/9/php/CHANGELOG.md +3 -0
- package/laravel/9/php/Dockerfile +3 -0
- package/laravel/9/php/package.json +1 -1
- package/package.json +1 -1
- package/wordpress/1/php/CHANGELOG.md +3 -0
- package/wordpress/1/php/Dockerfile +3 -0
- package/wordpress/1/php/package.json +1 -1
- package/commands/create/templates/elasticbeanstalk/.platform/httpd/conf.d/elasticbeanstalk/http-https-redirection.conf +0 -5
- package/commands/create/templates/elasticbeanstalk/.platform/httpd/conf.d/ssl.conf +0 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
## Changelog
|
|
2
2
|
|
|
3
|
+
### 4.22.1 (2023-08-14)
|
|
4
|
+
* [Change] Bumped fishawack/lab-env-craftcms-3-php to 1.0.1
|
|
5
|
+
* [Change] Bumped fishawack/lab-env-drupal-9-php to 0.6.1
|
|
6
|
+
* [Change] Bumped fishawack/lab-env-laravel-9-php to 1.0.2
|
|
7
|
+
* [Change] Bumped fishawack/lab-env-wordpress-1-php to 1.1.1
|
|
8
|
+
* [Bug] move composer home directory so cache folder is writeable
|
|
9
|
+
* [Bug] move composer home directory so cache folder is writeable
|
|
10
|
+
* [Bug] move composer home directory so cache folder is writeable
|
|
11
|
+
* [Bug] move composer home directory so cache folder is writeable
|
|
12
|
+
|
|
13
|
+
### 4.22.0 (2023-08-09)
|
|
14
|
+
* [Feature] Added newly setup AWS accounts to the client prompts on @fishawack/core and @fishawack/lab-env have mismatching versions.
|
|
15
|
+
* [Feature] added drupal configs
|
|
16
|
+
* [Feature] laravel now ships with elasticsearch container
|
|
17
|
+
* [Feature] added security header template for nginx builds
|
|
18
|
+
* [Feature] added new cloudfront function template for response headers
|
|
19
|
+
* [Feature] use newer ciphers in nginx conf
|
|
20
|
+
* [Feature] added nginx and laravel aws configs
|
|
21
|
+
* [Bug] added apache security_headers conf
|
|
22
|
+
|
|
3
23
|
### 4.21.0 (2023-05-22)
|
|
4
24
|
* [Feature] added elastic beanstalk config stubs
|
|
5
25
|
* [Change] wp command now prepends vendor path in wordpress@1 and no longer passes path as its found in wp-cli yml
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
function handler(event) {
|
|
2
|
+
// Add security headers
|
|
3
|
+
var response = event.response;
|
|
4
|
+
var headers = response.headers;
|
|
5
|
+
|
|
6
|
+
headers['strict-transport-security'] = { value: 'max-age=31536000; includeSubDomains'};
|
|
7
|
+
headers['content-security-policy'] = { value: "default-src 'self' https: data: 'unsafe-inline';"};
|
|
8
|
+
headers['x-content-type-options'] = { value: 'nosniff'};
|
|
9
|
+
headers['x-frame-options'] = {value: 'sameorigin'};
|
|
10
|
+
|
|
11
|
+
return response;
|
|
12
|
+
}
|
|
@@ -6,7 +6,7 @@ module.exports.iam = require("./iam.js");
|
|
|
6
6
|
|
|
7
7
|
module.exports.slug = (repo, client, branch) => s3Safe(`${branch}-${repo}-${client}`);
|
|
8
8
|
|
|
9
|
-
module.exports.clients = ['fishawack', 'abbvie', 'sanofigenzyme', 'gsk', 'janssen', 'astrazeneca', 'ptc', 'jazz', 'pfizer', 'heron', 'novartis', 'training', 'merck', 'acadia', 'travere', 'roche', 'utc', 'bayer', 'alcon', 'uhc', 'chiesi', '3m', 'sarepta', 'ipsen', 'novocure', 'anthem', 'kyowakirin', 'optum', 'rally', 'menarini', 'childrensminnesota'];
|
|
9
|
+
module.exports.clients = ['fishawack', 'abbvie', 'sanofigenzyme', 'gsk', 'janssen', 'astrazeneca', 'ptc', 'jazz', 'pfizer', 'heron', 'novartis', 'training', 'merck', 'acadia', 'travere', 'roche', 'utc', 'bayer', 'alcon', 'uhc', 'chiesi', '3m', 'sarepta', 'ipsen', 'novocure', 'anthem', 'kyowakirin', 'optum', 'rally', 'menarini', 'childrensminnesota', 'gore'];
|
|
10
10
|
|
|
11
11
|
module.exports.static = async (name, account, tags = [], credentials = []) => {
|
|
12
12
|
let s3 = await module.exports.s3.createS3Bucket(name, account, tags);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
container_commands:
|
|
2
|
+
01-db-import:
|
|
3
|
+
command: "if [ -f auto-ci-db.sql ]; then vendor/bin/drush sql:drop -y; vendor/bin/drush sql:cli < auto-ci-db.sql; rm -rf auto-ci-db.sql; fi"
|
|
4
|
+
leader_only: true
|
|
5
|
+
02-db-remove:
|
|
6
|
+
command: "rm -rf auto-ci-db.sql"
|
|
7
|
+
03-run-configs:
|
|
8
|
+
command: "for d in ./web/sites/*/ ; do vendor/bin/drush -l $(basename $d) config:import -y; vendor/bin/drush -l $(basename $d) cr; done"
|
|
9
|
+
04-run-sitemaps:
|
|
10
|
+
command: "for d in ./web/sites/*/ ; do vendor/bin/drush -l $(basename $d) simple-sitemap:generate -y; vendor/bin/drush -l $(basename $d) cr; done"
|
|
11
|
+
05-maintenance-off:
|
|
12
|
+
command: "vendor/bin/drush state:set system.maintenance_mode 0 --input-format=integer || true"
|
|
13
|
+
06-clear-cache:
|
|
14
|
+
command: vendor/bin/drush cr || true
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
commands:
|
|
2
|
+
01-setvars:
|
|
3
|
+
command: /opt/elasticbeanstalk/bin/get-config environment | jq -r 'to_entries | .[] | "export \(.key)=\"\(.value)\""' > /etc/profile.d/sh.local
|
|
4
|
+
02-maintenance-on:
|
|
5
|
+
command: vendor/bin/drush state:set system.maintenance_mode 1 --input-format=integer 2>/dev/null || true
|
|
6
|
+
03-clear-cache:
|
|
7
|
+
command: vendor/bin/drush cr 2>/dev/null || true
|
|
8
|
+
packages:
|
|
9
|
+
yum:
|
|
10
|
+
jq: []
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
option_settings:
|
|
2
|
+
aws:elasticbeanstalk:container:php:phpini:
|
|
3
|
+
document_root: /public
|
|
4
|
+
aws:elasticbeanstalk:environment:proxy:
|
|
5
|
+
ProxyServer: nginx
|
|
6
|
+
|
|
7
|
+
files:
|
|
8
|
+
"/etc/php.d/custom.ini":
|
|
9
|
+
mode: "000755"
|
|
10
|
+
owner: root
|
|
11
|
+
group: root
|
|
12
|
+
content: |
|
|
13
|
+
memory_limit = 500M
|
|
14
|
+
upload_max_filesize = 500M
|
|
15
|
+
post_max_size = 500M
|
|
16
|
+
max_execution_time = 600
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
files:
|
|
2
|
+
/etc/cron.d/certbot_renew:
|
|
3
|
+
content: "@weekly root certbot renew\n"
|
|
4
|
+
group: root
|
|
5
|
+
mode: "000644"
|
|
6
|
+
owner: root
|
|
7
|
+
|
|
8
|
+
container_commands:
|
|
9
|
+
10_downloadepel:
|
|
10
|
+
command: "wget -r --no-parent -A 'epel-release-*.rpm' https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/"
|
|
11
|
+
20_installepel:
|
|
12
|
+
command: "rpm -Uvh dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-*.rpm --force"
|
|
13
|
+
30_enableepl:
|
|
14
|
+
command: "yum-config-manager --enable epel*"
|
|
15
|
+
40_installcertbot:
|
|
16
|
+
command: "yum install -y certbot"
|
|
17
|
+
50_getcert:
|
|
18
|
+
command: "certbot certonly --debug --non-interactive --email ${EMAIL_LINK} --agree-tos --standalone --expand --domains ${DOMAIN_LINK} --keep-until-expiring --pre-hook \"service nginx stop\""
|
|
19
|
+
60_link:
|
|
20
|
+
command: "ln -sf /etc/letsencrypt/live/$(echo ${DOMAIN_LINK} | cut -d, -f1) /etc/letsencrypt/live/ebcert"
|
|
21
|
+
70_startserver:
|
|
22
|
+
command: "service nginx start"
|
|
23
|
+
80_cleanup:
|
|
24
|
+
command: "rm -rf dl.fedoraproject.org"
|
package/commands/create/templates/elasticbeanstalk/.ebextensions/wordpress/post-deploy.config
CHANGED
|
@@ -4,7 +4,11 @@ container_commands:
|
|
|
4
4
|
leader_only: true
|
|
5
5
|
20-db-remove:
|
|
6
6
|
command: "rm -rf auto-ci-db.sql"
|
|
7
|
-
30-
|
|
7
|
+
30-cleanup-plugins:
|
|
8
|
+
command: "wp option update active_plugins {} --format=json"
|
|
9
|
+
40-activate-plugins:
|
|
10
|
+
command: "wp plugin activate --all"
|
|
11
|
+
50-rewrite-flush:
|
|
8
12
|
command: "vendor/bin/wp rewrite flush --hard"
|
|
9
|
-
|
|
13
|
+
60-rewrite-flush:
|
|
10
14
|
command: "vendor/bin/wp cli cache clear"
|
package/commands/create/templates/elasticbeanstalk/.platform/httpd/conf.d/security_headers.conf
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Header set X-Content-Type-Options "nosniff"
|
|
2
|
+
Header set Content-Security-Policy "default-src 'self' https: data: 'unsafe-inline';"
|
|
3
|
+
Header set X-Frame-Options 'sameorigin'
|
|
4
|
+
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"
|
|
5
|
+
|
|
6
|
+
ServerSignature Off
|
|
7
|
+
ServerTokens Prod
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
server {
|
|
2
|
+
listen 443 default_server ssl;
|
|
3
|
+
access_log /var/log/nginx/access.log main;
|
|
4
|
+
|
|
5
|
+
client_header_timeout 60;
|
|
6
|
+
client_body_timeout 60;
|
|
7
|
+
keepalive_timeout 60;
|
|
8
|
+
gzip off;
|
|
9
|
+
gzip_comp_level 4;
|
|
10
|
+
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
|
|
11
|
+
|
|
12
|
+
# Include the Elastic Beanstalk generated locations
|
|
13
|
+
include conf.d/elasticbeanstalk/*.conf;
|
|
14
|
+
|
|
15
|
+
ssl_certificate /etc/letsencrypt/live/ebcert/fullchain.pem;
|
|
16
|
+
ssl_certificate_key /etc/letsencrypt/live/ebcert/privkey.pem;
|
|
17
|
+
ssl_session_timeout 5m;
|
|
18
|
+
ssl_protocols TLSv1.2 TLSv1.3;
|
|
19
|
+
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
|
|
20
|
+
ssl_prefer_server_ciphers off;
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
client_max_body_size 500M;
|
|
@@ -18,6 +18,9 @@ COPY ./policy.xml /etc/ImageMagick-6/policy.xml
|
|
|
18
18
|
# Add php user
|
|
19
19
|
RUN useradd -m -G www-data -s /bin/bash php
|
|
20
20
|
|
|
21
|
+
# Change composer home dir
|
|
22
|
+
ENV COMPOSER_HOME=/home/php/.composer
|
|
23
|
+
|
|
21
24
|
# Cleanup apt-get install folders
|
|
22
25
|
RUN apt-get clean && \
|
|
23
26
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
package/drupal/9/php/Dockerfile
CHANGED
|
@@ -18,6 +18,9 @@ COPY ./policy.xml /etc/ImageMagick-6/policy.xml
|
|
|
18
18
|
# Add php user
|
|
19
19
|
RUN useradd -m -G www-data -s /bin/bash php
|
|
20
20
|
|
|
21
|
+
# Change composer home dir
|
|
22
|
+
ENV COMPOSER_HOME=/home/php/.composer
|
|
23
|
+
|
|
21
24
|
# Cleanup apt-get install folders
|
|
22
25
|
RUN apt-get clean && \
|
|
23
26
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
package/globals.js
CHANGED
|
@@ -231,7 +231,8 @@ if(platform === "wordpress" && process.env.VERSION_WORDPRESS !== "0"){
|
|
|
231
231
|
|
|
232
232
|
if(platform === "laravel"){
|
|
233
233
|
volumes.push(
|
|
234
|
-
'redis'
|
|
234
|
+
'redis',
|
|
235
|
+
'elasticsearch'
|
|
235
236
|
);
|
|
236
237
|
}
|
|
237
238
|
|
|
@@ -265,6 +266,7 @@ module.exports = {
|
|
|
265
266
|
if(platform === "laravel" || platform === "wordpress" || platform === "drupal" || platform === "craftcms"){
|
|
266
267
|
process.env.PORT_WEB = await getPort({port: getPort.makeRange(8000, 8100)});
|
|
267
268
|
process.env.PORT_DB = await getPort({port: getPort.makeRange(3306, 3406)});
|
|
269
|
+
process.env.PORT_ES = await getPort({port: getPort.makeRange(9200, 9300)});
|
|
268
270
|
}
|
|
269
271
|
}
|
|
270
272
|
},
|
|
@@ -274,6 +276,7 @@ module.exports = {
|
|
|
274
276
|
|
|
275
277
|
if(+process.env.PORT_WEB) ports.web = {port: +process.env.PORT_WEB};
|
|
276
278
|
if(+process.env.PORT_DB) ports.db = {port: +process.env.PORT_DB};
|
|
279
|
+
if(+process.env.PORT_ES) ports.es = {port: +process.env.PORT_ES};
|
|
277
280
|
|
|
278
281
|
console.table(ports);
|
|
279
282
|
}
|
|
@@ -45,6 +45,17 @@ services:
|
|
|
45
45
|
- default
|
|
46
46
|
volumes:
|
|
47
47
|
- redis:/data
|
|
48
|
+
elasticsearch:
|
|
49
|
+
image: elasticsearch:8.8.1
|
|
50
|
+
environment:
|
|
51
|
+
- discovery.type=single-node
|
|
52
|
+
- xpack.security.enabled=false
|
|
53
|
+
networks:
|
|
54
|
+
- default
|
|
55
|
+
ports:
|
|
56
|
+
- "${PORT_ES:-9200}:9200"
|
|
57
|
+
volumes:
|
|
58
|
+
- elasticsearch:/usr/share/elasticsearch/data
|
|
48
59
|
networks:
|
|
49
60
|
default:
|
|
50
61
|
driver: "bridge"
|
|
@@ -55,3 +66,5 @@ volumes:
|
|
|
55
66
|
driver: "local"
|
|
56
67
|
redis:
|
|
57
68
|
driver: "local"
|
|
69
|
+
elasticsearch:
|
|
70
|
+
driver: "local"
|
package/laravel/9/php/Dockerfile
CHANGED
|
@@ -15,6 +15,9 @@ COPY ./policy.xml /etc/ImageMagick-6/policy.xml
|
|
|
15
15
|
# Add php user
|
|
16
16
|
RUN useradd -m -G www-data -s /bin/bash php
|
|
17
17
|
|
|
18
|
+
# Change composer home dir
|
|
19
|
+
ENV COMPOSER_HOME=/home/php/.composer
|
|
20
|
+
|
|
18
21
|
# Cleanup apt-get install folders
|
|
19
22
|
RUN apt-get clean && \
|
|
20
23
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
package/package.json
CHANGED
|
@@ -18,6 +18,9 @@ COPY ./policy.xml /etc/ImageMagick-6/policy.xml
|
|
|
18
18
|
# Add php user
|
|
19
19
|
RUN useradd -m -G www-data -s /bin/bash php
|
|
20
20
|
|
|
21
|
+
# Change composer home dir
|
|
22
|
+
ENV COMPOSER_HOME=/home/php/.composer
|
|
23
|
+
|
|
21
24
|
# Cleanup apt-get install folders
|
|
22
25
|
RUN apt-get clean && \
|
|
23
26
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
Listen 443
|
|
2
|
-
|
|
3
|
-
<VirtualHost *:443>
|
|
4
|
-
DocumentRoot /var/www/html/wordpress
|
|
5
|
-
|
|
6
|
-
SSLEngine on
|
|
7
|
-
SSLCertificateFile /etc/letsencrypt/live/ebcert/fullchain.pem
|
|
8
|
-
SSLCertificateKeyFile /etc/letsencrypt/live/ebcert/privkey.pem
|
|
9
|
-
SSLCertificateChainFile /etc/letsencrypt/live/ebcert/chain.pem
|
|
10
|
-
</VirtualHost>
|