50 lines
1.1 KiB
Python
50 lines
1.1 KiB
Python
from os.path import join
|
|
|
|
directories = {
|
|
'/etc/apt/sources.list.d': {
|
|
'purge': True,
|
|
'triggers': {
|
|
'action:apt_update',
|
|
},
|
|
},
|
|
}
|
|
|
|
files = {
|
|
'/etc/apt/sources.list': {
|
|
'content': '# managed'
|
|
},
|
|
}
|
|
|
|
actions = {
|
|
'apt_update': {
|
|
'command': 'apt-get update',
|
|
'needed_by': {
|
|
'pkg_apt:',
|
|
},
|
|
'triggered': True,
|
|
'cascade_skip': False,
|
|
},
|
|
}
|
|
|
|
for name, content in node.metadata.get('apt/sources').items():
|
|
files[f'/etc/apt/sources.list.d/{name}.list'] = {
|
|
'content': content.format(
|
|
release=node.metadata.get('os_release')
|
|
),
|
|
'triggers': {
|
|
'action:apt_update',
|
|
},
|
|
}
|
|
|
|
for key in node.metadata.get('apt/keys'):
|
|
files[f'/etc/apt/trusted.gpg.d/{key}'] = {
|
|
'source': join(repo.path, 'data', 'apt', 'keys', key),
|
|
'content_type': 'binary',
|
|
'triggers': {
|
|
'action:apt_update',
|
|
},
|
|
}
|
|
|
|
|
|
for package, options in node.metadata.get('apt/packages', {}).items():
|
|
pkg_apt[package] = options
|