Skip to content

Add a task for the dokku-git-sync plugin #414

Description

@josegonzalez

Description of feature

#413 documents the contract for wrapping docket from ansible-dokku, and the dokku_git_sync module is the only one of the 27 with no docket task at all. A wrapper cannot delegate it today.

The module targets the commercial dokku-git-sync plugin: it reads dokku --quiet git-sync:report <app> and writes dokku --quiet git-sync:set <app> remote <url>, or dokku --quiet git-sync:set <app> remote with no value to clear it. That is the shape of every *_property task docket already has, so the implementation is likely validatePropertyInput / planProperty over a git-sync key map with a single remote key rather than anything new.

The naming needs care. docket's existing dokku_git_sync is core git:sync and corresponds to the ansible-dokku module named dokku_clone, not to the module named dokku_git_sync. The two are unrelated and the collision is already called out in docs/ansible-dokku.md, so a new task wants a distinct name - dokku_git_sync_property reads consistently with the rest of the property family and avoids compounding the confusion.

Two things to settle before implementing. The plugin is commercial, so the integration test job cannot install it the way tests/bats installs the free plugins, and the task may have to ship with unit coverage only. And the module has a latent bug on state: absent that docket should not reproduce: dokku_module_absent checks report["enabled"] while allowed_report_keys is ["remote"], so the key is never populated and the call raises KeyError.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions