mirror of
https://github.com/zokradonh/kopano-docker
synced 2025-06-06 15:36:40 +00:00
Add linting for yaml files (#186)
* rename check-scripts target to lint * install yamllint through pip on travis * add yamllint config, do not fail on too long lines * fix yaml linting errors * remove circular dependency
This commit is contained in:
parent
e4983a96a2
commit
4d2cffbe09
17
.travis.yml
17
.travis.yml
@ -2,12 +2,12 @@ sudo: required
|
||||
language: bash
|
||||
env:
|
||||
global:
|
||||
- HADOLINT_VERSION=1.16.3
|
||||
- DOCKER_COMPOSE_VERSION=1.23.2
|
||||
- TRIVY_VERSION=0.1.1
|
||||
- secure: iSwQW1ytg9/ntqlF1nMzYcg0ouT3TifuAzauu//vWMiRfRthAi0bLuz3nBvlkQwtUk/iF3+smdOtwvjlmW7wWdwdf9tzpsyVKVYcS/+1MbxnGXE4OyNLkUJ7KASRk4otfsujMDNO95q/m04sOLJ721dsOWR6dv+5MNJ3LrushsbFfuStHmM1cNyUR6NuPy4g/x4oppv23rbSXU/qS7ULUsOTEUuTsmgvvKQRZiiOFaOgzeHCIEdrX6Dpsx6DPtYQ5az88q6CrkkTaw7GhP1qBXAGNX03NeHPd7YZvsgePoZJEJ/jTRsZVx9LxwkmnVTJDqthgqTGXTBJIvow3oICjKLf/DhURvkHaAJPu+Nxyvxo2xgYaa0Zbau5fmhEblyKU8Q9g+ZXsdjC5uy/vqJjg1rZD9BZjbKXRP9nb5VpxLdzcWE80XpEj7tHMfF4bN7LvIHZ81wINtZdZeFLVW53YzIO0NAoRCDk1SmR6N11T1uE8FrBzO80oETUMud2zYTx9U+J0m/qsNK+fOz2GtxwI3mlU0/bgVlcFE6865lOPuRwcTOhDwGqeWsLbBYsYXaJhqktn6XKiZ/BEeJLx6Z/CvyNXbzexn1i4wyVZAK7xxkhjxFPnWFU9WPan4ibkGLsS9sFsUTLVa4oBszkTO6q5NU7vIycdgJpfZlkdL2V0EA=
|
||||
- secure: kj/KcPck6RHSQdcN29+OoxSufHX8KgMXs/ekVUsgcXfWb8iwo0UbfGwyPf+oy1vvjO65e0xsdGHN6Vk++opJT1qaAMpIInfh3+otXmDrT4Uq0s+vBkyQ/EPNeTy6oWK28y5+IVrR3Nd4FMK8CQ4FKzqKAAOQDkusI1182tRL9wDPnCbUD92cNcTPh7aHccSflkBOzw0G6d0v3RFIseOdYMA4DN72YfUV6RHVgOz7PSPmZ9p9lza1Fdbd1fBYoqBapzm3tIWiaU20OkyYNorZzsT+afTTpfHIb5ku+emNCiKDORuX4XQHDiS+PtqDNJRL2WsOsudVf9ckd9wpTkDj5rFnVex7GtS4z47kLDahzNWMQs4gnpDVUi3jbGeU/62EXdiAmuWs0A2kUSPYZwAKVbfIDlp3tAy0dzGivnBfTdN/TYVRm0IDRJZZNp964Tu3rGLazbRCYpGTIYz4KlMRrIN4QJj8JMmvcaOidp/xQJL+MkZTNY653VFHYeu61XEUV3RkGkkhZL967w+VuhkULDppslKExsJzXXX6ITauLu6hqAj+fWrn0WDxn/Km+sx9aJaBNqg4egT8mX5+WeDdoV+3NyODjbYUaEPKSuUkW/Skm+VGlYeyc9apahTSDe1H/W2KUcramkMT17IdPqXTqvlo+HSR97IGoE37OWKdoVM=
|
||||
- secure: k5V2o5xIGGQ2vlWaCfWHAn68z7k/FSL8bXgow6/x0svxmsvDxJzRrpnM3xn681ogUEoQP1hQeHWeR0tg88RcDFmjzEObMjVd7Av289YIQ/W6hmFFb+SCa+TmAe49ybPLZA2UNygC/zqH5N6U5iMYsyPrChw4oUv9X9lfDJUz08crRVwffm/JwcEfV1tH722I2WUcEpxKYyqymK9CaO3e2UTXnPaASNOPuZ2v0T3D1lvla+XRNG+JJ6+BJjBRkzMMg584IaBIqGVf9tlImZkGfYmVWUVvBfpuHMSU9OC4CJXBRqy6K/nUlw5bDDsGFbLGA9Tg1qgLzAZsPCSMSCC2Gq0rLxuihudWEJ9e8dnRLIbt+Zxlqa2s7DQ2FTWyofQfR4GL6cD4uSoSh+k9ij6PeJMSEzplaO01Fyh87uRbcVBxwktIXeVuJsBG8uQ2wdWjQ41g4noDHzsV1duJ1nz9b6JRH7Vbp8bKXow3K+EtlFfa9GcD4I64oksbWH+hx+PBBf0qEdUzZnHmw2vEqJyjdlCoQ1k7pX6c9rxzNiKIb8Hsmhu1r7DCNYBYZIZ1pGhVBilxrr9QiU0hGpRsON0QOzTobz6TohW9w+LNgBMPMizLRFi3r14Nqel8GIWcQUP/RBTiXb8Lr+D9oq0oY1Up4QyfEq1SfkJ1yD4qzCOhb5I=
|
||||
- HADOLINT_VERSION=1.16.3
|
||||
- DOCKER_COMPOSE_VERSION=1.23.2
|
||||
- TRIVY_VERSION=0.1.1
|
||||
- secure: iSwQW1ytg9/ntqlF1nMzYcg0ouT3TifuAzauu//vWMiRfRthAi0bLuz3nBvlkQwtUk/iF3+smdOtwvjlmW7wWdwdf9tzpsyVKVYcS/+1MbxnGXE4OyNLkUJ7KASRk4otfsujMDNO95q/m04sOLJ721dsOWR6dv+5MNJ3LrushsbFfuStHmM1cNyUR6NuPy4g/x4oppv23rbSXU/qS7ULUsOTEUuTsmgvvKQRZiiOFaOgzeHCIEdrX6Dpsx6DPtYQ5az88q6CrkkTaw7GhP1qBXAGNX03NeHPd7YZvsgePoZJEJ/jTRsZVx9LxwkmnVTJDqthgqTGXTBJIvow3oICjKLf/DhURvkHaAJPu+Nxyvxo2xgYaa0Zbau5fmhEblyKU8Q9g+ZXsdjC5uy/vqJjg1rZD9BZjbKXRP9nb5VpxLdzcWE80XpEj7tHMfF4bN7LvIHZ81wINtZdZeFLVW53YzIO0NAoRCDk1SmR6N11T1uE8FrBzO80oETUMud2zYTx9U+J0m/qsNK+fOz2GtxwI3mlU0/bgVlcFE6865lOPuRwcTOhDwGqeWsLbBYsYXaJhqktn6XKiZ/BEeJLx6Z/CvyNXbzexn1i4wyVZAK7xxkhjxFPnWFU9WPan4ibkGLsS9sFsUTLVa4oBszkTO6q5NU7vIycdgJpfZlkdL2V0EA=
|
||||
- secure: kj/KcPck6RHSQdcN29+OoxSufHX8KgMXs/ekVUsgcXfWb8iwo0UbfGwyPf+oy1vvjO65e0xsdGHN6Vk++opJT1qaAMpIInfh3+otXmDrT4Uq0s+vBkyQ/EPNeTy6oWK28y5+IVrR3Nd4FMK8CQ4FKzqKAAOQDkusI1182tRL9wDPnCbUD92cNcTPh7aHccSflkBOzw0G6d0v3RFIseOdYMA4DN72YfUV6RHVgOz7PSPmZ9p9lza1Fdbd1fBYoqBapzm3tIWiaU20OkyYNorZzsT+afTTpfHIb5ku+emNCiKDORuX4XQHDiS+PtqDNJRL2WsOsudVf9ckd9wpTkDj5rFnVex7GtS4z47kLDahzNWMQs4gnpDVUi3jbGeU/62EXdiAmuWs0A2kUSPYZwAKVbfIDlp3tAy0dzGivnBfTdN/TYVRm0IDRJZZNp964Tu3rGLazbRCYpGTIYz4KlMRrIN4QJj8JMmvcaOidp/xQJL+MkZTNY653VFHYeu61XEUV3RkGkkhZL967w+VuhkULDppslKExsJzXXX6ITauLu6hqAj+fWrn0WDxn/Km+sx9aJaBNqg4egT8mX5+WeDdoV+3NyODjbYUaEPKSuUkW/Skm+VGlYeyc9apahTSDe1H/W2KUcramkMT17IdPqXTqvlo+HSR97IGoE37OWKdoVM=
|
||||
- secure: k5V2o5xIGGQ2vlWaCfWHAn68z7k/FSL8bXgow6/x0svxmsvDxJzRrpnM3xn681ogUEoQP1hQeHWeR0tg88RcDFmjzEObMjVd7Av289YIQ/W6hmFFb+SCa+TmAe49ybPLZA2UNygC/zqH5N6U5iMYsyPrChw4oUv9X9lfDJUz08crRVwffm/JwcEfV1tH722I2WUcEpxKYyqymK9CaO3e2UTXnPaASNOPuZ2v0T3D1lvla+XRNG+JJ6+BJjBRkzMMg584IaBIqGVf9tlImZkGfYmVWUVvBfpuHMSU9OC4CJXBRqy6K/nUlw5bDDsGFbLGA9Tg1qgLzAZsPCSMSCC2Gq0rLxuihudWEJ9e8dnRLIbt+Zxlqa2s7DQ2FTWyofQfR4GL6cD4uSoSh+k9ij6PeJMSEzplaO01Fyh87uRbcVBxwktIXeVuJsBG8uQ2wdWjQ41g4noDHzsV1duJ1nz9b6JRH7Vbp8bKXow3K+EtlFfa9GcD4I64oksbWH+hx+PBBf0qEdUzZnHmw2vEqJyjdlCoQ1k7pX6c9rxzNiKIb8Hsmhu1r7DCNYBYZIZ1pGhVBilxrr9QiU0hGpRsON0QOzTobz6TohW9w+LNgBMPMizLRFi3r14Nqel8GIWcQUP/RBTiXb8Lr+D9oq0oY1Up4QyfEq1SfkJ1yD4qzCOhb5I=
|
||||
services:
|
||||
- docker
|
||||
before_install:
|
||||
@ -19,10 +19,11 @@ before_install:
|
||||
- sudo chmod +rx /usr/local/bin/hadolint
|
||||
- sudo chmod +rx /usr/local/bin/docker-compose
|
||||
- sudo apt update && sudo apt install -y expect
|
||||
- sudo pip install --upgrade pip && sudo pip install yamllint
|
||||
install:
|
||||
- make check-scripts
|
||||
- make lint
|
||||
- "./test.exp"
|
||||
- make check-scripts # rerun check-scripts to see if output is different with .env in place
|
||||
- make lint # rerun lint to see if output is different with .env in place
|
||||
- travis_retry make build-all
|
||||
script:
|
||||
- make test-ci
|
||||
|
7
.yamllint
Normal file
7
.yamllint
Normal file
@ -0,0 +1,7 @@
|
||||
extends: default
|
||||
|
||||
rules:
|
||||
# 80 chars should be enough, but don't fail if a line is longer
|
||||
line-length:
|
||||
max: 80
|
||||
level: warning
|
3
Makefile
3
Makefile
@ -321,10 +321,11 @@ publish-webapp: tag-webapp
|
||||
publish-zpush: tag-zpush
|
||||
component=zpush make publish-container
|
||||
|
||||
check-scripts:
|
||||
lint:
|
||||
grep -rIl '^#![[:blank:]]*/bin/\(bash\|sh\|zsh\)' \
|
||||
--exclude-dir=.git --exclude=*.sw? \
|
||||
| xargs shellcheck -x
|
||||
git ls-files --exclude='*.yml' --ignored | xargs --max-lines=1 yamllint
|
||||
# List files which name starts with 'Dockerfile'
|
||||
# eg. Dockerfile, Dockerfile.build, etc.
|
||||
git ls-files --exclude='Dockerfile*' --ignored | xargs --max-lines=1 hadolint
|
||||
|
@ -13,18 +13,18 @@ services:
|
||||
- FQDN=${FQDN?err}
|
||||
command: wrapper.sh
|
||||
cap_drop:
|
||||
- ALL
|
||||
- ALL
|
||||
cap_add:
|
||||
- NET_BIND_SERVICE
|
||||
- CHOWN
|
||||
- SETGID
|
||||
- SETUID
|
||||
- NET_BIND_SERVICE
|
||||
- CHOWN
|
||||
- SETGID
|
||||
- SETUID
|
||||
volumes:
|
||||
- web:/.kweb
|
||||
networks:
|
||||
web-net:
|
||||
aliases:
|
||||
- ${FQDNCLEANED?err}
|
||||
- ${FQDNCLEANED?err}
|
||||
|
||||
ldap:
|
||||
image: ${docker_repo:-zokradonh}/${LDAP_CONTAINER:-kopano_ldap_demo}:${LDAP_VERSION:-latest}
|
||||
@ -93,9 +93,9 @@ services:
|
||||
expose:
|
||||
- "80"
|
||||
networks:
|
||||
- web-net # provide web-frontend
|
||||
- ldap-net # access ldap user base and write passwords
|
||||
- kopano-net # send mail directly to mailstack
|
||||
- web-net # provide web-frontend
|
||||
- ldap-net # access ldap user base and write passwords
|
||||
- kopano-net # send mail directly to mailstack
|
||||
|
||||
mail:
|
||||
image: tvial/docker-mailserver:release-v6.1.0
|
||||
@ -149,7 +149,7 @@ services:
|
||||
networks:
|
||||
- kopano-net
|
||||
- ldap-net
|
||||
#dns: 1.1.1.1 # using Google DNS can lead to lookup errors uncomment this option and
|
||||
#dns: 1.1.1.1 # using Google DNS can lead to lookup errors uncomment this option and
|
||||
# set to the ip of a trusted dns service (Cloudflare is given as an example).
|
||||
# See https://github.com/zokradonh/kopano-docker/issues/52 for more information.
|
||||
cap_add:
|
||||
@ -212,7 +212,7 @@ services:
|
||||
- KCCONF_SERVER_SERVER_SSL_CA_FILE=/kopano/ssl/ca.pem
|
||||
- KCCONF_SERVER_SERVER_NAME=Kopano
|
||||
- KCCONF_SERVER_SSLKEYS_PATH=/kopano/ssl/clients
|
||||
- KCCONF_SERVER_PROXY_HEADER=* # delete line if webapp is not behind reverse proxy
|
||||
- KCCONF_SERVER_PROXY_HEADER=* # delete line if webapp is not behind reverse proxy
|
||||
- KCCONF_SERVER_SYSTEM_EMAIL_ADDRESS=${POSTMASTER_ADDRESS}
|
||||
- KCCONF_LDAP_LDAP_URI=${LDAP_SERVER}
|
||||
- KCCONF_LDAP_LDAP_BIND_USER=${LDAP_BIND_DN}
|
||||
@ -313,7 +313,6 @@ services:
|
||||
container_name: ${COMPOSE_PROJECT_NAME}_kdav
|
||||
depends_on:
|
||||
- kopano_server
|
||||
container_name: ${COMPOSE_PROJECT_NAME}_kdav
|
||||
volumes:
|
||||
- kopanossl/:/kopano/ssl
|
||||
- kopanosocket/:/run/kopano
|
||||
@ -437,65 +436,64 @@ services:
|
||||
image: ${docker_repo:-zokradonh}/kopano_konnect:${KONNECT_VERSION:-latest}
|
||||
command: wrapper.sh
|
||||
depends_on:
|
||||
- kopano_server
|
||||
- kopano_ssl
|
||||
- web
|
||||
# to be useful Konnect also need a running kopano_server, but this dependency cannot be added here since this would be a circular dependency
|
||||
volumes:
|
||||
- kopanossl/:/kopano/ssl
|
||||
- kopanosocket/:/run/kopano
|
||||
depends_on:
|
||||
- kopano_ssl
|
||||
- web
|
||||
- kopanossl/:/kopano/ssl
|
||||
- kopanosocket/:/run/kopano
|
||||
environment:
|
||||
- FQDN=${FQDN}
|
||||
- allow_client_guests=yes
|
||||
- allow_dynamic_client_registration=yes
|
||||
- FQDN=${FQDN}
|
||||
- allow_client_guests=yes
|
||||
- allow_dynamic_client_registration=yes
|
||||
env_file:
|
||||
- kopano_konnect.env
|
||||
- kopano_konnect.env
|
||||
networks:
|
||||
- kopano-net
|
||||
- web-net
|
||||
- kopano-net
|
||||
- web-net
|
||||
|
||||
kopano_playground:
|
||||
image: ${docker_repo:-zokradonh}/kopano_playground
|
||||
depends_on:
|
||||
- kopano_kapi
|
||||
- kopano_konnect
|
||||
- kopano_kapi
|
||||
- kopano_konnect
|
||||
networks:
|
||||
- kopano-net
|
||||
- web-net
|
||||
- kopano-net
|
||||
- web-net
|
||||
|
||||
kopano_kwmserver:
|
||||
image: ${docker_repo:-zokradonh}/kopano_kwmserver:${KWM_VERSION:-latest}
|
||||
command: wrapper.sh
|
||||
depends_on:
|
||||
- kopano_kapi
|
||||
- kopano_konnect
|
||||
- kopano_kapi
|
||||
- kopano_konnect
|
||||
environment:
|
||||
- INSECURE=${INSECURE}
|
||||
- oidc_issuer_identifier=https://${FQDN}
|
||||
- enable_guest_api=yes
|
||||
- public_guest_access_regexp=^group/public/.*
|
||||
- INSECURE=${INSECURE}
|
||||
- oidc_issuer_identifier=https://${FQDN}
|
||||
- enable_guest_api=yes
|
||||
- public_guest_access_regexp=^group/public/.*
|
||||
env_file:
|
||||
- kopano_kwmserver.env
|
||||
- kopano_kwmserver.env
|
||||
volumes:
|
||||
- kopanossl/:/kopano/ssl
|
||||
- kopanossl/:/kopano/ssl
|
||||
networks:
|
||||
- web-net
|
||||
- web-net
|
||||
|
||||
kopano_meet:
|
||||
image: ${docker_repo:-zokradonh}/kopano_meet:${MEET_VERSION:-latest}
|
||||
environment:
|
||||
- SERVICE_TO_START=meet
|
||||
- KCCONF_MEET_guests_enabled=true
|
||||
- KCCONF_MEET_disableFullGAB=false
|
||||
- SERVICE_TO_START=meet
|
||||
- KCCONF_MEET_guests_enabled=true
|
||||
- KCCONF_MEET_disableFullGAB=false
|
||||
env_file:
|
||||
- kopano_meet.env
|
||||
- kopano_meet.env
|
||||
depends_on:
|
||||
- kopano_kapi
|
||||
- kopano_konnect
|
||||
- kopano_kwmserver
|
||||
- web
|
||||
- kopano_kapi
|
||||
- kopano_konnect
|
||||
- kopano_kwmserver
|
||||
- web
|
||||
networks:
|
||||
- web-net
|
||||
- web-net
|
||||
|
||||
kopano_scheduler:
|
||||
image: ${docker_repo:-zokradonh}/kopano_scheduler:${SCHEDULER_VERSION:-latest}
|
||||
|
@ -14,18 +14,18 @@ services:
|
||||
- FQDN=${FQDN?err}
|
||||
command: wrapper.sh
|
||||
cap_drop:
|
||||
- ALL
|
||||
- ALL
|
||||
cap_add:
|
||||
- NET_BIND_SERVICE
|
||||
- CHOWN
|
||||
- SETGID
|
||||
- SETUID
|
||||
- NET_BIND_SERVICE
|
||||
- CHOWN
|
||||
- SETGID
|
||||
- SETUID
|
||||
volumes:
|
||||
- web:/.kweb
|
||||
networks:
|
||||
web-net:
|
||||
aliases:
|
||||
- ${FQDNCLEANED?err}
|
||||
- ${FQDNCLEANED?err}
|
||||
|
||||
kopano_ssl:
|
||||
image: ${docker_repo:-zokradonh}/kopano_ssl
|
||||
@ -73,35 +73,35 @@ services:
|
||||
- /etc/kopano/ssl:/kopano/ssl
|
||||
- /run/kopano:/run/kopano
|
||||
environment:
|
||||
- FQDN=${FQDN}
|
||||
- FQDN=${FQDN}
|
||||
networks:
|
||||
- web-net
|
||||
- web-net
|
||||
|
||||
kopano_kwmserver:
|
||||
image: ${docker_repo:-zokradonh}/kopano_kwmserver:${KWM_VERSION:-latest}
|
||||
container_name: kopano_kwmserver
|
||||
command: wrapper.sh
|
||||
environment:
|
||||
- INSECURE=${INSECURE}
|
||||
- oidc_issuer_identifier=https://${FQDN}
|
||||
- INSECURE=${INSECURE}
|
||||
- oidc_issuer_identifier=https://${FQDN}
|
||||
volumes:
|
||||
- /etc/kopano/ssl:/kopano/ssl
|
||||
networks:
|
||||
- web-net
|
||||
- web-net
|
||||
|
||||
kopano_meet:
|
||||
image: ${docker_repo:-zokradonh}/kopano_meet:${MEET_VERSION:-latest}
|
||||
container_name: kopano_meet
|
||||
environment:
|
||||
- SERVICE_TO_START=meet
|
||||
- KCCONF_KWEBD_TLS=no
|
||||
- SERVICE_TO_START=meet
|
||||
- KCCONF_KWEBD_TLS=no
|
||||
depends_on:
|
||||
- kopano_kapi
|
||||
- kopano_konnect
|
||||
- kopano_kwmserver
|
||||
- web
|
||||
- kopano_kapi
|
||||
- kopano_konnect
|
||||
- kopano_kwmserver
|
||||
- web
|
||||
networks:
|
||||
- web-net
|
||||
- web-net
|
||||
|
||||
volumes:
|
||||
web:
|
||||
|
@ -14,18 +14,18 @@ services:
|
||||
- FQDN=${FQDN}
|
||||
command: wrapper.sh
|
||||
cap_drop:
|
||||
- ALL
|
||||
- ALL
|
||||
cap_add:
|
||||
- NET_BIND_SERVICE
|
||||
- CHOWN
|
||||
- SETGID
|
||||
- SETUID
|
||||
- NET_BIND_SERVICE
|
||||
- CHOWN
|
||||
- SETGID
|
||||
- SETUID
|
||||
volumes:
|
||||
- web:/.kweb
|
||||
networks:
|
||||
web-net:
|
||||
aliases:
|
||||
- ${FQDN}
|
||||
- ${FQDN}
|
||||
|
||||
kopano_webapp:
|
||||
image: ${docker_repo:-zokradonh}/kopano_webapp:${WEBAPP_VERSION:-latest}
|
||||
|
Loading…
x
Reference in New Issue
Block a user