Skip to content

Commit 6ef1175

Browse files
2.0.0b1
#### Changelog: * Feature: Added support of vstutils 5. * Feature: Support centrifugo for autoupdate notifications. * Feature: Infinite group nesting (for databases with CTE support). * Feature: Mapping api and gui for execution templates. * Feature: Add 2FA auth support. * Chore: Update interface for new standards. * Fix: Celery not starting in docker. * Fix: Managing Children Group via WebUI. * Fix: Cannot install from docker-compose. #### Breaking changes: * Move some api endpoints. Migrate to V3 (default version). * Changed api for templates. Closes: vstconsulting/polemarch#121 Closes: vstconsulting/polemarch#120 Closes: vstconsulting/polemarch#113 Closes: vstconsulting/polemarch#111 See merge request polemarch/ce!231
2 parents 3c4f983 + 8a442f9 commit 6ef1175

File tree

126 files changed

+13661
-17542
lines changed

Some content is hidden

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

126 files changed

+13661
-17542
lines changed

.gitlab-ci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ stages:
3535
.branch_tests_template: &branch_tests
3636
stage: test
3737
image: vstconsulting/images:tox
38+
coverage: '/\d+\%\s*$/'
3839
variables:
3940
TOX_ENVS: ""
4041
before_script:
@@ -158,7 +159,7 @@ publish_docker:
158159
- pip install tox
159160
- tox -e release-docker
160161
rules:
161-
- if: '$CI_COMMIT_TAG && $POLEMARCH_DOCKER_USER && $POLEMARCH_DOCKER_PASSWORD && $POLEMARCH_DOCKER_EMAIL && $POLEMARCH_DOCKER_IMAGE_NAME'
162+
- if: '$CI_COMMIT_TAG && $POLEMARCH_DOCKER_USER && $POLEMARCH_DOCKER_PASSWORD && $POLEMARCH_DOCKER_IMAGE_NAME'
162163
when: on_success
163164
- when: never
164165

.pylintrc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ ignore=CVS,migrations,unittests,tests,settings.py,settings_production.py
2020

2121
# List of plugins (as comma separated values of python modules names) to load,
2222
# usually to register additional checkers.
23-
load-plugins=pylint_django
23+
# load-plugins=pylint_django
2424

2525
# Use multiple processes to speed up Pylint.
2626
jobs=4
@@ -65,7 +65,7 @@ confidence=
6565
# --enable=similarities". If you want to run only the classes checker, but have
6666
# no Warning level messages displayed, use"--disable=all --enable=classes
6767
# --disable=W"
68-
disable=logging-fstring-interpolation,unexpected-keyword-arg,no-name-in-module,useless-super-delegation,len-as-condition,super-init-not-called,keyword-arg-before-vararg,no-else-return,no-self-argument,inconsistent-return-statements,unsubscriptable-object,too-many-branches,deprecated-lambda,old-style-class,no-init,expression-not-assigned,broad-except,logging-format-interpolation,model-no-explicit-unicode,too-many-ancestors,bad-continuation,bad-whitespace,redefined-builtin,missing-docstring,redefined-variable-type,no-self-use,line-too-long,suppressed-message,cmp-method,no-absolute-import,xrange-builtin,using-cmp-argument,basestring-builtin,backtick,unpacking-in-except,old-raise-syntax,getslice-method,long-builtin,print-statement,reduce-builtin,filter-builtin-not-iterating,import-star-module-level,unichr-builtin,dict-iter-method,range-builtin-not-iterating,file-builtin,old-division,standarderror-builtin,coerce-builtin,setslice-method,old-ne-operator,long-suffix,execfile-builtin,oct-method,metaclass-assignment,intern-builtin,apply-builtin,dict-view-method,raw_input-builtin,raising-string,coerce-method,unicode-builtin,next-method-called,hex-method,nonzero-method,round-builtin,cmp-builtin,reload-builtin,buffer-builtin,useless-suppression,zip-builtin-not-iterating,indexing-exception,map-builtin-not-iterating,delslice-method,old-octal-literal,input-builtin,parameter-unpacking,model-has-unicode,bare-except,too-few-public-methods,fixme,dangerous-default-value,attribute-defined-outside-init,pointless-string-statement,too-many-instance-attributes,arguments-differ,binary-op-exception,bad-classmethod-argument,locally-disabled,file-ignored,multiple-statements,superfluous-parens,bad-mcs-classmethod-argument,useless-object-inheritance
68+
disable=logging-fstring-interpolation,unexpected-keyword-arg,no-name-in-module,useless-super-delegation,len-as-condition,super-init-not-called,keyword-arg-before-vararg,no-else-return,no-self-argument,inconsistent-return-statements,unsubscriptable-object,too-many-branches,deprecated-lambda,old-style-class,no-init,expression-not-assigned,broad-except,logging-format-interpolation,model-no-explicit-unicode,too-many-ancestors,bad-continuation,bad-whitespace,redefined-builtin,missing-docstring,redefined-variable-type,no-self-use,line-too-long,suppressed-message,cmp-method,no-absolute-import,xrange-builtin,using-cmp-argument,basestring-builtin,backtick,unpacking-in-except,old-raise-syntax,getslice-method,long-builtin,print-statement,reduce-builtin,filter-builtin-not-iterating,import-star-module-level,unichr-builtin,dict-iter-method,range-builtin-not-iterating,file-builtin,old-division,standarderror-builtin,coerce-builtin,setslice-method,old-ne-operator,long-suffix,execfile-builtin,oct-method,metaclass-assignment,intern-builtin,apply-builtin,dict-view-method,raw_input-builtin,raising-string,coerce-method,unicode-builtin,next-method-called,hex-method,nonzero-method,round-builtin,cmp-builtin,reload-builtin,buffer-builtin,useless-suppression,zip-builtin-not-iterating,indexing-exception,map-builtin-not-iterating,delslice-method,old-octal-literal,input-builtin,parameter-unpacking,model-has-unicode,bare-except,too-few-public-methods,fixme,dangerous-default-value,attribute-defined-outside-init,pointless-string-statement,too-many-instance-attributes,arguments-differ,binary-op-exception,bad-classmethod-argument,locally-disabled,file-ignored,multiple-statements,superfluous-parens,bad-mcs-classmethod-argument,useless-object-inheritance,duplicate-code,unused-argument
6969

7070

7171
[REPORTS]

Dockerfile

Lines changed: 66 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,80 @@
1+
# syntax=docker/dockerfile:1
2+
13
FROM vstconsulting/images:tox AS build
24

3-
WORKDIR /usr/local/project
5+
WORKDIR /usr/local/polemarch
46

57
COPY . .
68

7-
ENV WORKER=ENABLE \
8-
LC_ALL=en_US.UTF-8 \
9-
LANG=en_US.UTF-8
10-
11-
RUN tox -c tox_build.ini -e py36-build && \
12-
mv dist/ environment/docker_data/
9+
RUN --mount=type=cache,target=/root/.cache/pip \
10+
--mount=type=cache,target=/cache \
11+
--mount=type=cache,target=/usr/local/polemarch/.tox \
12+
rm -rf dist/* && \
13+
tox -c tox_build.ini -e py36-build
1314

1415
###############################################################
1516

16-
FROM alpine:3.11
17+
FROM vstconsulting/images:python
18+
19+
RUN rm -f /etc/apt/apt.conf.d/docker-clean; echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache
1720

1821
ENV WORKER=ENABLE \
1922
LC_ALL=en_US.UTF-8 \
20-
LANG=en_US.UTF-8
21-
22-
COPY --from=build /usr/local/project/environment/docker_data/ /etc/polemarch/
23-
24-
RUN cat /etc/polemarch/system_requirements.txt | xargs apk --update add && \
25-
cat /etc/polemarch/system_requirements_build.txt | xargs apk add --virtual .build-deps && \
26-
virtualenv -p python3 /opt/polemarch && \
27-
/opt/polemarch/bin/pip3 install -U pip wheel setuptools && \
28-
/opt/polemarch/bin/pip3 install -U -r /etc/polemarch/system_requirements_pip.txt && \
29-
mkdir -p /projects /hooks && \
30-
/opt/polemarch/bin/pip3 install -U /etc/polemarch/dist/$(ls /etc/polemarch/dist/ | grep "\.tar\.gz" | tail -1)[mysql,postgresql] && \
31-
/opt/polemarch/bin/pip3 install paramiko && \
32-
mkdir -p /run/openldap && \
33-
apk --purge del .build-deps && \
34-
rm -rf ~/.cache/pip/* && \
35-
rm -rf /var/cache/apk/*
23+
LANG=en_US.UTF-8 \
24+
POLEMARCH_PROJECTS_DIR=/projects
25+
26+
RUN --mount=type=cache,target=/var/cache/apt \
27+
--mount=type=cache,target=/var/lib/apt \
28+
--mount=type=cache,target=/root/.cache/pip \
29+
--mount=type=bind,from=build,source=/usr/local/polemarch/,target=/polemarch_env \
30+
apt update && \
31+
apt -y install --no-install-recommends \
32+
git \
33+
sudo \
34+
sshpass \
35+
python3.8-dev \
36+
libldap2-dev \
37+
libldap-2.4-2 \
38+
libsasl2-dev \
39+
libsasl2-2 \
40+
libffi-dev \
41+
libffi7 \
42+
libkrb5-dev \
43+
krb5-multidev \
44+
libssl-dev \
45+
libssl1.1 \
46+
gcc && \
47+
python3.8 -m pip install --upgrade pip -U \
48+
wheel \
49+
setuptools \
50+
cryptography \
51+
paramiko && \
52+
ln -s /usr/bin/python3.8 /usr/bin/python && \
53+
mkdir -p /projects /hooks /run/openldap /etc/polemarch/hooks && \
54+
python3.8 -m pip install /polemarch_env/dist/$(ls /polemarch_env/dist/ | grep "\.tar\.gz" | tail -1)[mysql,postgresql] && \
55+
apt remove -y \
56+
python3.8-dev \
57+
libldap2-dev \
58+
libsasl2-dev \
59+
libssl-dev \
60+
libkrb5-dev \
61+
libffi-dev \
62+
default-libmysqlclient-dev \
63+
gcc && \
64+
apt autoremove -y && \
65+
rm -rf /tmp/* \
66+
/var/tmp/* \
67+
/var/log/apt/*
68+
69+
RUN useradd -m -s /bin/bash -U polemarch && \
70+
chown -R polemarch /projects /hooks /run/openldap /etc/polemarch
71+
72+
USER polemarch
73+
74+
WORKDIR /home/polemarch
3675

3776
EXPOSE 8080
3877

39-
ENTRYPOINT [ "/opt/polemarch/bin/polemarchctl" ]
40-
CMD ["dockerrun"]
78+
ENTRYPOINT []
79+
80+
CMD ["/usr/local/bin/polemarchctl", "dockerrun"]

autobuild.sh

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/usr/bin/env bash
2+
CURRENT_VERSION=$(python3 setup.py --version | tr -d '\n')
3+
TAG=$(git tag -l | tail -1 | tr -d '\n')
4+
REGISTRY_IMAGE="${CI_REGISTRY}/${CI_PROJECT_PATH}"
5+
6+
export DOCKER_BUILDKIT=1
7+
export COMPOSE_DOCKER_CLI_BUILD=1
8+
9+
docker_worker (){
10+
docker tag ce_polemarch $1:$2
11+
docker push $1:$2
12+
}
13+
14+
docker-compose build polemarch
15+
16+
docker login -u "${CI_REGISTRY_USER}" -p "${CI_BUILD_TOKEN}" "${CI_REGISTRY}"
17+
docker login -u "${POLEMARCH_DOCKER_USER}" -p "${POLEMARCH_DOCKER_PASSWORD}"
18+
19+
docker_worker ${REGISTRY_IMAGE} ${CURRENT_VERSION}
20+
docker_worker ${POLEMARCH_DOCKER_IMAGE_NAME} ${CURRENT_VERSION}
21+
22+
if [ "${CURRENT_VERSION}" != "${TAG}" ]; then
23+
docker_worker ${REGISTRY_IMAGE} "latest"
24+
docker_worker ${POLEMARCH_DOCKER_IMAGE_NAME} "latest"
25+
fi

0 commit comments

Comments
 (0)