Commits
- Commit:
d36998aec867c8134466eccfe048dc8671eecca5
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
expose authenticated gotd user account in HTTP notifications
ok op@
- Commit:
93b39c2f4a792f8a83e7621425edbd48f0c16854
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix an fd leak in gotd's notify process
This leak resulted in the gotd notify process spinning on CPU in
an imsg_read() -> EAGAIN loop once it ran out of file descriptors.
- Commit:
9a8d74891980ef72c6e4bb2f7d377738b3308d0f
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
revert part of previous commit; the parent process is not ephemeral
pointed out by op@
- Commit:
1bd35332a599d65566a5fab8c0ff0eb6201812ff
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
prevent gotd notification process from exiting due to EPIPE
Ephermeral processes on the other end of a pipe might decide to exit
which results in EPIPE when writing. This is not a fatal error but is
somewhat expected during normal operation (at least until we improve
the inter-process communication about notifications).
- Commit:
939d3016601d8c21e69a605f10838024335f3b1a
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got-notify-http: use a UNIX timestamp for the date
Was suggested by Lucas some time ago. ok stsp@ with a tweak in the
manual.
- Commit:
050c0b8ca3bc56e34b304d886ed11ec58badadf2
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got-notify-http: implement basic authentication
ok stsp
- Commit:
c1003102a22a77d068a14f9ffa7877f67c28e95d
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got-notify-http: add the repository name in the json
ok stsp
- Commit:
5565365ce71d431c522f98b121706b13c4bf2d22
- From:
- Omar Polo <op@omarpolo.com>
- Date:
add got-notify-http
ok stsp@
- Commit:
54dbd95c889dfcd42c499f19d3af056f2a706791
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fmt
- Commit:
e8d451cc39fa03a3fd56b95b86c820491d399550
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
display process title in syslog when a gotd child process exits
- Commit:
ba97b2d7ec97e54a025a39e04c0fd59fdd54a57b
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add initial support for commit notifications to gotd(8)
At present only email notifications are implemented.
Code for HTTP notifications is not yet finished, hence HTTP-related
documentation remains hidden for now.
This adds a new 'notify' process which has an "exec" pledge. It runs
helper programs which implement the notification transport layer,
such as got-notify-email which speaks SMTP. This design avoids having
to link all of gotd with network libraries and related crypto libraries.
Notification content is generated by the 'repo_write' process. Commit log
messages and diffstats are written to a file which the 'notify' process
will pass on to its helpers on stdin. The default output looks similar
to 'got log -d'. If too many new commits are present the output looks
similar to 'got log -s' instead. Tags always look like 'got tag -l'.
The session process coordinates generation of notifications. It maintains
a notification queue which holds one notification per updated reference,
and passes notification requests from this queue to the 'repo_write'
process for notification content creation and then to the 'notify'
process for notification delivery.
Only one notification can be in flight at a time to avoid file descriptor
starvation if many references get updated in a single client session.
ok op@