Commit graph

1192 commits

Author SHA1 Message Date
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
Aine
092e304b45
uptime_kuma v1.23.4; prometheus node exporter v1.7.0 2023-11-13 11:12:02 +02:00
moanos
d323564804 chore(oxitraffic): Bump version v0.7.0-1 -> v0.8.0-0 2023-11-13 09:32:27 +01:00
Aine
dae36c6c27
docker role v7.0.2; miniflux v2.0.50 2023-11-12 20:26:51 +02:00
Aine
903acf3451
mrs search max age 2023-11-10 18:44:49 +02:00
moanos
f3b6a6fa8a chore(oxitraffic): Bump version v0.7.0-0 -> v0.7.0-1 2023-11-09 20:00:24 +01:00
moanos
567003f909 chore(firezone): Bump version 2023-11-09 14:49:26 +01:00
Slavi Pantaleev
1b02f109dc Add a lot more information to docs/services/traefik.md 2023-11-09 13:59:55 +02:00
Slavi Pantaleev
da364e2da7 Upgrade Traefik (v2.10.5-0 -> v2.10.5-1) 2023-11-09 13:38:10 +02:00
Slavi Pantaleev
0172de019c Upgrade Woodpecker CI (v1.0.3 -> v1.0.5) 2023-11-09 08:53:45 +02:00
moanos
389f431b14 docs(oxitraffic): Add oxitraffic to supported services 2023-11-09 04:35:21 +01:00
moanos
c63c88cc1b fix(oxitraffic): Bump version to fix migrations 2023-11-09 04:33:23 +01:00