Commit graph

1103 commits

Author SHA1 Message Date
Slavi Pantaleev
7bf6173efa Only optimize based on vars.yml, not on all .yml files (vault.yml, etc.) 2023-11-22 15:03:27 +02:00
Slavi Pantaleev
5d2ce5ecac Upgrade Navidrome (v0.50.0-0 -> v0.50.1-0) 2023-11-22 08:47:40 +02:00
Aine
704f993e42
restore empty activation_prefix in requirements.yml 2023-11-21 23:33:40 +02:00
Aine
d4a20da0bb
grafana v10.2.2; jitsi v9111; nextcloud v27.1.3 2023-11-21 22:04:34 +02:00
Slavi Pantaleev
da005a7d36 Make hubsite not break when optimizing the playbook 2023-11-21 10:15:40 +02:00
Slavi Pantaleev
803c623bab Add some more role-specific annotations to templates/group_vars_mash_servers
There's a lot more that can be added, especially to decouple from
some default components like Postgres and Traefik.
2023-11-20 17:20:17 +02:00
Slavi Pantaleev
3b6912d275 Ensure certain lists (containing role-specific elements) are never empty 2023-11-20 16:54:43 +02:00
Slavi Pantaleev
3242ee8acd Add role-specific annotations for mash_playbook_mariadb_managed_databases_auto_itemized 2023-11-20 16:49:41 +02:00
Slavi Pantaleev
74dbc2dda4 Add role-specific annotations for mash_playbook_devture_postgres_managed_databases_auto_itemized 2023-11-20 16:48:03 +02:00
Slavi Pantaleev
cbdf15440a Fix auto-restore from stored optimization state file 2023-11-20 16:41:42 +02:00
Slavi Pantaleev
7d3bae4c4b Upgrade backup-borg (v1.2.6-1.8.4-0 -> v1.2.6-1.8.5-0) 2023-11-20 16:36:34 +02:00
Slavi Pantaleev
d2c9ed3e45 Initial work on optimization commands
The playbook can now optimize itself based on the enabled components in
for all hosts in the inventory (`just optimize`) or for a specific host
(`just optimize-for-host HOSTNAME`).

The optimized playbook will have:

- fewer requirements (fewer roles need to be installed by `just roles`)
- a shorter and quicker to evaluate `group_vars/mash_servers` file
- a `setup.yml` file which includes less roles

Running the playbook optimized is still work in progress.
There still probably exist various role dependencies in the group-vars file, etc.

The `optimize-reset` command aims to restore your playbook to a
non-optimized state, which should work as before (and not experience bugs).

The playbook takes care to notice of changes to the various files in
`templates/` (`setup.yml`, `requirements.yml`, `group_vars_mash_servers`)
and update your optimized or non-optimized copies that are derived from
these templates. To do this, it keeps `.srchash` files in the `run/` directory.
When it notices a change in the source file's hash (by comparing to the `.srchash` file),
it will update you to the new template.

Optimization state is stored in a file in `run/` as well (`optimization-vars-files.state`).
Should the playbook notice changes in the source `template/` files, it
should update you and re-optimize using the same parameters as before (read from the state file).
2023-11-20 16:29:06 +02:00
Slavi Pantaleev
31b9b08229 Add more role-specific annotations to group_vars/mash_servers_all 2023-11-20 15:55:56 +02:00
Slavi Pantaleev
ea32d5dca4 Add group_vars/mash_servers_all to .editorconfig 2023-11-20 15:55:56 +02:00
Slavi Pantaleev
7f43d87460 Add role-specific annotations to group_vars/mash_servers_all 2023-11-20 15:55:56 +02:00
moanos
4ab36a935c chore(oxitraffic): Bump version to 0.9.0 2023-11-20 12:10:21 +01:00
Slavi Pantaleev
490f01bba2 Remove debug lines 2023-11-20 11:21:28 +02:00
Slavi Pantaleev
e71a879748 Create group_vars/mash_servers based on a template (group_vars/mash_servers_all)
In the future, we'll also have optional optimization steps, which could
trim down `group_vars/mash_servers` based on the components being used.
2023-11-20 11:07:31 +02:00
Slavi Pantaleev
3273f475bb Ensure setup.yml and requirements.yml are updated when .all.yml files change 2023-11-20 11:05:18 +02:00
Slavi Pantaleev
e181d66cdf Add activation_prefix to roles in requirements file
This will be used later for optimizing the playbook based on actual
component usage.
2023-11-20 09:50:55 +02:00
Slavi Pantaleev
7c52213edc Add role-specific annotations to setup.all.yml 2023-11-20 09:40:39 +02:00
Slavi Pantaleev
f51163aae4 Upgrade Vaultwarden (v1.30.0-0 -> v1.30.1-0) 2023-11-20 09:38:41 +02:00
Aine
dea2d15594
requirements.all.yml - update order 2023-11-19 15:56:51 +02:00
Slavi Pantaleev
7a06bd9588 Create setup.yml based on a template (setup.all.yml)
In the future, we'll also have optional optimization steps, which could
trim down `setup.yml` based on the components being used.

Related to e2132a3c51 which did the same
for the `requirements.yml` file.
2023-11-19 15:25:28 +02:00
Slavi Pantaleev
c816f75930 Add requirements.yml to .gitignore 2023-11-19 14:28:16 +02:00
Slavi Pantaleev
2e9c195325 Update setup.yml to use new component names
This is an omission that should have been part of 33fd209966
2023-11-19 14:27:42 +02:00
Slavi Pantaleev
3a66d64134 Rebuild releases.opml based on new component names
This is provoked by 33fd209966
2023-11-19 14:26:57 +02:00
Slavi Pantaleev
e2132a3c51 Create requirements.yml based on a template (requirements.all.yml)
In the future, we'll also have optional optimization steps, which could
trim down `requirements.yml` based on the components being used.
2023-11-19 14:26:32 +02:00
Slavi Pantaleev
8ee20f69a6 Fix typo in .gitignores 2023-11-19 14:21:28 +02:00
Slavi Pantaleev
87b907640b Upgrade uptime-kuma (v1.23.5-0 -> v1.23.6-0) 2023-11-19 14:18:48 +02:00
Slavi Pantaleev
76b799cc53 Upgrade Jitsi (v9078-0 -> v9078-1) 2023-11-19 14:18:34 +02:00
Slavi Pantaleev
33fd209966 Add explicit names for roles (affects their install paths) 2023-11-19 14:09:18 +02:00
Slavi Pantaleev
21fa30222a Add configuration for Python files to .editorconfig 2023-11-19 09:36:58 +02:00
Slavi Pantaleev
f7b672e342 Fix comment typo 2023-11-19 09:09:25 +02:00
Slavi Pantaleev
526c30f1e5 Redo the way certain large list variables are populated to allow pre-processing
The goal here is to switch from "one large YAML statement with many ifs"
to "separate if statements".

The first doesn't lend itself to having pre-processing comments around
it and to actually pre-processing it based on these comments.

Pre-processing is a future goal I'm working toward.
The idea is that `if` statements for component X do not need to run
if you're not using component X. In the future, we should be able to
have the playbook auto-configure itself based on the components you're using
and skip a lot of unnecessary work.
This is one step toward achieving this goal.
2023-11-19 09:04:35 +02:00
moanos
6f83f2e979 chore(owncast): Bump version v0.1.1-1 -> v0.1.2-0 2023-11-18 22:53:33 +01:00
Aine
037366c921
uptime kuma v1.23.5 2023-11-17 19:49:20 +02:00
Slavi Pantaleev
b24f22d15a Upgrade Navidrome (v0.49.3-2 -> v0.50.0-0) 2023-11-17 09:45:05 +02:00
Aine
4d9752d895
prometheus v2.48.0 2023-11-16 09:46:24 +02:00
Slavi Pantaleev
e49f25f28d Upgrade Syncthing (v1.26.0-0 -> v1.26.1-0) 2023-11-15 17:37:43 +02:00
Slavi Pantaleev
e1f6531ff3 Upgrade Gitea (v1.20.5-0 -> v1.21.0-0) 2023-11-15 10:27:07 +02:00
Slavi Pantaleev
acc1775525 Add notes about interoperability
Fixes https://github.com/mother-of-all-self-hosting/mash-playbook/issues/118
2023-11-15 09:51:29 +02:00
Aine
4ae8784faf
roundcube v1.6.5; jitsi v9078; grafana v10.2.1 2023-11-14 19:03:02 +02:00
Slavi Pantaleev
93f48e64cc Upgrade Postgres (v16.0-8 -> v16.1-0) 2023-11-14 10:15:22 +02:00
Slavi Pantaleev
ac37d32d78 Upgrade AdGuard Home (v0.107.40-0 -> v0.107.41-0) 2023-11-13 19:14:44 +02:00
Slavi Pantaleev
7351a6aa92 Upgrade Traefik (v2.10.5-1 -> v2.10.5-2) 2023-11-13 18:45:18 +02:00
Slavi Pantaleev
67f62f5d8a Add note about freshrss_path_prefix being buggy
Related to https://github.com/mother-of-all-self-hosting/mash-playbook/issues/116
2023-11-13 13:16:33 +02:00
Slavi Pantaleev
65fac6b430 Do not auto-generate freshrss_database_password
Related to https://github.com/mother-of-all-self-hosting/mash-playbook/issues/116
2023-11-13 13:13:39 +02:00
moanos
e5eb8cc27b docs(oxitraffic): Add notes on Troubleshooting and Data protection 2023-11-13 11:31:29 +01:00
moanos
2dc01e7464 chore(oxitraffic): Bump version v0.8.0-0 -> v0.8.0-1 2023-11-13 11:27:14 +01:00