Skip to content

Commit

Permalink
Release 0.1.5
Browse files Browse the repository at this point in the history
Changes:
*  GUI-fix for not UTC timezone
*  Update documetation
*  Fix `loaddata` operation
*  Add logo

See merge request cloud/polemarch!55
  • Loading branch information
onegreyonewhite committed Mar 20, 2018
2 parents a68eece + ef4197d commit bbbcaf3
Show file tree
Hide file tree
Showing 61 changed files with 2,284 additions and 530 deletions.
22 changes: 5 additions & 17 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@

# General information about the project.
project = 'Polemarch'
copyright = '2017, VST Consulting'
copyright = '2018, VST Consulting'
author = 'VST Consulting'

# The version info for the project you're documenting, acts as replacement for
Expand Down Expand Up @@ -83,35 +83,23 @@
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'alabaster'

html_theme_path=['.']
html_theme = 'polemarch-sphinx-theme'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#

html_theme_options = {
"description": "Polemarch Documentation",
"github_user": "vstconsulting",
"github_repo": "polemarch",
"github_button": True,
"github_banner": True,
"show_powered_by": False,
}

html_sidebars = {
'**': [
'about.html',
'navigation.html',
'relations.html',
'searchbox.html',
'donate.html',
]
}

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
html_static_path = ['_static', '../polemarch/static']


# -- Options for HTMLHelp output ------------------------------------------
Expand Down
152 changes: 110 additions & 42 deletions doc/gui.rst
Original file line number Diff line number Diff line change
@@ -1,95 +1,163 @@
GUI workflow
==============

Welcome to Polemarch GUI
------------------------

In this section of our documentation we will tell you about Polemarch GUI's opportunities.

Let's begin with Dashboard page:

.. image:: gui_png/new-dashboard-1.png

As you can see, Polemarch GUI provides user with 2 menus:

* the first one is located in the left sidebar and it is aimed
to provide user with navigation between main system objects, like projects, templates, history records and ect.

* the second one is located in the top right conner of browser window and it is aimed
to navigate user to API section, to user's page and to logout page.

Also there are some widgets on content block of Dashboard page. User can customize Dashboard page as he wish.
For example, user can change widgets' position, hide some widgets or collapse them.

To change widgets' position user should click on 'lock' button. After this button has been clicked,
user is able to change widgets' position by Drag and Drop.

To collapse or to hide/show some widgets user should click on 'cogwheel' button. After this button has been clicked,
Polemarch opens modal window, where user can activate or collapse some widgets.

To see all these features in work look at next gif-image:

.. image:: gui_gif1/new-dashboard-1.gif



Before you start
----------------

Before you can do any job with Polemarch you should create at least one
inventory with your servers enumeration and at least one project, because all
Polemarch's functions are linked to the project.

Here how you can create inventory and place your hosts and groups there:
Let's start with creation of inventory:

.. image:: gui_gif/create_inventory.gif
.. image:: gui_png/new-inventories_page.png

Also you can import Ansible inventory file:
There are 2 ways of inventory's creation:

.. image:: gui_gif/import_inventory.gif
* the first one is to create inventory manually. To do it user should click on 'Create' button.

Create project. Be aware that your project must have "OK" status, because your
playbooks won't work until Polemarch done synchronization with repository.
If you made everything right, project playbooks will be shown in suggestions
in playbook execution page.
* the second on is to import inventory from text file. To do it user should click on 'Import from file' button.

If you don't have git repository, you can upload tar archive with project files
from any http url.
By inventory's creation, in this case, we understand creation of inventory, which includes at least one group,
which, in it's turn, includes at least one host. In other words, beside inventory user should create host and group.

Also there is special type of project - empty project (MANUAL). In case you
want run only modules without any playbooks or something. Polemarch will
create folder for your project files in `projects_dir` (you can specify
in settings) named as project id (you can see at URL), where you manually
place your project files (like playbooks or something).
To understand it better let's look at next gif-images:

Polemarch will scan project dir root for any .yml file and provide possibility
to run them. So place available playbook targets at root of your Git repository
or tar-archive or folder with your project files.
Here you can see how user can create inventory and place his hosts and groups there manually:

.. image:: gui_gif/create_projects.gif
.. image:: gui_gif1/new-create_inventory_manually.gif

If you update something in your git repository, don't forget to run sync in
Polemarch for pulling your changes.
And here you can see how user can import Ansible inventory file:

.. image:: gui_gif1/new-import_inventory.gif

Futher to start your work with Polemarch you should create project.

.. image:: gui_gif/sync_project.gif
There are 3 project types in Polemarch:

Also maybe you want create separate user for yourself and some other members of
your team:
* GIT - Polemarch can sync with your git project.

.. image:: gui_gif/create_user.gif
* TAR - If you don't have git repository, you can upload tar archive with project files
from any http url.

* MANUAL - Empty project. This kind of project will be appropriate for you,
if you want run only modules without any playbooks or something. Polemarch will
create folder for your project files in `projects_dir` (you can specify it
in settings) named as project id (you can see at URL), where you
place manually your project files (like playbooks or something).

Let's look at the example of GIT project's creation:

.. image:: gui_gif1/new-create_git_project.gif

As you can see at the gif-image above for GIT project
it is possible to choose a branch to what user want to sync. In this example user has synced
his GIT project from 'master' branch to 'other' branch. 'Arrow' icon in the branch input field
shows us, that project will be sync from one branch to another. If there is no 'arrow' icon, it means,
that next time project will be sync to the same branch as you can see it in 'Branch' input field.

If you update something in your GIT repository, don't forget to run sync in
Polemarch for pulling your changes.

After your project's status has changed into "OK" you can confidently start working with Polemarch.

Execution of playbook and modules
---------------------------------

Ok, we made all preparations and ready to do some real work. Let's start by
executing some command on your servers:

.. image:: gui_gif/quick_run_command.gif
.. image:: gui_gif1/new-run_shell_command.gif

Of course you can run any Ansible modules and any of playbooks in your project.
Also you can cancel your tasks if you want:
As you can see at the gif-image above
when task has stopped running it become possible to clear ansible stdout.

.. image:: gui_gif/run_something.gif
Also you can run any Ansible modules and any of playbooks in your project.

Almost everywhere in Polemarch you can filter your data. Let see for example
how filter your execution history records to find result of needed action:
Polemarch will scan project dir root for any .yml file and provide possibility
to run them. So place available playbook targets at root of your Git repository
or tar-archive or folder with your project files.

Be aware that your project must have "OK" status, because your
playbooks won't work until Polemarch done synchronization with repository.
If you made everything right, project playbooks will be shown in suggestions
in playbook execution page.

Let's look at the example of running some playbook, which Polemarch imported from GIT repository
of our project:

.. image:: gui_gif1/new-running_playbook.gif

.. image:: gui_gif/filter_history.gif

Templates
---------

If you have many arguments, which you pass to Ansible at every task run (like
extra-vars, forks number ans so on), you can create template for such action
extra-vars, forks number and so on), you can create template for such action
to minimize hand work (either module run or playbook):

.. image:: gui_gif/module_template.gif
.. image:: gui_gif1/new-create_template.gif

Sometimes your need to keep some similar templates, which are different by only several parameters.
In this case template options will be extremly useful for you. In every template you can create
a lot of options which can modify this template by some parameters. Let's look at the example:

.. image:: gui_gif1/new-create_template_option.gif

.. image:: gui_gif/task_template.gif

Also you can backup/share your templates using import/export mechanism:

.. image:: gui_gif/import_template.gif
.. image:: gui_gif1/new-export-import-template.gif

Periodic tasks
--------------

If you want to run some actions to run by schedule without any control from
you, it possible with Polemarch. You can create periodic tasks, which runs
every X seconds (interval based). You can even check those tasks using
"Run now" command:
If you want to run some actions by schedule without any control from
you, it is possible with Polemarch. You can create periodic tasks, which runs
every X seconds (interval based):

.. image:: gui_gif/ptask_module_interval.gif
.. image:: gui_gif1/new-create-periodic-task-interval.gif

Also you can create periodic tasks with more advancing scheduling options
(days of week, hours, month and so on) by using cron-style periodic tasks:

.. image:: gui_gif/ptask_playbook_cron.gif
.. image:: gui_gif1/new-create-periodic-schedule.gif

Search
------
Almost everywhere in Polemarch you can filter your data. Let see for example
how to filter your execution history records to find result of needed action:

.. image:: gui_gif1/new-search2.gif
Binary file added doc/gui_gif1/create-periodic-schedule.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/create-periodic-task-interval.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/create_git_project.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/create_inventory_manually.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/create_template.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/create_template_option.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/dashboard-1.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/export-import-template.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/history_search.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/import_inventory.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/new-create-periodic-schedule.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/new-create_git_project.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/new-create_inventory_manually.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/new-create_template.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/new-create_template_option.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/new-dashboard-1.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/new-export-import-template.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/new-import_inventory.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/new-run_shell_command.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/new-running_playbook.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/new-search2.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/run_shell_command.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/running_playbook.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_gif1/search2.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/gui_png/dashboard-1.png
Binary file added doc/gui_png/inventories_page.png
Binary file added doc/gui_png/new-dashboard-1.png
Binary file added doc/gui_png/new-inventories_page.png
126 changes: 126 additions & 0 deletions doc/polemarch-sphinx-theme/layout.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@

<!DOCTYPE html>
<html>
{%- macro script() %}
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: 'attr: polemarch.__version__',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
{%- for scriptfile in script_files %}
<script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
{%- endfor %}
<script type="text/javascript" src="{{ pathto('_static/bootstrap/js/bootstrap.js', 1) }}"></script>
<script type="text/javascript" src="{{ pathto('_static/js/libs/tabSignal.js', 1) }}"></script>
<script type="text/javascript" src="{{ pathto('_static/js/common.js', 1) }}"></script>
<script type="text/javascript" src="{{ pathto('_static/js/app.js', 1) }}"></script>
{%- endmacro %}

{%- block extrahead %}
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="robots" content="NONE,NOARCHIVE" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<title>Polemarch documantation</title>
<link rel="shortcut icon" href="{{ pathto('_static/img/logo/favicon.ico', 1) }}" />
<link rel="stylesheet" href="{{ pathto('_static/polemarch-style.css', 1) }}" type="text/css" />
{%- block scripts %}
{{- script() }}
{%- endblock %}
{% endblock %}

<body class="hold-transition skin-black-light sidebar-mini">
<div id="loader-wrapper">
<div id="loader"></div>
</div>
<div class="wrapper" >
{% if theme_github_banner|lower != 'false' %}
<a href="https://github.com/{{ theme_github_user }}/{{ theme_github_repo }}" class="fork-me">
<img src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub" />
</a>
{% endif %}
<header class="main-header">
<!-- Logo -->
<a href="/" class="logo">
<!-- mini logo for sidebar mini 50x50 pixel -->
<span class="logo-mini"><span class="bg-logo-min-doc" style="margin-left: 4px;"></span></span>
<!-- logo for regular state and mobile devices -->
<span class="logo-lg logo-span-doc"><span class="bg-logo-min-doc"></span> <span class="bg-logo-doc"></span></span>
</a>
<!-- Header Navbar: style can be found in header.less -->
<nav class="navbar navbar-static-top">
<!-- Sidebar toggle button-->
<a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button">
<span class="sr-only">Toggle navigation</span>
</a>
<div class="navbar-custom-menu">
<ul class="nav navbar-nav">

</ul>
</div>
</nav>
</header>
<!-- Left side column. contains the logo and sidebar -->
<aside class="main-sidebar">
<!-- sidebar: style can be found in sidebar.less -->
<section class="sidebar">
<!-- sidebar menu: : style can be found in sidebar.less -->
<ul class="sidebar-menu">
<li class="header">DOCS NAVIGATION</li>
{{ toctree(includehidden=true, collapse=true) }}
</ul>
<!-- github link -->
{% if theme_github_user and theme_github_repo %}
{% if theme_github_button|lower == 'true' %}
<h3>Watch us on GitHub</h3>
<p>
<iframe src="https://ghbtns.com/github-btn.html?user={{ theme_github_user }}&repo={{ theme_github_repo }}&type={{ theme_github_type }}&count={{ theme_github_count }}&size=large&v=2"
allowtransparency="true" frameborder="0" scrolling="0" width="200px" height="35px"></iframe>
</p>
{% endif %}
{% endif %}
<!-- quick search -->
{%- block sidebarsearch %}
{%- include "searchbox.html" %}
{%- endblock %}
</section>
<!-- /.sidebar -->
</aside>

<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper" id='spajs-right-area'>
<!-- Main content -->
<section class="content-header">
<h1>Polemarch documentation</h1>
</section>
<section class="content">
<div class="box box-info">
<div class="box-body">
{%- block content %}
{%- block document %}
{% block body %} {% endblock %}
{%- endblock %}
{%- endblock %}
</div>
</div>
</section>
</div>

<footer class="main-footer">
<div class="pull-right hidden-xs">
&copy; {{ copyright }}
</div>
<br>
</footer>
</div>

</body>

</html>


Loading

0 comments on commit bbbcaf3

Please sign in to comment.