From 35bd368e1e380b71104990bb6681812fe165cd5d Mon Sep 17 00:00:00 2001 From: Zedifus Date: Wed, 22 Sep 2021 18:35:36 +0100 Subject: [PATCH 01/21] Fix builder instance not closing after build --- .gitlab-ci.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d21c4b19..d489c583 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -45,7 +45,7 @@ docker-build-dev: - | tag=":$CI_COMMIT_REF_SLUG" echo "Running on branch '$CI_COMMIT_BRANCH': tag = $tag" - - docker buildx create --use + - docker buildx create --use --name zedBuilder - docker buildx build --cache-from type=registry,ref="$CI_REGISTRY_IMAGE${tag}" --build-arg BUILDKIT_INLINE_CACHE=1 @@ -53,6 +53,9 @@ docker-build-dev: --platform linux/arm64/v8,linux/amd64 --push . after_script: + - | + docker buildx rm zedBuilder && echo "Successfully Stopped builder instance" || echo "Failed to stop builder instance." + echo "Please review multi-arch manifests are present:" - docker buildx imagetools inspect "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" docker-build-prod: @@ -76,7 +79,7 @@ docker-build-prod: - | tag="" echo "Running on default branch '$CI_DEFAULT_BRANCH': tag = 'latest'" - - docker buildx create --use + - docker buildx create --use --name zedBuilder - docker buildx build --cache-from type=registry,ref="$CI_REGISTRY_IMAGE${tag}" --build-arg BUILDKIT_INLINE_CACHE=1 @@ -84,4 +87,7 @@ docker-build-prod: --platform linux/arm64/v8,linux/amd64 --push . after_script: + - | + docker buildx rm zedBuilder && echo "Successfully Stopped builder instance" || echo "Failed to stop builder instance." + echo "Please review multi-arch manifests are present:" - docker buildx imagetools inspect "$CI_REGISTRY_IMAGE${tag}" From ad31b38f7cbf60907597c9e093214e75479fa767 Mon Sep 17 00:00:00 2001 From: Zedifus Date: Wed, 22 Sep 2021 18:42:14 +0100 Subject: [PATCH 02/21] Remove buildx build step as can curl pre-built --- .gitlab-ci.yml | 52 +++++++++++++++++++++----------------------------- 1 file changed, 22 insertions(+), 30 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d489c583..5209610e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,29 +1,7 @@ stages: -- buildx - build-dev - build-prod -buildx: - image: docker:git - services: - - docker:dind - stage: buildx - rules: - - if: $CI_COMMIT_BRANCH == 'dev' - - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - variables: - GIT_STRATEGY: none - tags: - - docker - artifacts: - paths: - - buildx - expire_in: 1 hour - script: - - export DOCKER_BUILDKIT=1 - - git clone git://github.com/docker/buildx ./docker-buildx - - docker build --platform=local -o . ./docker-buildx - docker-build-dev: image: docker:latest services: @@ -37,10 +15,17 @@ docker-build-dev: environment: name: development before_script: - - mkdir -p ~/.docker/cli-plugins - - mv buildx ~/.docker/cli-plugins/docker-buildx - - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes - - echo $CI_BUILD_TOKEN | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY + - | + apk --no-cache add curl + latest_tag=$(curl -s https://api.github.com/repos/docker/buildx/releases/latest | sed -Ene '/^ *"tag_name": *"(v.+)",$/s//\1/p') + echo "Using buildx version $latest_tag" + curl -sSLo docker-buildx "https://github.com/docker/buildx/releases/download/$latest_tag/buildx-$latest_tag.linux-amd64" + chmod a+x docker-buildx + mkdir -p ~/.docker/cli-plugins + mv docker-buildx ~/.docker/cli-plugins/docker-buildx + docker version + - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + - echo $CI_BUILD_TOKEN | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY script: - | tag=":$CI_COMMIT_REF_SLUG" @@ -71,10 +56,17 @@ docker-build-prod: environment: name: production before_script: - - mkdir -p ~/.docker/cli-plugins - - mv buildx ~/.docker/cli-plugins/docker-buildx - - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes - - echo $CI_BUILD_TOKEN | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY + - | + apk --no-cache add curl + latest_tag=$(curl -s https://api.github.com/repos/docker/buildx/releases/latest | sed -Ene '/^ *"tag_name": *"(v.+)",$/s//\1/p') + echo "Using buildx version $latest_tag" + curl -sSLo docker-buildx "https://github.com/docker/buildx/releases/download/$latest_tag/buildx-$latest_tag.linux-amd64" + chmod a+x docker-buildx + mkdir -p ~/.docker/cli-plugins + mv docker-buildx ~/.docker/cli-plugins/docker-buildx + docker version + - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + - echo $CI_BUILD_TOKEN | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY script: - | tag="" From 9837413a4fc53713967b1a4b81dd6b0378fcd3bf Mon Sep 17 00:00:00 2001 From: Zedifus Date: Wed, 22 Sep 2021 18:53:00 +0100 Subject: [PATCH 03/21] Tidy up after_script output --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5209610e..f233aa95 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -41,7 +41,7 @@ docker-build-dev: - | docker buildx rm zedBuilder && echo "Successfully Stopped builder instance" || echo "Failed to stop builder instance." echo "Please review multi-arch manifests are present:" - - docker buildx imagetools inspect "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" + docker buildx imagetools inspect "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" docker-build-prod: image: docker:latest @@ -82,4 +82,4 @@ docker-build-prod: - | docker buildx rm zedBuilder && echo "Successfully Stopped builder instance" || echo "Failed to stop builder instance." echo "Please review multi-arch manifests are present:" - - docker buildx imagetools inspect "$CI_REGISTRY_IMAGE${tag}" + docker buildx imagetools inspect "$CI_REGISTRY_IMAGE${tag}" From 1fd257f3612b6d9ba7a7c4056322395961f754ef Mon Sep 17 00:00:00 2001 From: Zedifus Date: Wed, 22 Sep 2021 19:02:28 +0100 Subject: [PATCH 04/21] Fix yml indentation --- .gitlab-ci.yml | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f233aa95..d30be07a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,23 +9,23 @@ docker-build-dev: command: ["--experimental"] stage: build-dev tags: - - docker + - docker rules: - if: $CI_COMMIT_BRANCH == 'dev' environment: name: development before_script: - - | - apk --no-cache add curl - latest_tag=$(curl -s https://api.github.com/repos/docker/buildx/releases/latest | sed -Ene '/^ *"tag_name": *"(v.+)",$/s//\1/p') - echo "Using buildx version $latest_tag" - curl -sSLo docker-buildx "https://github.com/docker/buildx/releases/download/$latest_tag/buildx-$latest_tag.linux-amd64" - chmod a+x docker-buildx - mkdir -p ~/.docker/cli-plugins - mv docker-buildx ~/.docker/cli-plugins/docker-buildx - docker version - - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes - - echo $CI_BUILD_TOKEN | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY + - | + apk --no-cache add curl + latest_tag=$(curl -s https://api.github.com/repos/docker/buildx/releases/latest | sed -Ene '/^ *"tag_name": *"(v.+)",$/s//\1/p') + echo "Using buildx version $latest_tag" + curl -sSLo docker-buildx "https://github.com/docker/buildx/releases/download/$latest_tag/buildx-$latest_tag.linux-amd64" + chmod a+x docker-buildx + mkdir -p ~/.docker/cli-plugins + mv docker-buildx ~/.docker/cli-plugins/docker-buildx + docker version + - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + - echo $CI_BUILD_TOKEN | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY script: - | tag=":$CI_COMMIT_REF_SLUG" @@ -50,23 +50,23 @@ docker-build-prod: command: ["--experimental"] stage: build-prod tags: - - docker + - docker rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH environment: name: production before_script: - - | - apk --no-cache add curl - latest_tag=$(curl -s https://api.github.com/repos/docker/buildx/releases/latest | sed -Ene '/^ *"tag_name": *"(v.+)",$/s//\1/p') - echo "Using buildx version $latest_tag" - curl -sSLo docker-buildx "https://github.com/docker/buildx/releases/download/$latest_tag/buildx-$latest_tag.linux-amd64" - chmod a+x docker-buildx - mkdir -p ~/.docker/cli-plugins - mv docker-buildx ~/.docker/cli-plugins/docker-buildx - docker version - - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes - - echo $CI_BUILD_TOKEN | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY + - | + apk --no-cache add curl + latest_tag=$(curl -s https://api.github.com/repos/docker/buildx/releases/latest | sed -Ene '/^ *"tag_name": *"(v.+)",$/s//\1/p') + echo "Using buildx version $latest_tag" + curl -sSLo docker-buildx "https://github.com/docker/buildx/releases/download/$latest_tag/buildx-$latest_tag.linux-amd64" + chmod a+x docker-buildx + mkdir -p ~/.docker/cli-plugins + mv docker-buildx ~/.docker/cli-plugins/docker-buildx + docker version + - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + - echo $CI_BUILD_TOKEN | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY script: - | tag="" From 5fc1b58d11e36d6ba52f1917405760efdced0567 Mon Sep 17 00:00:00 2001 From: Zedifus Date: Thu, 23 Sep 2021 02:59:55 +0100 Subject: [PATCH 05/21] Add pyinstaller pipes --- .gitlab-ci.yml | 70 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 66 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d30be07a..fe06d824 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,13 +1,15 @@ stages: -- build-dev -- build-prod +- win-dev +- win-prod +- docker-dev +- docker-prod docker-build-dev: image: docker:latest services: - name: docker:dind command: ["--experimental"] - stage: build-dev + stage: docker-dev tags: - docker rules: @@ -48,7 +50,7 @@ docker-build-prod: services: - name: docker:dind command: ["--experimental"] - stage: build-prod + stage: docker-prod tags: - docker rules: @@ -83,3 +85,63 @@ docker-build-prod: docker buildx rm zedBuilder && echo "Successfully Stopped builder instance" || echo "Failed to stop builder instance." echo "Please review multi-arch manifests are present:" docker buildx imagetools inspect "$CI_REGISTRY_IMAGE${tag}" + +win-dev-build: + stage: win-dev + tags: + - win64 + cache: + paths: + - .venv/ + rules: + - if: "$CI_COMMIT_BRANCH == 'dev'" + environment: + name: development + script: + - | + $ErrorActionPreference = "Stop" + python -m venv .venv + .venv\Scripts\activate.ps1 + pip install pyinstaller + pip install -r requirements.txt + - pyinstaller -F main.py + --distpath . + --icon app\frontend\static\assets\images\Crafty_4-0_Logo_square.ico + --name "crafty_commander" + --paths .venv\Lib\site-packages + --hidden-import cryptography + --hidden-import cffi + artifacts: + paths: + - app\ + - .\crafty_commander.exe + +win-prod-build: + stage: win-prod + tags: + - win64 + cache: + paths: + - .venv/ + rules: + - if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH" + environment: + name: production + script: + - | + $ErrorActionPreference = "Stop" + python -m venv .venv + .venv\Scripts\activate.ps1 + pip install pyinstaller + pip install -r requirements.txt + - pyinstaller -F main.py + --distpath . + --icon app\frontend\static\assets\images\Crafty_4-0_Logo_square.ico + --name "crafty_commander" + --paths .venv\Lib\site-packages + --hidden-import cryptography + --hidden-import cffi + artifacts: + paths: + - app\ + - .\crafty_commander.exe From e05803598a7c8bfb00f810d0b30e66cf6185841a Mon Sep 17 00:00:00 2001 From: Iain Powrie Date: Thu, 23 Sep 2021 02:05:29 +0000 Subject: [PATCH 06/21] Add pyinstaller icon --- .../assets/images/Crafty_4-0_Logo_square.ico | Bin 0 -> 107038 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 app/frontend/static/assets/images/Crafty_4-0_Logo_square.ico diff --git a/app/frontend/static/assets/images/Crafty_4-0_Logo_square.ico b/app/frontend/static/assets/images/Crafty_4-0_Logo_square.ico new file mode 100644 index 0000000000000000000000000000000000000000..68095bf6f7953caf7f7b2c7e66e249b83a57909b GIT binary patch literal 107038 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 gA88PWf#>qkq6 Date: Thu, 23 Sep 2021 02:34:15 +0000 Subject: [PATCH 07/21] Patch bugfix for runner --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fe06d824..16591854 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -100,7 +100,7 @@ win-dev-build: script: - | $ErrorActionPreference = "Stop" - python -m venv .venv + py -m venv .venv .venv\Scripts\activate.ps1 pip install pyinstaller pip install -r requirements.txt @@ -130,7 +130,7 @@ win-prod-build: script: - | $ErrorActionPreference = "Stop" - python -m venv .venv + py -m venv .venv .venv\Scripts\activate.ps1 pip install pyinstaller pip install -r requirements.txt From 65add452ab4448dea52eeb9270831d0552ad251c Mon Sep 17 00:00:00 2001 From: Iain Powrie Date: Thu, 23 Sep 2021 03:26:57 +0000 Subject: [PATCH 08/21] Update .gitlab-ci.yml file --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 16591854..7a16ec61 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -108,7 +108,7 @@ win-dev-build: --distpath . --icon app\frontend\static\assets\images\Crafty_4-0_Logo_square.ico --name "crafty_commander" - --paths .venv\Lib\site-packages + --paths ".venv\Lib\site-packages":"C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64" --hidden-import cryptography --hidden-import cffi artifacts: @@ -138,7 +138,7 @@ win-prod-build: --distpath . --icon app\frontend\static\assets\images\Crafty_4-0_Logo_square.ico --name "crafty_commander" - --paths .venv\Lib\site-packages + --paths ".venv\Lib\site-packages":"C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64" --hidden-import cryptography --hidden-import cffi artifacts: From 9223404603e33281eeb251737b30a5bc3461a4bd Mon Sep 17 00:00:00 2001 From: Iain Powrie Date: Thu, 23 Sep 2021 03:28:46 +0000 Subject: [PATCH 09/21] Update .gitlab-ci.yml file --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7a16ec61..96503b74 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -108,7 +108,7 @@ win-dev-build: --distpath . --icon app\frontend\static\assets\images\Crafty_4-0_Logo_square.ico --name "crafty_commander" - --paths ".venv\Lib\site-packages":"C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64" + --paths .venv\Lib\site-packages:C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64 --hidden-import cryptography --hidden-import cffi artifacts: @@ -138,7 +138,7 @@ win-prod-build: --distpath . --icon app\frontend\static\assets\images\Crafty_4-0_Logo_square.ico --name "crafty_commander" - --paths ".venv\Lib\site-packages":"C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64" + --paths .venv\Lib\site-packages:C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64 --hidden-import cryptography --hidden-import cffi artifacts: From 3137419a5f53f39e4fd05fed3cb3e95a048f4593 Mon Sep 17 00:00:00 2001 From: Iain Powrie Date: Thu, 23 Sep 2021 03:30:29 +0000 Subject: [PATCH 10/21] Fix Runner incompatibility --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 96503b74..272ec45e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -108,7 +108,7 @@ win-dev-build: --distpath . --icon app\frontend\static\assets\images\Crafty_4-0_Logo_square.ico --name "crafty_commander" - --paths .venv\Lib\site-packages:C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64 + --paths .venv\Lib\site-packages:C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86 --hidden-import cryptography --hidden-import cffi artifacts: From 378a5d0e4b24a27a3ad63a9861cc807c8872965b Mon Sep 17 00:00:00 2001 From: Iain Powrie Date: Thu, 23 Sep 2021 03:32:31 +0000 Subject: [PATCH 11/21] Fix Runner incompatibility --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 272ec45e..dcd59f38 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -108,7 +108,7 @@ win-dev-build: --distpath . --icon app\frontend\static\assets\images\Crafty_4-0_Logo_square.ico --name "crafty_commander" - --paths .venv\Lib\site-packages:C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86 + --paths ".venv\Lib\site-packages:C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64" --hidden-import cryptography --hidden-import cffi artifacts: @@ -138,7 +138,7 @@ win-prod-build: --distpath . --icon app\frontend\static\assets\images\Crafty_4-0_Logo_square.ico --name "crafty_commander" - --paths .venv\Lib\site-packages:C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64 + --paths ".venv\Lib\site-packages:C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64" --hidden-import cryptography --hidden-import cffi artifacts: From 3e84df601f0f003411bfd4135ed5d67665a191c4 Mon Sep 17 00:00:00 2001 From: Iain Powrie Date: Fri, 24 Sep 2021 12:34:00 +0000 Subject: [PATCH 12/21] Revert troubleshooting changes, add archive download comments Issue is runner's build deps not being present in breaded datacentre node, this will be updated tonight. --- .gitlab-ci.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dcd59f38..fed1bedb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -108,14 +108,16 @@ win-dev-build: --distpath . --icon app\frontend\static\assets\images\Crafty_4-0_Logo_square.ico --name "crafty_commander" - --paths ".venv\Lib\site-packages:C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64" + --paths .venv\Lib\site-packages --hidden-import cryptography --hidden-import cffi artifacts: paths: - app\ - .\crafty_commander.exe - + # Download latest: + # | https://gitlab.com/crafty-controller/crafty-commander/-/jobs/artifacts/dev/download?job=win-dev-build + win-prod-build: stage: win-prod tags: @@ -138,10 +140,12 @@ win-prod-build: --distpath . --icon app\frontend\static\assets\images\Crafty_4-0_Logo_square.ico --name "crafty_commander" - --paths ".venv\Lib\site-packages:C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64" + --paths .venv\Lib\site-packages --hidden-import cryptography --hidden-import cffi artifacts: paths: - app\ - .\crafty_commander.exe + # Download latest: + # | https://gitlab.com/crafty-controller/crafty-commander/-/jobs/artifacts/master/download?job=win-prod-build \ No newline at end of file From d93038a70d5ec93bd3e8a763c35858b7e02f9b52 Mon Sep 17 00:00:00 2001 From: Zedifus Date: Fri, 24 Sep 2021 22:20:13 +0100 Subject: [PATCH 13/21] Fix unhandled exception with port check function --- app/classes/shared/helpers.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/app/classes/shared/helpers.py b/app/classes/shared/helpers.py index 0937f764..0bb18fa4 100644 --- a/app/classes/shared/helpers.py +++ b/app/classes/shared/helpers.py @@ -82,18 +82,21 @@ class Helpers: try: requests.get('https://google.com', timeout=1) return True - except Exception as err: + except Exception as err: return False @staticmethod def check_port(server_port): - host_public = get('https://api.ipify.org').text - sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - result = sock.connect_ex((host_public ,server_port)) - sock.close() - if result == 0: - return True - else: + try: + host_public = get('https://api.ipify.org').text + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + result = sock.connect_ex((host_public ,server_port)) + sock.close() + if result == 0: + return True + else: + return False + except Exception as err: return False @@ -451,7 +454,7 @@ class Helpers: sizes = [] for p in paths: sizes.append({ - "path": p, + "path": p, "size": self.human_readable_file_size(os.stat(p).st_size) }) return sizes @@ -610,7 +613,7 @@ class Helpers: @staticmethod def in_path_old(x, y): return os.path.abspath(y).__contains__(os.path.abspath(x)) - + @staticmethod def get_banned_players(server_id, db_helper): stats = db_helper.get_server_stats_by_id(server_id) @@ -624,7 +627,7 @@ class Helpers: except Exception as ex: print (ex) return None - + return json.loads(content) @staticmethod From 3a62456c62e2848ecd639d23774439cc2264e169 Mon Sep 17 00:00:00 2001 From: Zedifus Date: Fri, 24 Sep 2021 22:43:35 +0100 Subject: [PATCH 14/21] Add excludes for unnecessary files from docker img Also test bread's runner build to see if successful --- .dockerignore | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.dockerignore b/.dockerignore index c21b5e61..04265a3b 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1 +1,9 @@ docker/ + +.git/ +.gitignore + +crafty_commander.exe +DBCHANGES.md +docker-compose.yml.example +README.md From 047ce7f8b076a7603abbab252ae50be51f3d8272 Mon Sep 17 00:00:00 2001 From: Iain Powrie Date: Fri, 24 Sep 2021 22:10:43 +0000 Subject: [PATCH 15/21] Exclude unnecessary classes from win-build --- .gitlab-ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fed1bedb..198d1769 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -115,6 +115,8 @@ win-dev-build: paths: - app\ - .\crafty_commander.exe + exclude: + - app\classes # Download latest: # | https://gitlab.com/crafty-controller/crafty-commander/-/jobs/artifacts/dev/download?job=win-dev-build @@ -147,5 +149,7 @@ win-prod-build: paths: - app\ - .\crafty_commander.exe + exclude: + - app\classes # Download latest: # | https://gitlab.com/crafty-controller/crafty-commander/-/jobs/artifacts/master/download?job=win-prod-build \ No newline at end of file From b75d8fd69f0bbcedfa86b63412ae5d7087c814b5 Mon Sep 17 00:00:00 2001 From: Iain Powrie Date: Fri, 24 Sep 2021 22:17:50 +0000 Subject: [PATCH 16/21] Exclude classes recursively (I hope) --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 198d1769..dd00fe09 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -116,7 +116,7 @@ win-dev-build: - app\ - .\crafty_commander.exe exclude: - - app\classes + - app\classes\**\* # Download latest: # | https://gitlab.com/crafty-controller/crafty-commander/-/jobs/artifacts/dev/download?job=win-dev-build @@ -150,6 +150,6 @@ win-prod-build: - app\ - .\crafty_commander.exe exclude: - - app\classes + - app\classes\**\* # Download latest: # | https://gitlab.com/crafty-controller/crafty-commander/-/jobs/artifacts/master/download?job=win-prod-build \ No newline at end of file From 959b02f58feb4edeec11109199ce3defca07ed4a Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 25 Sep 2021 11:56:12 -0400 Subject: [PATCH 17/21] Adds exception to page_data for initial server creation. --- app/classes/web/panel_handler.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/classes/web/panel_handler.py b/app/classes/web/panel_handler.py index 474d9c46..9f1e48ef 100644 --- a/app/classes/web/panel_handler.py +++ b/app/classes/web/panel_handler.py @@ -124,11 +124,19 @@ class PanelHandler(BaseHandler): if exec_user['superuser'] == 1: page_data['servers'] = db_helper.get_all_servers_stats() for data in page_data['servers']: - data['stats']['waiting_start'] = db_helper.get_waiting_start(int(data['stats']['server_id']['server_id'])) + try: + data['stats']['waiting_start'] = db_helper.get_waiting_start(int(data['stats']['server_id']['server_id'])) + except: + data['stats']['waiting_start'] = False else: user_auth = db_helper.get_authorized_servers_stats(exec_user_id) logger.debug("ASFR: {}".format(user_auth)) page_data['servers'] = user_auth + for data in page_data['servers']: + try: + data['stats']['waiting_start'] = db_helper.get_waiting_start(int(data['stats']['server_id']['server_id'])) + except: + data['stats']['waiting_start'] = False total_players = 0 for server in db_helper.get_all_defined_servers(): @@ -174,7 +182,10 @@ class PanelHandler(BaseHandler): # server_data isn't needed since the server_stats also pulls server data page_data['server_data'] = db_helper.get_server_data_by_id(server_id) page_data['server_stats'] = db_helper.get_server_stats_by_id(server_id) - page_data['waiting_start'] = db_helper.get_waiting_start(server_id) + try: + page_data['waiting_start'] = db_helper.get_waiting_start(server_id) + except: + page_data['waiting_start'] = False page_data['get_players'] = lambda: self.controller.stats.get_server_players(server_id) page_data['active_link'] = subpage page_data['permissions'] = { From aa24782b5b79508d0c54736041bdf2f457aed97d Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 25 Sep 2021 13:26:06 -0400 Subject: [PATCH 18/21] Fixes error thrown on initial server creation for waiting_start. --- app/classes/shared/controller.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/app/classes/shared/controller.py b/app/classes/shared/controller.py index 8e72f36a..cae7974c 100644 --- a/app/classes/shared/controller.py +++ b/app/classes/shared/controller.py @@ -89,9 +89,6 @@ class Controller: if s['auto_start']: db_helper.set_waiting_start(s['server_id'], True) - db_helper.get_waiting_start(s['server_id']) - - server_stats = db_helper.get_all_servers_stats() self.refresh_server_settings(s['server_id']) console.info("Loaded Server: ID {} | Name: {} | Autostart: {} | Delay: {} ".format( From f10db73fa5e87d754e7fdca2a68582b7b8f126d6 Mon Sep 17 00:00:00 2001 From: computergeek125 Date: Sat, 25 Sep 2021 12:25:27 -0500 Subject: [PATCH 19/21] Set TCP timeout to a more reasonable value --- app/classes/shared/helpers.py | 1 + 1 file changed, 1 insertion(+) diff --git a/app/classes/shared/helpers.py b/app/classes/shared/helpers.py index 0bb18fa4..6b37d6fc 100644 --- a/app/classes/shared/helpers.py +++ b/app/classes/shared/helpers.py @@ -90,6 +90,7 @@ class Helpers: try: host_public = get('https://api.ipify.org').text sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.settimeout(10.0) result = sock.connect_ex((host_public ,server_port)) sock.close() if result == 0: From 74f4bf748e24bae2f6024cb9512233a3c6f2a8bc Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 25 Sep 2021 15:07:39 -0400 Subject: [PATCH 20/21] Adds support for a friendlier splashscreen when no servers are created. Users can go to an empty dashboard instead of a wall of text. --- app/classes/web/panel_handler.py | 10 ---------- app/frontend/templates/panel/dashboard.html | 11 ++++++++++- app/translations/en_EN.json | 4 +++- app/translations/fi_FI.json | 4 +++- app/translations/fr_FR.json | 4 +++- 5 files changed, 19 insertions(+), 14 deletions(-) diff --git a/app/classes/web/panel_handler.py b/app/classes/web/panel_handler.py index 9f1e48ef..b0be8686 100644 --- a/app/classes/web/panel_handler.py +++ b/app/classes/web/panel_handler.py @@ -71,16 +71,6 @@ class PanelHandler(BaseHandler): } page_data['super_user'] = exec_user['superuser'] - # if no servers defined, let's go to the build server area - if page_data['server_stats']['total'] == 0 and page != "error" and page != "credits" and page != "contribute": - - if Enum_Permissions_Crafty.Server_Creation not in exec_user_crafty_permissions and len(defined_servers) == 0: - logger.warning("User '" + exec_user['username'] + "#" + str(exec_user_id) + "' has access to 0 servers and is not a server creator") - else: - self.set_status(301) - self.redirect("/server/step1") - return - if page == 'unauthorized': template = "panel/denied.html" diff --git a/app/frontend/templates/panel/dashboard.html b/app/frontend/templates/panel/dashboard.html index 71e1b74c..710dd872 100644 --- a/app/frontend/templates/panel/dashboard.html +++ b/app/frontend/templates/panel/dashboard.html @@ -101,6 +101,15 @@
+ {% if len(data['servers']) == 0%} +
+

{{ translate('dashboard', 'welcome') }}

+
+ {{ translate('dashboard', 'no-servers') }} {{ translate('dashboard', 'newServer') }}. +
+ + {% end %} + {% if len(data['servers']) > 0 %} @@ -205,6 +214,7 @@
+ {% end %}
@@ -212,7 +222,6 @@ - diff --git a/app/translations/en_EN.json b/app/translations/en_EN.json index 71bbd71a..40ca4a21 100644 --- a/app/translations/en_EN.json +++ b/app/translations/en_EN.json @@ -100,7 +100,9 @@ "restart": "Restart", "killing": "Killing process...", "starting": "Delayed-Start", - "delay-explained": "The service/agent has recently started and is delaying the start of the minecraft server instance" + "delay-explained": "The service/agent has recently started and is delaying the start of the minecraft server instance", + "no-servers": "There are currently no servers. To get started, click", + "welcome": "Welcome to Crafty Controller" }, "accessDenied": { "accessDenied": "Access Denied", diff --git a/app/translations/fi_FI.json b/app/translations/fi_FI.json index d3967cd3..5d01e14b 100644 --- a/app/translations/fi_FI.json +++ b/app/translations/fi_FI.json @@ -100,7 +100,9 @@ "restart": "Uudelleenkäynnistää", "killing": "Tappamisprosessi ...", "starting": "Myöhästynyt lähtö", - "delay-explained": "Palvelu/agentti on äskettäin aloittanut ja viivästyttää minecraft -palvelimen ilmentymän alkua" + "delay-explained": "Palvelu/agentti on äskettäin aloittanut ja viivästyttää minecraft -palvelimen ilmentymän alkua", + "no-servers": "Palvelimia ei tällä hetkellä ole. Aloita napsauttamalla", + "welcome": "Tervetuloa Crafty Controller" }, "accessDenied": { "accessDenied": "Käyttö estetty", diff --git a/app/translations/fr_FR.json b/app/translations/fr_FR.json index b6665abd..439574b1 100644 --- a/app/translations/fr_FR.json +++ b/app/translations/fr_FR.json @@ -100,7 +100,9 @@ "restart": "Redémarrage", "killing": "Processus de mise à mort...", "starting": "Démarrage retardé", - "delay-explained": "Le service/agent a récemment démarré et retarde le démarrage de l'instance du serveur minecraft" + "delay-explained": "Le service/agent a récemment démarré et retarde le démarrage de l'instance du serveur minecraft", + "no-servers": "Il n'y a actuellement aucun serveur. Pour commencer, cliquez sur", + "welcome": "Bienvenue à Crafty Controller" }, "accessDenied": { "accessDenied": "Accès Interdit", From d17e17e38b8cac949ffe5e18926006572d73c676 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 25 Sep 2021 15:41:25 -0400 Subject: [PATCH 21/21] Fixes issue where user would be disabled after changing password if no servers existed. --- app/frontend/templates/panel/panel_edit_user.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/frontend/templates/panel/panel_edit_user.html b/app/frontend/templates/panel/panel_edit_user.html index 58c1f329..2fd401bd 100644 --- a/app/frontend/templates/panel/panel_edit_user.html +++ b/app/frontend/templates/panel/panel_edit_user.html @@ -157,6 +157,7 @@ + {% end %}
- {% end %} +