[add] role:mimir
This commit is contained in:
parent
e5f4f50c75
commit
fff16ba3a2
19
roles/mimir/defaults/main.json
Normal file
19
roles/mimir/defaults/main.json
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
"var_mimir_directory": "/opt/mimir",
|
||||||
|
"var_mimir_user": "mimir",
|
||||||
|
"var_mimir_git_repository_url": "https://forgejo.ramsch.sx/misc/mimir-core",
|
||||||
|
"var_mimir_git_reference": "main",
|
||||||
|
"var_mimir_execution_hour": 4,
|
||||||
|
"var_mimir_conf": {
|
||||||
|
"version": "1",
|
||||||
|
"target": {
|
||||||
|
"kind": "local",
|
||||||
|
"parameters": {
|
||||||
|
"path": "/tmp/backup"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"concerns": [
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
87
roles/mimir/tasks/main.json
Normal file
87
roles/mimir/tasks/main.json
Normal file
|
|
@ -0,0 +1,87 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "packages",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.apt": {
|
||||||
|
"update_cache": true,
|
||||||
|
"pkg": [
|
||||||
|
"git",
|
||||||
|
"make",
|
||||||
|
"node-typescript",
|
||||||
|
"nodejs",
|
||||||
|
"rsync",
|
||||||
|
"borgbackup"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "user and directory",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.user": {
|
||||||
|
"name": "{{var_mimir_user}}",
|
||||||
|
"create_home": true,
|
||||||
|
"home": "{{var_mimir_directory}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "adjust data directory",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.file": {
|
||||||
|
"group": "www-data",
|
||||||
|
"mode": "g+rwx"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "program | fetch",
|
||||||
|
"become": true,
|
||||||
|
"become_user": "{{var_mimir_user}}",
|
||||||
|
"ansible.builtin.git": {
|
||||||
|
"repo": "{{var_mimir_git_repository_url}}",
|
||||||
|
"version": "{{var_mimir_git_reference}}",
|
||||||
|
"dest": "/tmp/mimir-repo"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "program | build",
|
||||||
|
"become": true,
|
||||||
|
"become_user": "{{var_mimir_user}}",
|
||||||
|
"ansible.builtin.command": {
|
||||||
|
"chdir": "/tmp/mimir-repo",
|
||||||
|
"cmd": "tools/build"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "program | deploy",
|
||||||
|
"become": true,
|
||||||
|
"become_user": "{{var_mimir_user}}",
|
||||||
|
"ansible.builtin.command": {
|
||||||
|
"chdir": "/tmp/mimir-repo",
|
||||||
|
"cmd": "tools/deploy localhost --target-directory={{var_mimir_directory}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "conf",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.template": {
|
||||||
|
"src": "mmr.json.j2",
|
||||||
|
"dest": "{{var_mimir_directory}}/mmr.json",
|
||||||
|
"owner": "{{var_mimir_user}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cronjob",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.cron": {
|
||||||
|
"state": "present",
|
||||||
|
"disabled": false,
|
||||||
|
"name": "mimir-backup from {{var_mimir_directory}}",
|
||||||
|
"minute": "0",
|
||||||
|
"hour": "{{var_mimir_execution_hour | string}}",
|
||||||
|
"day": "*",
|
||||||
|
"month": "*",
|
||||||
|
"weekday": "*",
|
||||||
|
"job": "${mimir_dir}/mimir -c ${mimir_dir}/mmr.json | bash"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
1
roles/mimir/templates/mmr.json.j2
Normal file
1
roles/mimir/templates/mmr.json.j2
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{{var_munin_conf | to_json}}
|
||||||
Loading…
Reference in a new issue