2023-08-02 14:37:48 +00:00
|
|
|
users = {
|
|
|
|
'git': {
|
|
|
|
'home': '/var/lib/forgejo',
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
directories = {
|
|
|
|
'/var/lib/forgejo/.ssh': {
|
|
|
|
'mode': '0700',
|
|
|
|
'owner': 'git',
|
|
|
|
'group': 'git',
|
|
|
|
},
|
|
|
|
'/var/lib/forgejo': {
|
|
|
|
'owner': 'git',
|
|
|
|
'mode': '0700',
|
|
|
|
'triggers': {
|
|
|
|
'svc_systemd:forgejo:restart',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
files = {
|
|
|
|
'/usr/local/lib/systemd/system/forgejo.service': {
|
|
|
|
'content_type': 'mako',
|
|
|
|
'context': node.metadata.get('forgejo'),
|
|
|
|
'triggers': {
|
|
|
|
'action:systemd-reload',
|
|
|
|
'svc_systemd:forgejo:restart',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
'/etc/forgejo/app.ini': {
|
|
|
|
'content_type': 'mako',
|
|
|
|
'context': node.metadata.get('forgejo'),
|
|
|
|
'triggers': {
|
|
|
|
'svc_systemd:forgejo:restart',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
'/usr/local/bin/forgejo': {
|
|
|
|
'content_type': 'download',
|
2023-09-09 19:09:30 +00:00
|
|
|
'source': 'https://codeberg.org/forgejo/forgejo/releases/download/v{0}/forgejo-{0}-linux-amd64'.format(node.metadata.get('forgejo/version')),
|
2023-08-02 14:37:48 +00:00
|
|
|
'content_hash': node.metadata.get('forgejo/sha1', None),
|
|
|
|
'mode': '0755',
|
|
|
|
'triggers': {
|
|
|
|
'svc_systemd:forgejo:restart',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
2023-09-09 18:31:05 +00:00
|
|
|
if node.metadata.get('forgejo/install_ssh_key', False):
|
2023-08-02 14:37:48 +00:00
|
|
|
files['/var/lib/forgejo/.ssh/id_ed25519'] = {
|
|
|
|
'content': repo.vault.decrypt_file(f'forgejo/files/ssh-keys/{node.name}.key.vault'),
|
|
|
|
'mode': '0600',
|
|
|
|
'owner': 'git',
|
|
|
|
'group': 'git',
|
|
|
|
}
|
|
|
|
|
|
|
|
svc_systemd = {
|
|
|
|
'forgejo': {
|
|
|
|
'needs': {
|
|
|
|
'file:/etc/forgejo/app.ini',
|
|
|
|
'file:/usr/local/bin/forgejo',
|
|
|
|
'file:/usr/local/lib/systemd/system/forgejo.service',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|