mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2025-01-30 08:03:59 +00:00
v14.6.4
This commit is contained in:
parent
11952fd266
commit
8b7cecfd3e
@ -1,3 +1,44 @@
|
|||||||
|
- commits:
|
||||||
|
- subject: Add SIGTERM listener on application start
|
||||||
|
hash: 6683bca07da0e6b8f822dfcb22211b24a182dc16
|
||||||
|
body: >
|
||||||
|
As reported by issue #2100, the supervisor was not correctly reacting to
|
||||||
|
|
||||||
|
`SIGTERM` sent by the engine when terminating the process (for instance
|
||||||
|
|
||||||
|
before a reboot). This would lead to the supervisor requiring an
|
||||||
|
|
||||||
|
additional 10 seconds to terminate (after which the engine will send a
|
||||||
|
|
||||||
|
`SIGKILL`).
|
||||||
|
|
||||||
|
|
||||||
|
The reason for this is explained by the following info coming from Node
|
||||||
|
|
||||||
|
|
||||||
|
> Node.js was not designed to run as PID 1 which leads to unexpected behaviour when running inside of Docker. For example, a Node.js process running as PID 1 will not respond to `SIGINT` (`CTRL-C`) and similar signals. [reference](https://github.com/nodejs/docker-node/blob/main/docs/BestPractices.md#handling-kernel-signals)
|
||||||
|
|
||||||
|
|
||||||
|
On internal testing, it was discovered that simply adding a listener for
|
||||||
|
|
||||||
|
the signal on the Node process was enough to handle the signal, even
|
||||||
|
|
||||||
|
when the process runs as PID 1.
|
||||||
|
|
||||||
|
|
||||||
|
This adds a listener for `SIGTERM` before starting the supervisor main
|
||||||
|
|
||||||
|
loop.
|
||||||
|
footer:
|
||||||
|
Closes: "#2100"
|
||||||
|
closes: "#2100"
|
||||||
|
Change-type: patch
|
||||||
|
change-type: patch
|
||||||
|
author: Felipe Lalanne
|
||||||
|
nested: []
|
||||||
|
version: 14.6.4
|
||||||
|
title: ""
|
||||||
|
date: 2023-01-31T19:43:26.722Z
|
||||||
- commits:
|
- commits:
|
||||||
- subject: Update deploy-to-balena action to 0.26.0
|
- subject: Update deploy-to-balena action to 0.26.0
|
||||||
hash: 2bd2879cc580cd5b6a7cba73bc10d8ba55a3cf4c
|
hash: 2bd2879cc580cd5b6a7cba73bc10d8ba55a3cf4c
|
||||||
|
@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file
|
|||||||
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
|
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
|
||||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
|
# v14.6.4
|
||||||
|
## (2023-01-31)
|
||||||
|
|
||||||
|
* Add SIGTERM listener on application start [Felipe Lalanne]
|
||||||
|
|
||||||
# v14.6.3
|
# v14.6.3
|
||||||
## (2023-01-30)
|
## (2023-01-30)
|
||||||
|
|
||||||
|
@ -2,6 +2,6 @@ name: balena-supervisor
|
|||||||
description: 'Balena Supervisor: balena''s agent on devices.'
|
description: 'Balena Supervisor: balena''s agent on devices.'
|
||||||
joinable: false
|
joinable: false
|
||||||
type: sw.application
|
type: sw.application
|
||||||
version: 14.6.3
|
version: 14.6.4
|
||||||
provides:
|
provides:
|
||||||
- slug: sw.compose.long-volume-syntax
|
- slug: sw.compose.long-volume-syntax
|
||||||
|
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "balena-supervisor",
|
"name": "balena-supervisor",
|
||||||
"version": "14.6.3",
|
"version": "14.6.4",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "balena-supervisor",
|
"name": "balena-supervisor",
|
||||||
"version": "14.6.3",
|
"version": "14.6.4",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@balena/happy-eyeballs": "0.0.6",
|
"@balena/happy-eyeballs": "0.0.6",
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "balena-supervisor",
|
"name": "balena-supervisor",
|
||||||
"description": "This is balena's Supervisor, a program that runs on IoT devices and has the task of running user Apps (which are Docker containers), and updating them as the balena API informs it to.",
|
"description": "This is balena's Supervisor, a program that runs on IoT devices and has the task of running user Apps (which are Docker containers), and updating them as the balena API informs it to.",
|
||||||
"version": "14.6.3",
|
"version": "14.6.4",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@ -146,6 +146,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"versionist": {
|
"versionist": {
|
||||||
"publishedAt": "2023-01-30T18:59:38.829Z"
|
"publishedAt": "2023-01-31T19:43:27.427Z"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user