Skip to content

feat: add git plugin for docker image deployment - #16

Open
valbertovc wants to merge 8 commits into
fenrrir:masterfrom
valbertovc:feat/deployment-image
Open

feat: add git plugin for docker image deployment#16
valbertovc wants to merge 8 commits into
fenrrir:masterfrom
valbertovc:feat/deployment-image

Conversation

@valbertovc

Copy link
Copy Markdown
Contributor

Summary

  • Add Git namespace on App with from_image() mirroring git:from-image CLI command
  • Integrate deployment.method: "image" into deploy() JSON config (skips git push)
  • Bump version to 0.9.0

Stacked on feat/builder-plugin (registry, builder, pyproject migration, Python 3.10+, SSH port, CI).

API example

dokku = dokkupy.Dokku('[email protected]')
app = dokku['myapp']
app.git.from_image('registry.gitlab.com/group/project:tag')

Deploy config example

{
  "deployment": {
    "method": "image",
    "image": {
      "from": "registry.gitlab.com/group/project:tag",
      "force": false,
      "build_dir": "path/to/build",
      "author": {"name": "Camila", "email": "[email protected]"}
    }
  }
}

Test plan

  • python -m unittest discover -s tests -v (40 tests pass)
  • Verify git:from-image against a real Dokku host with private registry

Made with Cursor

valbertovc and others added 8 commits July 18, 2026 12:33
Replace setup.py and the standalone dokkupycli script with PEP 621
metadata and a console entry point. Align license and README metadata
with PyPI guidance.

Bump version to 0.4.1.

Co-authored-by: Rodrigo Pinheiro Marques de Araújo <[email protected]>
Co-authored-by: Cursor <[email protected]>
Drop EOL Python support metadata, add OS/Topic classifiers, simplify
subprocess handling, and add CI to validate builds across supported
runtimes.

Bump version to 0.5.0.

BREAKING CHANGE: Python 3.7–3.9 and Python 2 are no longer supported.
Requires Python >= 3.10.

Co-authored-by: Rodrigo Pinheiro Marques de Araújo <[email protected]>
Co-authored-by: Cursor <[email protected]>
Add ssh_port to Dokku, --ssh-port CLI flag, and ssh:// git remote URLs
for non-default ports. Add unittest coverage in tests/test_core.py and
tests/test_cli.py.

Bump version to 0.6.0.

Closes fenrrir#10

Co-authored-by: Rodrigo Pinheiro Marques de Araújo <[email protected]>
Co-authored-by: Cursor <[email protected]>
Introduce dokku.registry.login() and dokku.registry.set() mirroring
registry:login and registry:set CLI commands, with deploy JSON support
under the registry key and env-based secret resolution.

Co-authored-by: Cursor <[email protected]>
Extract Registry.apply_config into plugins/registry.py and organize
tests under tests/plugins/ to mirror the production package structure.

Co-authored-by: Cursor <[email protected]>
Introduce app.builder.set() and builder.set deploy JSON config key,
mirroring dokku builder:set for properties like selected and build-dir.

Co-authored-by: Cursor <[email protected]>
Introduce app.git.from_image() mirroring git:from-image and deployment
JSON config with method image to skip git push deploy.

Co-authored-by: Cursor <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants