阅读Ansible Yaml目录,创建液滴
dofaucet的Python项目详细描述
水龙头
tl;dr
阅读yaml格式的ansible目录,创建相应的数字海洋液滴。
妙招:
- 为内部和外部水滴IP创建DNS记录
- 将ssh pubkeys添加到droplets(仅限已上载到do的密钥)
- 将所有创建的液滴添加到项目中,使它们易于识别
示例用法
库存
foo.yml
all:
vars:
do_ssh_key_names: ['my_key', 'my_friends_key']
dofaucet_dnsroot: example.com
do_project: test_webstack_ansible
do_image_slug: fedora-28-x64
foohosts:
vars:
do_tags: foohosts
hosts:
foo.infra.example.com
barhosts:
vars:
do_tags: barhosts
# the bar app needs more ram
do_size_slug: s-1vcpu-2gb
hosts:
bar.infra.example.com
水龙头cli
dofaucet --token 23234242 --project foo --inventory foo.yml
未来想法
ansible是python3,因此我们可以使用本机ansibe功能来解析清单。 示例代码:
from ansible.parsing.dataloader import DataLoader
from ansible.vars.manager import VariableManager
from ansible.inventory.manager import InventoryManager
loader = DataLoader()
inventory = InventoryManager(loader=loader, sources='~/inventory.yml')
variable_manager = VariableManager(loader=loader, inventory=inventory)