Automatisering
De automatisering van Rudel voorkomt dat wegwerpsandboxes zich eindeloos opstapelen. Eén WP-Cron-event per uur, rudel_scheduled_cleanup, kan:
- het opschoningsbeleid uitvoeren (vervaldatum, leeftijd en inactiviteit)
- opschoning van samengevoegde branches uitvoeren
- rapporteren over sandboxes die zijn verlopen of bijna verlopen
Configuratie
Automatisering leest deze sleutels uit de optie rudel_config. De volledige lijst staat onder Configuratie.
| Sleutel | Doel | Standaardwaarde |
|---|---|---|
auto_cleanup_enabled |
Het opschoningsbeleid bij elk event uitvoeren | 1 |
auto_cleanup_merged |
Ook sandboxes verwijderen waarvan de Git-worktreebranches zijn samengevoegd | 0 |
expiring_environment_notice_days |
Sandboxes rapporteren die binnen N dagen verlopen | 0 |
max_age_days |
Leeftijdslimiet voor het opschoningsbeleid | 0 |
max_idle_days |
Inactiviteitslimiet voor het opschoningsbeleid | 0 |
default_ttl_days |
Vervaldatum voor nieuwe sandboxes | 0 |
Met de standaardwaarden wordt het event gepland, maar worden alleen sandboxes verwijderd die expliciet een vervaldatum in het verleden hebben; er is immers geen leeftijds- of inactiviteitslimiet ingesteld en ook geen standaard-TTL.
WP-Cron
Activering plant het event in en bij elk verzoek wordt de planning opnieuw gecontroleerd: het event bestaat zolang een van auto_cleanup_enabled, auto_cleanup_merged of expiring_environment_notice_days niet nul is, en wordt anders verwijderd. Deactivering verwijdert het event.
Er zijn geen automatiseringsopdrachten. Wijzig de instellingen in rudel_config:
wp option update rudel_config '{"auto_cleanup_enabled":1,"max_idle_days":7,"expiring_environment_notice_days":2}' --format=json
wp rudel status
wp rudel status toont Auto cleanup, Auto cleanup merged, Expiry notice days en Automation scheduled.
Vervalrapporten
Als expiring_environment_notice_days is ingesteld, verzamelt elke uitvoering sandboxes met een expires_at binnen dat aantal dagen en geeft ze door aan de actie rudel_after_automation_expiring_environments, opgesplitst in expiring en expired. Rudel verstuurt zelf geen meldingen; koppel de actie aan een melding voor eigenaren.
add_action(
'rudel_after_automation_expiring_environments',
function ( array $report ): void {
foreach ( $report['expiring'] as $sandbox ) {
error_log( $sandbox['id'] . ' expires at ' . $sandbox['expires_at'] );
}
}
);
Nu uitvoeren
Gebruik handmatige opschoning voor voorspelbare lokale uitvoeringen of CI-runs:
wp rudel cleanup --dry-run
wp rudel cleanup
Vanuit PHP voert Rudel::run_automation() dezelfde taken uit als het event cron.