Skip to content

Commit

Permalink
Release 0.2.3
Browse files Browse the repository at this point in the history
*  Update to AdminLTE 3 and Bootstrap 4
*  GUI skins and manual customization
*  Generate GUI with more restfull style (read and edit views)
*  Load modules from project (if it has `DOCUMENTATION`)
*  Readable view for modules documentation
*  Fixed migrations with MySQL/MariaDB
*  Optimized (stoped) requests from inactive tabs
*  Grouped buttons on small screens

See merge request polemarch/ce!96

Closes vstconsulting/polemarch#59
  • Loading branch information
onegreyonewhite committed Nov 28, 2018
2 parents 0ca38d1 + 1b107ea commit 2a74c73
Show file tree
Hide file tree
Showing 106 changed files with 2,975 additions and 1,632 deletions.
64 changes: 53 additions & 11 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,17 @@ stages:
- GUI
- tags
- issue_building
variables:
- $CI_COMMIT_MESSAGE =~ /Merge branch/
only:
changes:
- polemarch/static/*
- polemarch/templates/*
- polemarch/**/*.{py,pyx}
- tests.py
- setup.{py,cfg}
- MANIFEST.in
- requirements.txt
- requirements-test.txt
- Makefile
- tox.ini
- .coveragerc
retry: 2

.pack_tamplate: &packing-test
Expand Down Expand Up @@ -77,11 +83,14 @@ code_style:
refs:
- tags
- issue_building
variables:
- $CI_COMMIT_MESSAGE =~ /Merge branch/
only:
changes:
- polemarch/static/*
- polemarch/templates/*
- polemarch/**/*.{py,pyx}
- requirements.txt
- Makefile
- tox.ini
- .pylintrc
- .pep8
retry: 2

py27-install:
Expand All @@ -96,7 +105,7 @@ py36-install:

####################################################
# DEPRECATED
default_rpm_tests:
.rpm_tests_tamplate: &packing-test-rpm_tests
<<: *packing-test
script:
- cat /etc/hosts
Expand All @@ -107,7 +116,8 @@ default_rpm_tests:
- sudo -H -u polemarch /opt/polemarch/bin/pip install -r requirements-test.txt
- sudo -H -u polemarch /opt/polemarch/bin/polemarchctl test -v2 polemarch.main.tests --failfast

default_deb_tests:

.deb_tests_tamplate: &packing-test-deb_tests
<<: *packing-test
image: onegreyonewhite/tox:ubuntu
script:
Expand All @@ -121,6 +131,33 @@ default_deb_tests:
- sudo -H -u polemarch /opt/polemarch/bin/pip install -r requirements-test.txt
- sudo -H -u polemarch /opt/polemarch/bin/polemarchctl test -v2 polemarch.main.tests --failfast


default_rpm_tests:
<<: *packing-test-rpm_tests


default_deb_tests:
<<: *packing-test-deb_tests


developer_rpm_tests:
<<: *packing-test-rpm_tests
stage: release
only:
refs:
- developer
when: manual
allow_failure: true

developer_deb_tests:
<<: *packing-test-deb_tests
stage: release
only:
refs:
- developer
when: manual
allow_failure: true

# Realese
###########################################
pages:
Expand All @@ -134,6 +171,7 @@ pages:
only:
refs:
- developer
when: always

release_pypi:
stage: release
Expand Down Expand Up @@ -187,7 +225,7 @@ release_deb:
- $PYPI_UPLOAD_PASSWORD
image: onegreyonewhite/tox:ubuntu
script:
- make test ENVS=deb
- make test ENVS=deb INSTALL_PY=python3
allow_failure: false
artifacts:
name: "release-deb-${CI_BUILD_REF_NAME}.${CI_BUILD_ID}"
Expand All @@ -203,5 +241,9 @@ publish_release:
- tags
variables:
- $PYPI_UPLOAD_PASSWORD
before_script:
- git config --global user.name "${GITLAB_USER_NAME}"
- git config --global user.email "${GITLAB_USER_EMAIL}"
- git push https://${GITHUB_USER}:${GITHUB_TOKEN}@github.com/vstconsulting/polemarch.git "${CI_COMMIT_TAG}"
script:
- make test ENVS=release
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -99,14 +99,14 @@ compile: build-clean print_vars

prebuild: print_vars
# Create virtualenv
$(PY) -m virtualenv -p $(INSTALL_PY) --no-site-packages $(PREBUILD_DIR)
$(PY) -m virtualenv -p $(INSTALL_PY) --download --no-site-packages $(PREBUILD_DIR)
# Install required packages
$(PREBUILD_BINDIR)/pip install -U pip
$(PREBUILD_BINDIR)/pip install -U dist/$(NAME)-$(VER).tar.gz $(REQUIREMENTS)
$(PREBUILD_BINDIR)/pip install -U -r requirements-git.txt
# RECORD files are used by wheels for checksum. They contain path names which
# match the buildroot and must be removed or the package will fail to build.
find $(PREBUILD_DIR) -name "RECORD" -exec rm -rf {} \;
# find $(PREBUILD_DIR) -name "RECORD" -exec rm -rf {} \;
# Change the virtualenv path to the target installation direcotry.
$(RELOCATE_BIN) --source=$(PREBUILD_DIR) --destination=$(INSTALL_DIR)
# Remove sources for Clang
Expand Down
107 changes: 25 additions & 82 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,18 +1,26 @@
Polemarch
=========

.. image:: https://gitlab.com/vstconsulting/polemarch/badges/master/pipeline.svg
:target: https://gitlab.com/vstconsulting/polemarch/commits/master
:alt: Tests status

.. image:: https://gitlab.com/vstconsulting/polemarch/badges/master/coverage.svg
:target: https://gitlab.com/vstconsulting/polemarch/pipelines
:alt: Code coverage

.. image:: https://readthedocs.org/projects/polemarch/badge/?version=stable
:target: http://polemarch.readthedocs.io/en/stable/?badge=stable
:alt: Documentation Status

.. image:: https://badge.fury.io/py/polemarch.svg
:target: https://badge.fury.io/py/polemarch

**Polemarch** is service for orchestration infrastructure by ansible.
Simply WEB gui for orchestration infrastructure by ansible playbooks.
**Polemarch** is a service for infrastructure management based on ansible.
Simple WEB gui for infrastructure management using ansible playbooks or ansible modules.

Official site:
https://gitlab.com/vstconsulting/polemarch
http://about.polemarch.org

For any questions you could use issues tracker:
https://gitlab.com/vstconsulting/polemarch/issues
Expand All @@ -24,96 +32,31 @@ https://gitlab.com/vstconsulting/polemarch/issues
Features
--------

* execution templates;
* scheduled tasks execution;
* share hosts, groups between projects;
* sharing of hosts, groups, inventories between projects;
* history of tasks execution with all details;
* easy configurable clustering for reliability and scalability:
* import Ansible projects from Git repository or tar archive;
* import of Ansible projects from Git repository or tar archive;
* import of `inventory file <https://polemarch.readthedocs.io/en/latest/gui.html#import-inventory>`_;
* support of quick project deployment;
* documentation: http://polemarch.readthedocs.io/en/latest/ ;
* groups of hosts and groups hierarchy;
* multiuser;
* responsive design;

Red Hat/CentOS installation
---------------------------

1. Download rpm from official site:
https://github.com/vstconsulting/polemarch/releases

2. Install it with command

.. sourcecode:: bash

sudo yum localinstall polemarch-X.X.X-0.x86_64.rpm.

3. Run services with commands

.. sourcecode:: bash

sudo service polemarchweb start
sudo service polemarchworker start

That's it. Polemarch web panel on 8080 port. Default administrative account is
admin/admin.

If you have any problems with `.deb` package, you can install it from PyPi:
https://polemarch.readthedocs.io/en/stable/quickstart.html#install-from-pypi

Note: If you using authentication by password at some of your machines
managed by Polemarch, you also must install ``sshpass`` package because it
required for ansible to autheticate via ssh by password. It available in
EPEL for Red Hat/CentOS. Also you can use specify ``connection`` command line
argument during playbook run as ``paramiko``. When ansible uses paramiko to
make ssh connection, ``sshpass`` not necessary.

Ubuntu/Debian installation
--------------------------

1. Download deb from official site:
https://github.com/vstconsulting/polemarch/releases

2. Install it with command

.. sourcecode:: bash

sudo dpkg -i polemarch_X.X.X-0_amd64.deb || sudo apt-get install -f

3. Run services with commands

.. sourcecode:: bash

sudo service polemarchweb start
sudo service polemarchworker start

Note for Debian 9 users: Polemarch currently built with libssl1.0.0, so you
need to install it for your distro:

.. sourcecode:: bash

wget http://ftp.us.debian.org/debian/pool/main/o/openssl/libssl1.0.0_1.0.2l-1~bpo8+1_amd64.deb
sudo dpkg -i libssl1.0.0_1.0.2l-1~bpo8+1_amd64.deb

That's it. Polemarch web panel on 8080 port. Default administrative account is
admin/admin.

If you have any problems with `.deb` package, you can install it from PyPi:
https://polemarch.readthedocs.io/en/stable/quickstart.html#install-from-pypi
* support of hosts groups and groups hierarchy;
* support of multi user connection;
* support of `hooks <https://polemarch.readthedocs.io/en/latest/gui.html#hooks>`_;
* user friendly interface.

Quickstart
----------

After you install Polemarch by instructions above you can use it without any
further configurations. Interface is pretty intuitive and common for any web
application.

Default installation is suitable for most simple and common cases, but
`Default installation <https://polemarch.readthedocs.io/en/latest/quickstart.html>`_
is suitable for most simple and common cases, but
Polemarch is highly configurable system. If you need something more advanced
(scalability, dedicated DB, custom cache, logging or directories) you can
always configure Polemarch like said in documentation at
http://polemarch.readthedocs.io/en/latest/
always configure Polemarch like it is said in `documentation <https://polemarch.readthedocs.io/en/latest/config.html>`_.


How to contribute
-----------------

Refer to documentation page about that:
http://polemarch.readthedocs.io/en/stable/contribute.html
Refer to the documentation page about `contribution <http://polemarch.readthedocs.io/en/stable/contribute.html>`_.
4 changes: 2 additions & 2 deletions deb.mk
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ Source: $(NAME)
Section: unknown
Priority: optional
Maintainer: $(VENDOR)
Build-Depends: debhelper (>= 9), python-virtualenv, python-pip, python-dev, gcc, libffi-dev, libssl-dev, libyaml-dev, libkrb5-dev, libssl-dev, libsasl2-dev, libldap2-dev
Build-Depends: debhelper (>= 9), python3-virtualenv, python3-pip, python3-dev, gcc, libffi-dev, libssl-dev, libyaml-dev, libkrb5-dev, libssl-dev, libsasl2-dev, libldap2-dev
Standards-Version: 3.9.5
Homepage: https://gitlab.com/vstconsulting/polemarch
Vcs-Git: git@gitlab.com:vstconsulting/polemarch.git
Vcs-Browser: https://gitlab.com/vstconsulting/polemarch.git

Package: $(NAME)
Architecture: amd64
Depends: $${shlibs:Depends}, $${misc:Depends}, python-virtualenv, libffi6, libssl-dev, sshpass, libpython2.7, git, libyaml-dev, libkrb5-dev, libssl-dev, libsasl2-dev, libldap2-dev
Depends: $${shlibs:Depends}, $${misc:Depends}, python3-virtualenv, libffi6, libssl-dev, sshpass, libpython3.5, git, libyaml-dev, libkrb5-dev, libssl-dev, libsasl2-dev, libldap2-dev
Description: $(SUMMARY)
$(DESCRIPTION)
endef
Expand Down
Loading

0 comments on commit 2a74c73

Please sign in to comment.