From 65611020d847841db013a069716405e9534b258e Mon Sep 17 00:00:00 2001 From: bunkerity Date: Tue, 7 Mar 2023 14:20:42 +0100 Subject: [PATCH] fix duplicate datastore http/stream, fix missing /var/www/html for linux and various fixes in tests --- src/bw/lua/datastore.lua | 5 +++++ src/common/confs/stream.conf | 4 +++- src/linux/Dockerfile-centos | 2 +- src/linux/Dockerfile-fedora | 2 +- src/linux/Dockerfile-rhel | 4 ++-- src/linux/Dockerfile-ubuntu | 2 +- tests/LinuxTest.py | 4 ++-- tests/SwarmTest.py | 7 ++++--- tests/linux/Dockerfile-ubuntu | 4 ++-- tests/ui/tests.sh | 0 10 files changed, 21 insertions(+), 13 deletions(-) mode change 100644 => 100755 tests/ui/tests.sh diff --git a/src/bw/lua/datastore.lua b/src/bw/lua/datastore.lua index f983b129f..d8379bf9a 100644 --- a/src/bw/lua/datastore.lua +++ b/src/bw/lua/datastore.lua @@ -1,5 +1,10 @@ + local datastore = { dict = ngx.shared.datastore } +if not datastore.dict then + datastore.dict = ngx.shared.datastore_stream +end + datastore.get = function(self, key) local value, err = self.dict:get(key) if not value and not err then diff --git a/src/common/confs/stream.conf b/src/common/confs/stream.conf index cfa07abba..6d84623a9 100644 --- a/src/common/confs/stream.conf +++ b/src/common/confs/stream.conf @@ -27,7 +27,9 @@ lua_package_path "/usr/share/bunkerweb/lua/?.lua;/usr/share/bunkerweb/core/?.lua lua_package_cpath "/usr/share/bunkerweb/deps/lib/?.so;/usr/share/bunkerweb/deps/lib/lua/?.so;;"; lua_ssl_trusted_certificate "/usr/share/bunkerweb/misc/root-ca.pem"; lua_ssl_verify_depth 2; -lua_shared_dict datastore {{ DATASTORE_MEMORY_SIZE }}; +{% if has_variable(all, "SERVER_TYPE", "stream") +%} +lua_shared_dict datastore_stream {{ DATASTORE_MEMORY_SIZE }}; +{% endif %} # LUA init block include /etc/nginx/init-stream-lua.conf; diff --git a/src/linux/Dockerfile-centos b/src/linux/Dockerfile-centos index c97abac75..80138ff17 100644 --- a/src/linux/Dockerfile-centos +++ b/src/linux/Dockerfile-centos @@ -62,7 +62,7 @@ RUN cp /usr/share/bunkerweb/helpers/bwcli /usr/bin/ && \ mkdir -p /var/cache/bunkerweb/ && \ mkdir -p /etc/bunkerweb/plugins && \ mkdir -p /var/tmp/bunkerweb/ && \ - mkdir -p /var/www && \ + mkdir -p /var/www/html && \ mkdir -p /var/lib/bunkerweb && \ mkdir -p /etc/letsencrypt && \ #mkdir /var/www/html && \ diff --git a/src/linux/Dockerfile-fedora b/src/linux/Dockerfile-fedora index 840b0fdd4..9216913b2 100644 --- a/src/linux/Dockerfile-fedora +++ b/src/linux/Dockerfile-fedora @@ -61,7 +61,7 @@ RUN cp /usr/share/bunkerweb/helpers/bwcli /usr/bin/ && \ mkdir -p /var/cache/bunkerweb/ && \ mkdir -p /etc/bunkerweb/plugins && \ mkdir -p /var/tmp/bunkerweb/ && \ - mkdir -p /var/www/ && \ + mkdir -p /var/www/html && \ mkdir -p /var/lib/bunkerweb && \ mkdir -p /etc/letsencrypt && \ echo "Linux" > /usr/share/bunkerweb/INTEGRATION && \ diff --git a/src/linux/Dockerfile-rhel b/src/linux/Dockerfile-rhel index 06ba950cd..2bb3362ed 100644 --- a/src/linux/Dockerfile-rhel +++ b/src/linux/Dockerfile-rhel @@ -74,7 +74,7 @@ RUN cp /usr/share/bunkerweb/helpers/bwcli /usr/bin/ && \ mkdir -p /var/cache/bunkerweb/ && \ mkdir -p /etc/bunkerweb/plugins && \ mkdir -p /var/tmp/bunkerweb/ && \ - mkdir -p /var/www/ && \ + mkdir -p /var/www/html && \ mkdir -p /var/lib/bunkerweb && \ mkdir -p /etc/letsencrypt && \ echo "Linux" > /usr/share/bunkerweb/INTEGRATION && \ @@ -96,4 +96,4 @@ COPY src/linux/bunkerweb-ui.service /lib/systemd/system/bunkerweb-ui.service # Generate RPM at startup VOLUME /data WORKDIR /usr/share/ -ENTRYPOINT ["/usr/share/fpm.sh", "rpm"] \ No newline at end of file +ENTRYPOINT ["/usr/share/fpm.sh", "rpm"] diff --git a/src/linux/Dockerfile-ubuntu b/src/linux/Dockerfile-ubuntu index 8c5aacb00..1fa09af53 100644 --- a/src/linux/Dockerfile-ubuntu +++ b/src/linux/Dockerfile-ubuntu @@ -64,7 +64,7 @@ RUN cp /usr/share/bunkerweb/helpers/bwcli /usr/bin/ && \ mkdir -p /var/cache/bunkerweb/ && \ mkdir -p /etc/bunkerweb/plugins && \ mkdir -p /var/tmp/bunkerweb/ && \ - mkdir -p /var/www/ && \ + mkdir -p /var/www/html && \ mkdir -p /var/lib/bunkerweb && \ mkdir -p /etc/letsencrypt && \ echo "Linux" > /usr/share/bunkerweb/INTEGRATION && \ diff --git a/tests/LinuxTest.py b/tests/LinuxTest.py index a1c95fd27..7eccb7487 100644 --- a/tests/LinuxTest.py +++ b/tests/LinuxTest.py @@ -32,7 +32,7 @@ class LinuxTest(Test): raise Exception("docker run failed (linux stack)") if distro in ("ubuntu", "debian"): cmd = "apt install -y /opt/\$(ls /opt | grep deb)" - elif distro in ("centos", "fedora"): + elif distro in ("centos", "fedora", "rhel"): cmd = "dnf install -y /opt/\$(ls /opt | grep rpm)" proc = LinuxTest.docker_exec(distro, cmd) if proc.returncode != 0: @@ -117,7 +117,7 @@ class LinuxTest(Test): raise Exception("docker exec cp variables.env failed (test)") proc = self.docker_exec( self.__distro, - "echo '' >> /opt/bunkerweb/variables.env ; echo 'USE_LETS_ENCRYPT_STAGING=yes' >> /opt/bunkerweb/variables.env", + "echo '' >> /etc/bunkerweb/variables.env ; echo 'USE_LETS_ENCRYPT_STAGING=yes' >> /etc/bunkerweb/variables.env", ) if proc.returncode != 0: raise (Exception("docker exec append variables.env failed (test)")) diff --git a/tests/SwarmTest.py b/tests/SwarmTest.py index 569078a94..0f0b7e2da 100644 --- a/tests/SwarmTest.py +++ b/tests/SwarmTest.py @@ -71,7 +71,7 @@ class SwarmTest(Test): i += 1 if not healthy: proc = run( - "docker service logs bunkerweb_mybunker ; docker service logs bunkerweb_myautoconf", + "docker service logs bunkerweb_bunkerweb ; docker service logs bunkerweb_bw-autoconf ; docker service logs bunkerweb_bw-scheduler", cwd="/tmp/swarm", shell=True, capture_output=True, @@ -188,8 +188,9 @@ class SwarmTest(Test): return True def _debug_fail(self): - run("docker service logs bunkerweb_mybunker", shell=True) - run("docker service logs bunkerweb_myautoconf", shell=True) + run("docker service logs bunkerweb_bunkerweb", shell=True) + run("docker service logs bunkerweb_bw-autoconf", shell=True) + run("docker service logs bunkerweb_bw-scheduler", shell=True) proc = run( 'docker stack services --format "{{ .Name }}" "' + self._name + '"', shell=True, diff --git a/tests/linux/Dockerfile-ubuntu b/tests/linux/Dockerfile-ubuntu index 953327918..2c8d05b82 100644 --- a/tests/linux/Dockerfile-ubuntu +++ b/tests/linux/Dockerfile-ubuntu @@ -31,8 +31,8 @@ RUN apt update && \ apt-get update && \ apt-get install -y --no-install-recommends nginx=${NGINX_VERSION}-1~jammy -COPY ./package-ubuntu/*.deb /opt +#COPY ./package-ubuntu/*.deb /opt VOLUME ["/sys/fs/cgroup"] -CMD ["/lib/systemd/systemd"] \ No newline at end of file +CMD ["/lib/systemd/systemd"] diff --git a/tests/ui/tests.sh b/tests/ui/tests.sh old mode 100644 new mode 100755