From eea3ae59a7a9cedcf6aa6568a895165e3d81e58d Mon Sep 17 00:00:00 2001 From: josep-tecnativa Date: Mon, 25 Sep 2023 17:09:09 +0200 Subject: [PATCH 1/6] [DCK] pre-commit dependences updated --- .pre-commit-config.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5de0b65..794c31d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: language: fail files: "\\.rej$" - repo: https://github.com/pre-commit/mirrors-prettier - rev: v2.7.1 + rev: v3.0.3 hooks: - id: prettier additional_dependencies: @@ -20,7 +20,7 @@ repos: args: - --plugin=@prettier/plugin-xml - repo: https://github.com/myint/autoflake - rev: v1.4 + rev: v2.2.1 hooks: - id: autoflake args: @@ -31,21 +31,21 @@ repos: - --remove-duplicate-keys - --remove-unused-variables - repo: https://github.com/asottile/pyupgrade - rev: v2.34.0 + rev: v3.13.0 hooks: - id: pyupgrade - repo: https://github.com/psf/black - rev: 22.3.0 + rev: 23.9.1 hooks: - id: black - repo: https://github.com/timothycrosley/isort - rev: 5.10.1 + rev: 5.12.0 hooks: - id: isort args: - --settings=. - repo: https://github.com/pycqa/flake8 - rev: 3.9.2 + rev: 6.1.0 hooks: - &flake8 id: flake8 @@ -60,7 +60,7 @@ repos: - --extend-ignore=F401 files: /__init__\.py$ - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.3.0 + rev: v4.4.0 hooks: - id: check-case-conflict - id: check-executables-have-shebangs From 018574843278ad7af757f3148d9c077d89c80248 Mon Sep 17 00:00:00 2001 From: Stefano Varesi Date: Wed, 20 Sep 2023 21:04:16 +0200 Subject: [PATCH 2/6] fix: no timeout for events route --- haproxy.cfg | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/haproxy.cfg b/haproxy.cfg index 011137e..0fff4bb 100644 --- a/haproxy.cfg +++ b/haproxy.cfg @@ -39,6 +39,10 @@ defaults backend dockerbackend server dockersocket $SOCKET_PATH +backend docker-events + server dockersocket $SOCKET_PATH + timeout server 0 + frontend dockerfrontend bind :2375 http-request deny unless METH_GET || { env(POST) -m bool } @@ -68,3 +72,5 @@ frontend dockerfrontend http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/volumes } { env(VOLUMES) -m bool } http-request deny default_backend dockerbackend + + use_backend docker-events if { path,url_dec -m reg -i ^(/v[\d\.]+)?/events } From 6a3923c8f1bf05166bd3fbb13e78261ada9ebdd5 Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 26 Sep 2023 07:14:28 +1000 Subject: [PATCH 3/6] Fix minor typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d123abc..e2a5cb9 100644 --- a/README.md +++ b/README.md @@ -193,7 +193,7 @@ env DOCKER_IMAGE_NAME=my_custom_image poetry run pytest ## Logging You can set the logging level or severity level of the messages to be logged with the -environment variable `LOG_LEVEL`. Defaul value is info. Possible values are: debug, +environment variable `LOG_LEVEL`. Default value is info. Possible values are: debug, info, notice, warning, err, crit, alert and emerg. ## Supported API versions From 085fd0a23cf1a39a9d912797c73801b05b3c7135 Mon Sep 17 00:00:00 2001 From: Sam McLeod Date: Sun, 26 Nov 2023 12:14:51 +1100 Subject: [PATCH 4/6] feat: add options for allowing stop and start --- README.md | 3 +++ haproxy.cfg | 2 ++ 2 files changed, 5 insertions(+) diff --git a/README.md b/README.md index e2a5cb9..a9de927 100644 --- a/README.md +++ b/README.md @@ -125,6 +125,9 @@ extremely critical but can expose some information that your service does not ne - `COMMIT` - `CONFIGS` - `CONTAINERS` +- `ALLOW_START` (containers/`id`/`start`) +- `ALLOW_STOP` (containers/`id`/`stop`) +- `ALLOW_RESTARTS` (containers/`id`/`stop`|`restart`|`kill`) - `DISTRIBUTION` - `EXEC` - `GRPC` diff --git a/haproxy.cfg b/haproxy.cfg index 0fff4bb..bfa961f 100644 --- a/haproxy.cfg +++ b/haproxy.cfg @@ -47,6 +47,8 @@ frontend dockerfrontend bind :2375 http-request deny unless METH_GET || { env(POST) -m bool } http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/[a-zA-Z0-9_.-]+/((stop)|(restart)|(kill)) } { env(ALLOW_RESTARTS) -m bool } + http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/[a-zA-Z0-9_.-]+/start } { env(ALLOW_START) -m bool } + http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/[a-zA-Z0-9_.-]+/stop } { env(ALLOW_STOP) -m bool } http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/auth } { env(AUTH) -m bool } http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/build } { env(BUILD) -m bool } http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/commit } { env(COMMIT) -m bool } From 8d737c82f45ace1deea335713cadc7fb26dd4c95 Mon Sep 17 00:00:00 2001 From: Sam McLeod Date: Sun, 26 Nov 2023 12:25:03 +1100 Subject: [PATCH 5/6] feat: add options for allowing stop and start --- Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Dockerfile b/Dockerfile index 1a13d20..afdc46f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,8 @@ FROM haproxy:2.2-alpine EXPOSE 2375 ENV ALLOW_RESTARTS=0 \ + ALLOW_STOP=0 \ + ALLOW_START=0 \ AUTH=0 \ BUILD=0 \ COMMIT=0 \ From 75d40ca5e2c7650b434119fc3a87c16ee276158e Mon Sep 17 00:00:00 2001 From: salty Date: Tue, 28 Nov 2023 09:34:24 +0100 Subject: [PATCH 6/6] [IMP] Bind to IPv4 and IPv6 in haproxy (#108) --- haproxy.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haproxy.cfg b/haproxy.cfg index bfa961f..c87c8d8 100644 --- a/haproxy.cfg +++ b/haproxy.cfg @@ -44,7 +44,7 @@ backend docker-events timeout server 0 frontend dockerfrontend - bind :2375 + bind :::2375 v4v6 http-request deny unless METH_GET || { env(POST) -m bool } http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/[a-zA-Z0-9_.-]+/((stop)|(restart)|(kill)) } { env(ALLOW_RESTARTS) -m bool } http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/[a-zA-Z0-9_.-]+/start } { env(ALLOW_START) -m bool }