Skip to content

Add pull-images playbook for forge - #631

Open
jeremylenz wants to merge 1 commit into
theforeman:masterfrom
jeremylenz:forge-pull-images
Open

Add pull-images playbook for forge#631
jeremylenz wants to merge 1 commit into
theforeman:masterfrom
jeremylenz:forge-pull-images

Conversation

@jeremylenz

Copy link
Copy Markdown
Contributor

Why are you introducing these changes? (Problem description, related links)

The pull-images playbook was only available in src/playbooks/ for foremanctl production deployment. Development environments using forge couldn't pull container images because forge uses development/playbooks/ for playbook discovery.

What are the changes introduced in this pull request?

  • Added development/playbooks/pull-images/metadata.obsah.yaml with obsah metadata, help text, and includes
  • Added development/playbooks/pull-images/pull-images.yaml that targets quadlet host, loads production vars, and reuses the existing images role

How to test this pull request

Steps to reproduce:

  • Deploy a development environment with forge deploy
  • Run forge pull-images to verify the command is discovered and executes successfully
  • Verify container images are pulled to the development environment

Checklist

  • Tests added/updated (if applicable)
  • Documentation updated (if applicable)

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@ehelms

ehelms commented Jul 7, 2026

Copy link
Copy Markdown
Member

I would think that foremanctl commands should work as long as the target host is the one you are aiming at. Both deploy-dev and pull-images target quadlet by default. That should be the same entity in inventory.

Is this rather a case of one supports custom target hosts and the other does not?

@jeremylenz

Copy link
Copy Markdown
Contributor Author

I feel it's essential to allow non-quadlet target hosts, since about half of us have development environments set up that way (using forge deploy-dev with --target-host localhost). If there's a more correct way to do that, of course I'm open to that too.

@ehelms

ehelms commented Jul 7, 2026

Copy link
Copy Markdown
Member

I don't think we should repeat functionality so either in these scenarios we should:

  • inherit the playbook
  • add the target_host paradigm to playbooks in src/

The second option likely makes the most sense given we need this for things like deploy-proxy or backup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants