rename bundle:gitea to bundle:forgejo
This commit is contained in:
parent
f1045172fd
commit
b692b09c00
8 changed files with 91 additions and 110 deletions
|
@ -36,7 +36,7 @@ Rule of thumb: keep ports below 10000 free for stuff that reserves ports.
|
||||||
| 20090 | matrix-media-repo | prometheus metrics |
|
| 20090 | matrix-media-repo | prometheus metrics |
|
||||||
| 21000 | pleroma | pleroma |
|
| 21000 | pleroma | pleroma |
|
||||||
| 21010 | grafana | grafana |
|
| 21010 | grafana | grafana |
|
||||||
| 22000 | gitea | forgejo |
|
| 22000 | forgejo | forgejo |
|
||||||
| 22010 | jenkins-ci | Jenkins CI |
|
| 22010 | jenkins-ci | Jenkins CI |
|
||||||
| 22020 | travelynx | Travelynx Web |
|
| 22020 | travelynx | Travelynx Web |
|
||||||
| 22030 | octoprint | OctoPrint Web Interface |
|
| 22030 | octoprint | OctoPrint Web Interface |
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
APP_NAME = ${app_name}
|
APP_NAME = ${app_name}
|
||||||
RUN_USER = git
|
RUN_USER = git
|
||||||
RUN_MODE = prod
|
RUN_MODE = prod
|
||||||
|
WORK_PATH = /var/lib/forgejo
|
||||||
|
|
||||||
[repository]
|
[repository]
|
||||||
ROOT = /home/git/gitea-repositories
|
ROOT = /var/lib/forgejo/repositories
|
||||||
MAX_CREATION_LIMIT = 0
|
MAX_CREATION_LIMIT = 0
|
||||||
DEFAULT_BRANCH = main
|
DEFAULT_BRANCH = main
|
||||||
|
|
|
@ -5,14 +5,13 @@ After=network.target
|
||||||
Requires=postgresql.service
|
Requires=postgresql.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
RestartSec=2s
|
RestartSec=10
|
||||||
Type=simple
|
Type=simple
|
||||||
User=git
|
User=git
|
||||||
Group=git
|
Group=git
|
||||||
WorkingDirectory=/var/lib/gitea/
|
WorkingDirectory=/var/lib/forgejo
|
||||||
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
|
ExecStart=/usr/local/bin/forgejo web -c /etc/forgejo/app.ini
|
||||||
Restart=always
|
Restart=always
|
||||||
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
|
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
65
bundles/forgejo/items.py
Normal file
65
bundles/forgejo/items.py
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
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',
|
||||||
|
'source': node.metadata.get('forgejo/url'),
|
||||||
|
'content_hash': node.metadata.get('forgejo/sha1', None),
|
||||||
|
'mode': '0755',
|
||||||
|
'triggers': {
|
||||||
|
'svc_systemd:forgejo:restart',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
if node.metadata.get('forgejoinstall_ssh_key', False):
|
||||||
|
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',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
|
@ -1,33 +1,32 @@
|
||||||
defaults = {
|
defaults = {
|
||||||
'backups': {
|
'backups': {
|
||||||
'paths': {
|
'paths': {
|
||||||
'/home/git',
|
'/var/lib/forgejo',
|
||||||
'/var/lib/gitea',
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'gitea': {
|
'forgejo': {
|
||||||
'app_name': 'Forgejo',
|
'app_name': 'Forgejo',
|
||||||
'database': {
|
'database': {
|
||||||
'username': 'gitea',
|
'username': 'forgejo',
|
||||||
'password': repo.vault.password_for('{} postgresql gitea'.format(node.name)),
|
'password': repo.vault.password_for('{} postgresql forgejo'.format(node.name)),
|
||||||
'database': 'gitea',
|
'database': 'forgejo',
|
||||||
},
|
},
|
||||||
'disable_registration': True,
|
'disable_registration': True,
|
||||||
'email_domain_blocklist': set(),
|
'email_domain_blocklist': set(),
|
||||||
'enable_git_hooks': False,
|
'enable_git_hooks': False,
|
||||||
'internal_token': repo.vault.password_for('{} gitea internal_token'.format(node.name)),
|
'internal_token': repo.vault.password_for('{} forgejo internal_token'.format(node.name)),
|
||||||
'lfs_secret_key': repo.vault.password_for('{} gitea lfs_secret_key'.format(node.name)),
|
'lfs_secret_key': repo.vault.password_for('{} forgejo lfs_secret_key'.format(node.name)),
|
||||||
'oauth_secret_key': repo.vault.password_for('{} gitea oauth_secret_key'.format(node.name)),
|
'oauth_secret_key': repo.vault.password_for('{} forgejo oauth_secret_key'.format(node.name)),
|
||||||
'security_secret_key': repo.vault.password_for('{} gitea security_secret_key'.format(node.name)),
|
'security_secret_key': repo.vault.password_for('{} forgejo security_secret_key'.format(node.name)),
|
||||||
},
|
},
|
||||||
'icinga2_api': {
|
'icinga2_api': {
|
||||||
'gitea': {
|
'forgejo': {
|
||||||
'services': {
|
'services': {
|
||||||
'FORGEJO PROCESS': {
|
'FORGEJO PROCESS': {
|
||||||
'command_on_monitored_host': '/usr/local/share/icinga/plugins/check_systemd_unit gitea',
|
'command_on_monitored_host': '/usr/local/share/icinga/plugins/check_systemd_unit forgejo',
|
||||||
},
|
},
|
||||||
'FORGEJO UPDATE': {
|
'FORGEJO UPDATE': {
|
||||||
'command_on_monitored_host': '/usr/local/share/icinga/plugins/check_forgejo_for_new_release codeberg.org forgejo/forgejo v$(gitea --version | cut -d" " -f3)',
|
'command_on_monitored_host': '/usr/local/share/icinga/plugins/check_forgejo_for_new_release codeberg.org forgejo/forgejo v$(forgejo --version | cut -d" " -f3)',
|
||||||
'vars.notification.mail': True,
|
'vars.notification.mail': True,
|
||||||
'check_interval': '60m',
|
'check_interval': '60m',
|
||||||
},
|
},
|
||||||
|
@ -41,29 +40,22 @@ defaults = {
|
||||||
},
|
},
|
||||||
'postgresql': {
|
'postgresql': {
|
||||||
'roles': {
|
'roles': {
|
||||||
'gitea': {
|
'forgejo': {
|
||||||
'password': repo.vault.password_for('{} postgresql gitea'.format(node.name)),
|
'password': repo.vault.password_for('{} postgresql forgejo'.format(node.name)),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'databases': {
|
'databases': {
|
||||||
'gitea': {
|
'forgejo': {
|
||||||
'owner': 'gitea',
|
'owner': 'forgejo',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'zfs': {
|
'zfs': {
|
||||||
'datasets': {
|
'datasets': {
|
||||||
'tank/gitea': {},
|
'tank/forgejo': {
|
||||||
'tank/gitea/home': {
|
'mountpoint': '/var/lib/forgejo',
|
||||||
'mountpoint': '/home/git',
|
|
||||||
'needed_by': {
|
'needed_by': {
|
||||||
'directory:/home/git',
|
'directory:/var/lib/forgejo',
|
||||||
},
|
|
||||||
},
|
|
||||||
'tank/gitea/var': {
|
|
||||||
'mountpoint': '/var/lib/gitea',
|
|
||||||
'needed_by': {
|
|
||||||
'directory:/var/lib/gitea',
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -82,7 +74,7 @@ def nginx(metadata):
|
||||||
'nginx': {
|
'nginx': {
|
||||||
'vhosts': {
|
'vhosts': {
|
||||||
'forgejo': {
|
'forgejo': {
|
||||||
'domain': metadata.get('gitea/domain'),
|
'domain': metadata.get('forgejo/domain'),
|
||||||
'locations': {
|
'locations': {
|
||||||
'/': {
|
'/': {
|
||||||
'target': 'http://127.0.0.1:22000',
|
'target': 'http://127.0.0.1:22000',
|
||||||
|
@ -97,11 +89,3 @@ def nginx(metadata):
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@metadata_reactor.provides(
|
|
||||||
'icinga2_api/gitea/services',
|
|
||||||
)
|
|
||||||
def icinga_check_for_new_release(metadata):
|
|
||||||
return {
|
|
||||||
}
|
|
|
@ -1,68 +0,0 @@
|
||||||
users = {
|
|
||||||
'git': {},
|
|
||||||
}
|
|
||||||
|
|
||||||
directories = {
|
|
||||||
'/home/git': {
|
|
||||||
'mode': '0755',
|
|
||||||
'owner': 'git',
|
|
||||||
'group': 'git',
|
|
||||||
},
|
|
||||||
'/home/git/.ssh': {
|
|
||||||
'mode': '0755',
|
|
||||||
'owner': 'git',
|
|
||||||
'group': 'git',
|
|
||||||
},
|
|
||||||
'/var/lib/gitea': {
|
|
||||||
'owner': 'git',
|
|
||||||
'mode': '0700',
|
|
||||||
'triggers': {
|
|
||||||
'svc_systemd:gitea:restart',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
files = {
|
|
||||||
'/etc/systemd/system/gitea.service': {
|
|
||||||
'content_type': 'mako',
|
|
||||||
'context': node.metadata.get('gitea'),
|
|
||||||
'triggers': {
|
|
||||||
'action:systemd-reload',
|
|
||||||
'svc_systemd:gitea:restart',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'/etc/gitea/app.ini': {
|
|
||||||
'content_type': 'mako',
|
|
||||||
'context': node.metadata.get('gitea'),
|
|
||||||
'triggers': {
|
|
||||||
'svc_systemd:gitea:restart',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'/usr/local/bin/gitea': {
|
|
||||||
'content_type': 'download',
|
|
||||||
'source': node.metadata.get('gitea/url'),
|
|
||||||
'content_hash': node.metadata.get('gitea/sha1', None),
|
|
||||||
'mode': '0755',
|
|
||||||
'triggers': {
|
|
||||||
'svc_systemd:gitea:restart',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
if node.metadata['gitea'].get('install_ssh_key', False):
|
|
||||||
files['/home/git/.ssh/id_ed25519'] = {
|
|
||||||
'content': repo.vault.decrypt_file(f'gitea/files/ssh-keys/{node.name}.key.vault'),
|
|
||||||
'mode': '0600',
|
|
||||||
'owner': 'git',
|
|
||||||
'group': 'git',
|
|
||||||
}
|
|
||||||
|
|
||||||
svc_systemd = {
|
|
||||||
'gitea': {
|
|
||||||
'needs': {
|
|
||||||
'file:/etc/gitea/app.ini',
|
|
||||||
'file:/etc/systemd/system/gitea.service',
|
|
||||||
'file:/usr/local/bin/gitea',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
Loading…
Reference in a new issue