Skip to content

Commit 70fa351

Browse files
committed
Merge branch 'release/1.0.0'
2 parents 989406b + 87a41cb commit 70fa351

File tree

290 files changed

+4825
-2875
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

290 files changed

+4825
-2875
lines changed

.editorconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ indent_size = 2
2323
[*.conf]
2424
indent_size = 2
2525

26+
[*.php]
27+
indent_size = 4
28+
2629
[DOCKER_REPOSITORY]
2730
insert_final_newline = false
2831

.gitignore

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
.idea
2-
/test/Dockerfile
3-
/test/vendor/
4-
/test/.bundle/
5-
/test/*.test
6-
/test/docker.test.*.tar
1+
/.idea
2+
/.cache
3+
/tests/serverspec/vendor
4+
/tests/serverspec/.bundle/
5+
/tests/serverspec/Dockerfile*
76
/BLACKLIST
87
*.log
8+
*.pyc
9+
.doit.db

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,12 @@
22
All notable changes to this project will be documented in this file.
33
This project adheres to [WebDevOps.io Dockerfile](https://github.com/webdevops/Dockerfile).
44

5-
## [1.0.0] - upcoming
5+
## [1.0.0] - 2016-11-28
6+
- Introduced python based processing script
7+
- Introduced testinfra test suite
8+
- Updated documentation
9+
- Added roundcube to `webdevops/mail-sandbox`
10+
- Update liquibase to 3.5.3
611

712
## [0.57.1] - 2016-10-11
813
- Added webdevops/liquibase:mysql (same as latest) with mysql support

DOCKER_REPOSITORY

Lines changed: 0 additions & 1 deletion
This file was deleted.

DOCKER_TAG_LATEST

Lines changed: 0 additions & 1 deletion
This file was deleted.

Makefile

Lines changed: 46 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,11 @@ list:
99
sh -c "echo; $(MAKE) -p no_targets__ | awk -F':' '/^[a-zA-Z0-9][^\$$#\\t=]*:([^=]|$$)/ {split(\$$1,A,/ /);for(i in A)print A[i]}' | grep -v '__\$$' | grep -v 'Makefile'| sort"
1010

1111
full: provision build
12+
1213
all: build
13-
build: bootstrap base web php php-dev hhvm service misc applications
14+
15+
build:
16+
python ./bin/console docker:build --threads=auto
1417

1518
bootstrap: webdevops/bootstrap webdevops/ansible
1619
base: webdevops/base webdevops/base-app webdevops/storage
@@ -26,20 +29,21 @@ applications: webdevops/typo3 webdevops/piwik
2629

2730
misc: webdevops/mail-sandbox webdevops/sphinx webdevops/liquibase
2831

29-
test:
30-
cd "test/" && make all
32+
requirements:
33+
pip install -r ./requirements.txt
34+
cd tests/serverspec && bundle install --path=vendor
3135

32-
test-hub-images:
33-
DOCKER_PULL=1 make test
36+
test:
37+
python bin/console test:serverspec --threads=auto/2 -v
3438

3539
baselayout:
36-
BASELAYOUT=1 PROVISION=0 bash bin/provision.sh
40+
python bin/console generate:provision --baselayout
3741

3842
provision:
39-
python bin/buildDockerfile.py --template=template/ --dockerfile=docker/
40-
BASELAYOUT=0 PROVISION=1 bash bin/provision.sh
43+
python bin/console generate:dockerfile
44+
python bin/console generate:provision
4145

42-
publish: dist-update rebuild test push
46+
publish: dist-update rebuild test old-test push
4347

4448
dist-update:
4549
docker pull centos:7
@@ -53,121 +57,104 @@ dist-update:
5357
docker pull debian:stretch
5458
docker pull alpine:3.4
5559

56-
rebuild:
57-
# Rebuild all containers but use caching for duplicates
58-
# Bootstrap
59-
FORCE=1 make webdevops/bootstrap
60-
FORCE=0 make webdevops/ansible
61-
# Base
62-
FORCE=1 make webdevops/base
63-
FORCE=1 make webdevops/base-app
64-
FORCE=0 make webdevops/storage
65-
# Other containers
66-
FORCE=1 make web
67-
FORCE=1 make php
68-
FORCE=1 make hhvm
69-
FORCE=1 make service
70-
FORCE=1 make misc
71-
FORCE=1 make applications
72-
7360
push:
74-
BUILD_MODE=push make all
61+
python ./bin/console docker:push --threads=auto
7562

7663
setup:
7764
pip install --upgrade -I -r ./requirements.txt
7865

7966
graph:
80-
python ./bin/diagram.py --dockerfile docker/ --filename documentation/docs/resources/images/docker-image-layout.gv
67+
python ./bin/console generate:graph
8168

8269
graph-full:
83-
python ./bin/diagram.py --all --dockerfile docker/ --filename documentation/docs/resources/images/docker-image-full-layout.gv
70+
python ./bin/console generate:graph --all --filename docker-image-full-layout.gv
8471

8572
documentation:
86-
docker run -t -i --rm -p 8080:8000 -v "$$(pwd)/documentation/docs/:/opt/docs" webdevops/sphinx sphinx-autobuild --poll -H 0.0.0.0 /opt/docs html
73+
docker run -t -i --rm -p 8080:8000 -v "$$(pwd)/documentation/docs/:/opt/docs" -e "VIRTUAL_HOST=documentation.docker" -e "VIRTUAL_PORT=8000" webdevops/sphinx sphinx-autobuild --poll -H 0.0.0.0 /opt/docs html
8774

8875
webdevops/bootstrap:
89-
bash bin/build.sh bootstrap "${DOCKER_REPOSITORY}/bootstrap" "${DOCKER_TAG_LATEST}"
76+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/bootstrap
9077

9178
webdevops/ansible:
92-
bash bin/build.sh bootstrap "${DOCKER_REPOSITORY}/ansible" "${DOCKER_TAG_LATEST}"
79+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/bootstrap
9380

9481
webdevops/base:
95-
bash bin/build.sh base "${DOCKER_REPOSITORY}/base" "${DOCKER_TAG_LATEST}"
82+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/base
9683

9784
webdevops/base-app:
98-
bash bin/build.sh base-app "${DOCKER_REPOSITORY}/base-app" "${DOCKER_TAG_LATEST}"
85+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/base-app
9986

10087
webdevops/php:
101-
bash bin/build.sh php "${DOCKER_REPOSITORY}/php" "${DOCKER_TAG_LATEST}"
88+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/php
10289

10390
webdevops/php-dev:
104-
bash bin/build.sh php-dev "${DOCKER_REPOSITORY}/php-dev" "${DOCKER_TAG_LATEST}"
91+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/php-dev
10592

10693
webdevops/apache:
107-
bash bin/build.sh apache "${DOCKER_REPOSITORY}/apache" "${DOCKER_TAG_LATEST}"
94+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/apache
10895

10996
webdevops/apache-dev:
110-
bash bin/build.sh apache-dev "${DOCKER_REPOSITORY}/apache-dev" "${DOCKER_TAG_LATEST}"
97+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/apache-dev
11198

11299
webdevops/nginx:
113-
bash bin/build.sh nginx "${DOCKER_REPOSITORY}/nginx" "${DOCKER_TAG_LATEST}"
100+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/nginx
114101

115102
webdevops/nginx-dev:
116-
bash bin/build.sh nginx-dev "${DOCKER_REPOSITORY}/nginx-dev" "${DOCKER_TAG_LATEST}"
103+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/nginx-dev
117104

118105
webdevops/php-apache:
119-
bash bin/build.sh php-apache "${DOCKER_REPOSITORY}/php-apache" "${DOCKER_TAG_LATEST}"
106+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/php-apache
120107

121108
webdevops/php-apache-dev:
122-
bash bin/build.sh php-apache-dev "${DOCKER_REPOSITORY}/php-apache-dev" "${DOCKER_TAG_LATEST}"
109+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/php-apache-dev
123110

124111
webdevops/php-nginx:
125-
bash bin/build.sh php-nginx "${DOCKER_REPOSITORY}/php-nginx" "${DOCKER_TAG_LATEST}"
112+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/php-nginx
126113

127114
webdevops/php-nginx-dev:
128-
bash bin/build.sh php-nginx-dev "${DOCKER_REPOSITORY}/php-nginx-dev" "${DOCKER_TAG_LATEST}"
115+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/php-nginx-dev
129116

130117
webdevops/hhvm:
131-
bash bin/build.sh hhvm "${DOCKER_REPOSITORY}/hhvm" "${DOCKER_TAG_LATEST}"
118+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/hhvm
132119

133120
webdevops/hhvm-apache:
134-
bash bin/build.sh hhvm-apache "${DOCKER_REPOSITORY}/hhvm-apache" "${DOCKER_TAG_LATEST}"
121+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/hhvm-apache
135122

136123
webdevops/hhvm-nginx:
137-
bash bin/build.sh hhvm-nginx "${DOCKER_REPOSITORY}/hhvm-nginx" "${DOCKER_TAG_LATEST}"
124+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/hhvm-nginx
138125

139126
webdevops/ssh:
140-
bash bin/build.sh ssh "${DOCKER_REPOSITORY}/ssh" "${DOCKER_TAG_LATEST}"
127+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/ssh
141128

142129
webdevops/storage:
143-
bash bin/build.sh storage "${DOCKER_REPOSITORY}/storage" "${DOCKER_TAG_LATEST}"
130+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/storage
144131

145132
webdevops/vsftp:
146-
bash bin/build.sh vsftp "${DOCKER_REPOSITORY}/vsftp" "${DOCKER_TAG_LATEST}"
133+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/vsftp
147134

148135
webdevops/postfix:
149-
bash bin/build.sh postfix "${DOCKER_REPOSITORY}/postfix" "${DOCKER_TAG_LATEST}"
136+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/postfix
150137

151138
webdevops/mail-sandbox:
152-
bash bin/build.sh mail-sandbox "${DOCKER_REPOSITORY}/mail-sandbox" "${DOCKER_TAG_LATEST}"
139+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/mail-sandbox
153140

154141
webdevops/typo3:
155-
bash bin/build.sh typo3 "${DOCKER_REPOSITORY}/typo3" "${DOCKER_TAG_LATEST}"
142+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/typo3
156143

157144
webdevops/piwik:
158-
bash bin/build.sh piwik "${DOCKER_REPOSITORY}/piwik" "${DOCKER_TAG_LATEST}"
145+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/piwik
159146

160147
webdevops/samson-deployment:
161-
bash bin/build.sh samson-deployment "${DOCKER_REPOSITORY}/samson-deployment" "${DOCKER_TAG_LATEST}"
148+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/samson-deployment
162149

163150
webdevops/sphinx:
164-
bash bin/build.sh sphinx "${DOCKER_REPOSITORY}/sphinx" "${DOCKER_TAG_LATEST}"
151+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/sphinx
165152

166153
webdevops/varnish:
167-
bash bin/build.sh varnish "${DOCKER_REPOSITORY}/varnish" "${DOCKER_TAG_LATEST}"
154+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/varnish
168155

169156
webdevops/certbot:
170-
bash bin/build.sh certbot "${DOCKER_REPOSITORY}/certbot" "${DOCKER_TAG_LATEST}"
157+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/certbot
171158

172159
webdevops/liquibase:
173-
bash bin/build.sh liquibase "${DOCKER_REPOSITORY}/liquibase" "${DOCKER_TAG_LATEST}"
160+
python ./bin/console docker:build --threads=auto --whitelist=webdevops/liquibase

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ Local building of containers can be done with `make` and `Makefile`:
3030

3131
Command | Description
3232
--------------------------- | ----------------------------------------------------------------------------------
33+
`sudo make setup` | To Install dependancies of build chain tools
3334
`make all` | Build all containers *fast mode* (parallel building, `FAST=1`)
3435
`FAST=0 make all` | Build all containers *slow mode* (serial building)
3536
`DEBUG=1 make all` | Show log of build process even if process is successfull

baselayout/usr/local/bin/apk-install

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true
77
apk update
88

99
# Install packages
10-
apk add --upgrade $*
10+
apk add --no-cache --upgrade $*
1111

1212
# Clear files (reduce snapshot size)
13-
rm -rf var/cache/apk/*
13+
rm -rf /var/cache/apk/*
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/bin/sh
2+
3+
set -o pipefail # trace ERR through pipes
4+
set -o nounset ## set -u : exit the script if you try to use an uninitialised variable
5+
set -o errexit ## set -e : exit the script if any statement returns a non-true return value
6+
7+
cp -a /etc/apk/repositories /etc/apk/.repositories.original
8+
sed -i -e 's/v[\.0-9]*/edge/g' /etc/apk/repositories
9+
10+
apk update
11+
12+
# Install packages
13+
apk add --no-cache --upgrade $*
14+
15+
# Clear files (reduce snapshot size)
16+
rm -rf /var/cache/apk/*
17+
18+
mv /etc/apk/.repositories.original /etc/apk/repositories

baselayout/usr/local/bin/apk-upgrade

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true
88
apk update
99

1010
# Install packages
11-
apk upgrade --force
11+
apk upgrade --no-cache --force
1212

1313
# Clear files (reduce snapshot size)
14-
rm -rf var/cache/apk/*
14+
rm -rf /var/cache/apk/*

0 commit comments

Comments
 (0)