wip
This commit is contained in:
parent
f871bbfac1
commit
4cd4a5252e
4 changed files with 69 additions and 54 deletions
|
@ -19,6 +19,15 @@ actions['install_n8n'] = {
|
||||||
'user:n8n',
|
'user:n8n',
|
||||||
},
|
},
|
||||||
'triggers': {
|
'triggers': {
|
||||||
'svc_systemd:n8n:restart',
|
'svc_systemd:n8n.service:restart',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
svc_systemd['n8n.service'] = {
|
||||||
|
'enabled': True,
|
||||||
|
'running': True,
|
||||||
|
'needs': {
|
||||||
|
'pkg_apt:nodejs',
|
||||||
|
'action:install_n8n',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,21 @@
|
||||||
|
database_password = repo.vault.password_for(f'{node.name} postgresql n8n')
|
||||||
|
|
||||||
defaults = {
|
defaults = {
|
||||||
'backups': {
|
'backups': {
|
||||||
'paths': {
|
'paths': {
|
||||||
'/opt/n8n',
|
'/opt/n8n',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'users': {
|
'npm': {
|
||||||
'n8n': {
|
'n8n': {},
|
||||||
'home': '/opt/n8n',
|
},
|
||||||
},
|
'n8n': {
|
||||||
|
'DB_TYPE': 'postgresdb',
|
||||||
|
'DB_POSTGRESDB_DATABASE': 'n8n',
|
||||||
|
'DB_POSTGRESDB_HOST': 'localhost',
|
||||||
|
'DB_POSTGRESDB_PORT': 5432,
|
||||||
|
'DB_POSTGRESDB_USER': 'n8n',
|
||||||
|
'DB_POSTGRESDB_PASSWORD': database_password,
|
||||||
},
|
},
|
||||||
'postgresql': {
|
'postgresql': {
|
||||||
'databases': {
|
'databases': {
|
||||||
|
@ -17,18 +25,45 @@ defaults = {
|
||||||
'collation': 'C.UTF-8',
|
'collation': 'C.UTF-8',
|
||||||
'ctype': 'C.UTF-8',
|
'ctype': 'C.UTF-8',
|
||||||
},
|
},
|
||||||
|
'owner': 'n8n',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'roles': {
|
'roles': {
|
||||||
'n8n': {
|
'n8n': {
|
||||||
'password': repo.vault.password_for(f'{node.name} n8n psql'),
|
'password': database_password,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
'systemd': {
|
||||||
|
'units': {
|
||||||
|
'n8n.service': {
|
||||||
|
'Unit': {
|
||||||
|
'Description': 'n8n',
|
||||||
|
'Requires': 'network.target postgresql.service',
|
||||||
|
'After': 'postgresql.service',
|
||||||
|
},
|
||||||
|
'Service': {
|
||||||
|
'Restart': 'always',
|
||||||
|
'RestartSec': '5',
|
||||||
|
'WorkingDirectory': '/opt/n8n',
|
||||||
|
'ExecStart': '/usr/bin/npx n8n start',
|
||||||
|
'User': 'n8n',
|
||||||
|
'Group': 'n8n',
|
||||||
|
'Environment': {
|
||||||
|
'NODE_ENV=production',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'users': {
|
||||||
|
'n8n': {
|
||||||
|
'home': '/opt/n8n',
|
||||||
|
},
|
||||||
|
},
|
||||||
'zfs': {
|
'zfs': {
|
||||||
'datasets': {
|
'datasets': {
|
||||||
'tank/n8n': {
|
'tank/n8n': {
|
||||||
'compression': 'on',
|
|
||||||
'mountpoint': '/opt/n8n',
|
'mountpoint': '/opt/n8n',
|
||||||
'needed_by': {'directory:/opt/n8n'},
|
'needed_by': {'directory:/opt/n8n'},
|
||||||
},
|
},
|
||||||
|
@ -38,51 +73,15 @@ defaults = {
|
||||||
|
|
||||||
|
|
||||||
@metadata_reactor.provides(
|
@metadata_reactor.provides(
|
||||||
'icinga2_api/n8n/services/N8N UPDATE',
|
'systemd/services/n8n.service',
|
||||||
)
|
|
||||||
def icinga_check_for_new_release(metadata):
|
|
||||||
return {
|
|
||||||
'icinga2_api': {
|
|
||||||
'n8n': {
|
|
||||||
'services': {
|
|
||||||
'N8N UPDATE': {
|
|
||||||
'command_on_monitored_host':
|
|
||||||
f'/usr/local/share/icinga/plugins/check_github_for_new_release '
|
|
||||||
f'--repo n8n-io/n8n --current-version n8n@{metadata.get("n8n/version")}',
|
|
||||||
'check_interval': '60m',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@metadata_reactor.provides(
|
|
||||||
'systemd/services/n8n',
|
|
||||||
)
|
)
|
||||||
def systemd(metadata):
|
def systemd(metadata):
|
||||||
return {
|
return {
|
||||||
'systemd': {
|
'systemd': {
|
||||||
'services': {
|
'units': {
|
||||||
'n8n': {
|
'n8n.service': {
|
||||||
'content': {
|
'Service': {
|
||||||
'Unit': {
|
'Environment': metadata.get('n8n'),
|
||||||
'Description': 'n8n',
|
|
||||||
'Requires': 'network.target postgresql.service',
|
|
||||||
'After': 'postgresql.service',
|
|
||||||
},
|
|
||||||
'Service': {
|
|
||||||
'Restart': 'always',
|
|
||||||
'RestartSec': '5',
|
|
||||||
'WorkingDirectory': '/opt/n8n',
|
|
||||||
'ExecStart': '/usr/bin/npx n8n start',
|
|
||||||
'User': 'n8n',
|
|
||||||
'Group': 'n8n',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'env_as_file': metadata.get('n8n/env'),
|
|
||||||
'needs': {
|
|
||||||
'action:install_n8n',
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -8,9 +8,7 @@ defaults = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'npm': {
|
'npm': {},
|
||||||
'yarn': {},
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -28,7 +26,9 @@ def sources(metadata):
|
||||||
'deb',
|
'deb',
|
||||||
'deb-src',
|
'deb-src',
|
||||||
},
|
},
|
||||||
'url': 'https://deb.nodesource.com/node_{version}.x',
|
'urls': {
|
||||||
|
f'https://deb.nodesource.com/node_{version}.x',
|
||||||
|
},
|
||||||
'suites': {
|
'suites': {
|
||||||
'{codename}',
|
'{codename}',
|
||||||
},
|
},
|
||||||
|
|
|
@ -11,10 +11,11 @@
|
||||||
'webserver',
|
'webserver',
|
||||||
],
|
],
|
||||||
'bundles': [
|
'bundles': [
|
||||||
#'n8n',
|
'n8n',
|
||||||
#'nodejs',
|
'nodejs',
|
||||||
'wireguard',
|
'wireguard',
|
||||||
'zfs',
|
'zfs',
|
||||||
|
'postgresql',
|
||||||
],
|
],
|
||||||
'metadata': {
|
'metadata': {
|
||||||
'id': '4852308e-9d36-4a0e-b533-a291e1495db3',
|
'id': '4852308e-9d36-4a0e-b533-a291e1495db3',
|
||||||
|
@ -31,6 +32,12 @@
|
||||||
'gateway6': 'fe80::1',
|
'gateway6': 'fe80::1',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
'n8n': {
|
||||||
|
'version': '1.68.0',
|
||||||
|
},
|
||||||
|
'nodejs': {
|
||||||
|
'version': '20',
|
||||||
|
},
|
||||||
'vm': {
|
'vm': {
|
||||||
'cores': 2,
|
'cores': 2,
|
||||||
'ram': 4096,
|
'ram': 4096,
|
||||||
|
|
Loading…
Reference in a new issue