Skip to content

Added watch methods to cf-reactor - #6452

Draft
nickanderson wants to merge 13 commits into
cfengine:masterfrom
nickanderson:cf-reactor-watch-methods
Draft

nickanderson wants to merge 13 commits into
cfengine:masterfrom
nickanderson:cf-reactor-watch-methods

Conversation

@nickanderson

Copy link
Copy Markdown
Member

Lets cf-reactor wake a watcher as soon as its file changes instead of waiting for the next poll. Depends on #6446 and #6447, merged into this branch for now.

victormlg and others added 11 commits October 27, 2026 16:51
Added the reactor tests to jenkins, to be able to run them in jenkins. This
means we can test cf-reactor on all the different platforms.

Signed-off-by: Victor Moene <victor.moene@northern.tech>
Made the logs prettier and added a log file where the xtrace is
printed

Signed-off-by: Victor Moene <victor.moene@northern.tech>
Ticket: ENT-14765
Changelog: `cf-reactor` can now react to a user being added or removed, with the `user_added` and `user_removed` attributes of `when` bodies
Signed-off-by: Lars Erik Wik <lars.erik.wik@northern.tech>
# Conflicts:
#	cf-reactor/reactor_transform.c
#	libpromises/mod_reactor.c
#	libpromises/mod_reactor.h
…n their name

environment_host is a class, the hostname must be canonified.

Changelog: None
Stepping the system clock back postponed every watcher check by the
size of the step.

Ticket: TBD
Changelog: Title
The new watch_methods attribute of when bodies lists, in order of
preference, how a watcher is woken up before its interval. The methods
other than polling are provided by the Enterprise extension; without it,
cf-reactor polls. Polling at the interval continues underneath every
method. Without watch_methods, the first available method is used.

Ticket: TBD
Changelog: Title
Without these, a confined cf-reactor falls back to polling.

Changelog: None
…dows

A file in a directory opened without sharing no longer looks deleted,
a watcher whose first check fails is kept, and \\?\ prefixes and
trailing separators are stripped before checking.

Changelog: None
It didn't link watch_backends.c, and its promises had no constraints
or bundle, which WatcherPromiseHash() and the watchers report now use.
A watcher whose first check fails is now kept.

Changelog: None
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants