Releases: vstconsulting/polemarch
Releases · vstconsulting/polemarch
3.0.3
Changelog:
- Feature(backend): Migrate to vstutils 5.6.
- Feature(backend): Provide to setup normal headers to endpoint operations.
- Feature(plugins): Provide async support for history write plugins.
- Feature(web): Provided lightweight healthcheck for webserver
/api/live/
. - Fix(backend): Improved healthcheck endpoint to make simple db requests and check current celery connection.
- Fix(dev): Building with docker compose.
- Chore(service): Improved centrifugo notification performance and stability.
- Chore(web): Improved performance for static files.
3.0.2
Changelog:
- Feature(backend): Setup filename for ANSIBLE_STRING plugin.
- Feature(backend): Send
object_name
of models in hooks. - Fix(backend): Allow to configure rpc backend and broker using environment variables in
dockerrun
. - Fix(package): Do not store compressed files.
- Chore(deps): Update rtd, prod and tests dependencies for backend.
- Docs: Add more information about architecture, plugins and centrifugo settings.
3.0.1
Changelog:
- Feature(backend): History
inventory
field now has value ofarg_shown_on_history_as_inventory
of execution plugin. - Fix(backend): Migrate initiator fields to new model instances.
3.0.0
BREAKING CHANGES:
- Dropped Python<3.8.
- Dropped API v2 and v3.
- Execution template, template option, periodic task models and API changed a lot. See documentation for more info.
- Hosts and groups count removed from
/stats/
. Execution and inventory plugins count added instead. - All API paths containing
module
orplaybook
now namedansible_module
oransible_playbook
accordingly. - Old
ci_template
variable values are not compatible with new which require template option ids. Need to change manually. - Paths end with
../set_owner/
now handlesPATCH
method instead ofPOST
. Same for/project/{id}/sync/
,/history/{id}/cancel/
. - Import inventory actions now called
import_inventory
. plugins
section renamed toexecution.plugin
insettings.ini
.- Database migrations are potentially dangerous, it's recommended to make backup before.
- Inventory model now has
plugin
field which is required in API. - Remove
import_inventory_from_file
action. - Rework
import_inventory
action. - Remove
master_project
fromHost
,Group
andInventory
and removeInventoryItems
abstract model itself. - Execution plugins now must provide
compatible_inventory_plugins
setting. If not provided this is understood that execution plugin is incompatible with any inventory. - Execution plugins now should be imported from
polemarch.plugins.execution
module instead ofpolemarch.plugins
. - Execution plugin's
get_execution_data
now returns command and env vars only. Forraw_inventory
there isget_raw_inventory
method.
Changelog:
- Feature(backend): Send history output to multiple places.
- Feature(backend): Create
POLEMARCH_DB
,ANSIBLE_STRING
andANSIBLE_FILE
plugins which are handle inventory data structure and processing. Plugins may work with state or db and may support import or not. - Feature(backend): Hide hosts db stuff for state handled plugins and state action for db handled plugins.
- Feature(backend): Option
compatible_inventory_plugins
is dictionary of field names and tuple of plugin names. - Feature(backend): Make
get_pre_commands
hook for execution plugins. - Feature(backend): Allow to save multiple commands in history instance.
- Feature(backend): Create
DynamicPluginField
to allow inventory plugin haveto_representation
,to_internal
etc. - Feature(frontend): Add inventory plugins counter to dashboard.
- Feature(frontend): Support
filters
byInventoryAutoCompletionField
field and filter supported plugins in execute actions. - Feature(frontend): Display execution args as fields in history page.
- Fix(backend): Deleting template options when inventory removes doesn't work with postgres.
- Fix(backend): Always save revision to history instead of branch.
- Fix(backend): Make
import_inventory
action atomic. - Fix(backend):
import_inventory
creates state for inventory if it's state managed. - Fix(backend): Remove patch method from inventory state edit action because it resets data if no data sent.
- Fix(docs): RTD build with new Python version.
- Chore(backend): Test execution plugins.
- Chore(backend): Bump vstutils version to 5.4.0.
- Chore(frontend): Update frontend dependencies.
- Chore(docs): Update execution plugins doc according to changes.
- Chore(docs): Update information with latest changes of vstutils.
- Refactor(backend): Rewrite all views using
create_view
,@SimpleAction
,@Action
,@EmptyAction
where possible. - Refactor(backend): Refactor plugin executions so
CELERY_TASK_SERIALIZER='json'
now can be used. - Refactor(backend): Create
ExecutionTemplate
(instead ofTemplate
),ExecutionTemplateOption
(instead ofTemplateOption
),
TemplatePeriodicTask
(instead ofPeriodicTask
) models. - Refactor(backend): Add support for parsing new template format in
.polemarch.yaml
, make old format deprecated. - Refactor(backend): Remove unnecessary frontend code, such as setting
hideNotRequired = true
, as it can be done now on backend. - Refactor(backend): Removed
set_inventory_field
openapi hook. - Refactor(backend): Move inventory rendering logic to plugins.
- Refactor(backend): Move inventory import logic to plugins.
- Refactor(backend): Move history and execution plugins to
polemarch.plugins
package. - Refactoring(backend): Execute and template option create actions now validates all fields related to
Inventory
instead of justinventory
field. - Docs: Update GUI workflow docs screenshots.
- Docs: Add manual for creating inventory plugins.
- Docs: Add GUI workflow docs for
ANSIBLE_STRING
andANSIBLE_FILE
inventories. - Service: Use
django.core.cache.backends.redis.RedisCache
instead ofdjango_redis.cache.RedisCache
.
2.3.1
Changelog:
- Fix: Execution output now works as expected (probably).
- Chore: Update frontend dependencies.
- Chore: Add babel config.
- Chore: Update eslint config.
- Chore: Add vue and corejs dev dependencies.
- Chore(docs): Migrate to
sphinxcontrib-openapi
for building schema docs. - Chore(docs): Add information about admin in installation.rst
- Refactor: Remove
OldLinesMixin
, use script setup and useuseAutoUpdate
.
2.3.0
Changelog:
- Feature(git): Provide to setup config params for git operations.
- Feature(CI): Deploy latest release with
werf export
. - Feature(service): Deploy Polemarch to k8s via werf
- Feature(backend): Add project and execution metrics.
- Feature(backend): Process
override
field in template execute action. - Fix(docs): RTD can't build docs.
- Chore(deps): Update vstutils to 5.2.1.
- Chore(api): Use schema field inspection for inventory field.
- Chore(CI): Migrate to lightweight image for js linting.
- Chore(tests): Add unit tests for ansible plugins.
- Chore(deps): Update frontend dependencies.
- Chore(deps): Update vstutils to 5.2.4.
- Chore: Fix typo in "Statistics" word.
- Refactoring: Move template kind/plugin map to constants.
- Refactoring: Remove ACL handlers.
- Refactoring: Remove default permission
ModelPermission
and use singleSetOwnerPermission
. - Refactoring: Remove
BaseModel
,BModel
and so on and use them from vstutils. - Optimization: Optimize
filter_by_user
query. - Docs: Add info about sqlite troubles with nested groups.
2.2.1
Changelog:
- Fix(backend):
ansible_ssh_private_key_file
not generates in execution folder.
2.2.0
Changelog:
- Feature: Create plugins system which allows to execute custom command from Polemarch.
- Fix: Fix FK inventory field showing id instead of name (vstutils>=5.2.0).
- Fix: Add patch to
setup.py
which raises compile error if frontend hasn't built. - Refactor: Use
BaseEnum.LOWER
in enums. - Refactor:
test_community_templates
now usesMockServer
and doesn't make calls outside. - Refactor: Get rid of weird template execution approach with test client and use PLUGIN_HANDLERS instead.
- Chore: Update vstutils to 5.1.11.
- Chore: Add
openssh-client
dependency to production docker build.
2.1.2
Changelog:
- Feature(service): Split notifications about updates in centrifugo by labels.
- Feature: Display values of view field in breadcrumbs instead of id.
- Chore(deps): Update vstutils to 5.1 release.
- Fix(UI): Fix pagination, groups surfing, etc.
- Optimization(api): Improve serialization performance.
- Optimization(UI): Less requests to api.
2.1.1
Changelog:
- Fix:
repo_sync_on_run
in git projects with credentials now working.