mudler / mudler/yip

support ansible module

Open
#179 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
113
Forks
34
Avg merge
14h 10m
Merged PRs (30d)
5

Description

https://cloudinit.readthedocs.io/en/latest/reference/modules.html#ansible

In our case, we may not want to install ansible during boot as its a heavy operation, as we cant know if even python is on the image.

But, we could do:

  • check if ansible is available
  • check if git is available (if we are asking to pull a remote playbook)
  • run ansible

If ansible is not there:

  • check if pip is available in the system
  • check if git is available (if we are asking to pull a remote playbook)
  • install ansible via pip to a tmp dir
  • run ansible from there

I think we could start small with the pluging and build on top of it.

something like

stages:
	boot:
		ansible:
			pull:
			    url: https://github.com/holmanb/vmboot.git
				    playbook_name: ubuntu.yml

as a start would be good

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the repository's boot-stage plugin architecture and how it processes the YAML example in the issue. Define the initial ansible plugin scope around detecting available tools, optionally fetching a remote playbook, and running the requested playbook; done means the sample configuration works without always installing ansible during boot.

Written by the indexing model from the issue text.

Assessment

Tech stack
ansible, git, go
Domain
devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.