Skip to content

Commit 92bc7f1

Browse files
Merge pull request #104 from fledge-iot/FOGL-9841
FOGL-9841 container specific handling in Debian scripts
2 parents 679a06a + 849b741 commit 92bc7f1

File tree

2 files changed

+40
-14
lines changed

2 files changed

+40
-14
lines changed

packages/Debian/common/DEBIAN/postinst

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
## @postinst DEBIAN/postinst
2222
## This script is used to execute post installation tasks.
2323
##
24-
## Author: Ivan Zoratti, Massimiliano Pinto
24+
## Author: Ivan Zoratti, Massimiliano Pinto, Ashish Jabble
2525
##
2626
##--------------------------------------------------------------------
2727

@@ -32,6 +32,14 @@ SSL_NAME="fledge"
3232
SSL_DAYS="365"
3333
AUTH_NAME="ca"
3434

35+
is_running_in_container() {
36+
grep -qaE '/docker|/lxc|/kubepods|containerd' /proc/1/cgroup 2>/dev/null && return 0
37+
grep -qa 'container=' /proc/1/environ 2>/dev/null && return 0
38+
[ -f /.dockerenv ] && return 0
39+
[ -f /run/.containerenv ] && return 0
40+
return 1
41+
}
42+
3543
link_update_task() {
3644
echo "Changing setuid of update_task.apt"
3745
chmod ugo+s /usr/local/fledge/bin/update_task.apt
@@ -168,7 +176,13 @@ echo "Copying sudoers file"
168176
copy_fledge_sudoer_file
169177
echo "Setting setuid bit of cmdutil"
170178
setuid_cmdutil
171-
echo "Enabling Fledge service"
172-
enable_fledge_service
173-
echo "Starting Fledge service"
174-
start_fledge_service
179+
180+
if is_running_in_container; then
181+
echo "INFO: Detected container environment — skipping service enable"
182+
/usr/local/fledge/bin/fledge start
183+
else
184+
echo "Enabling Fledge service"
185+
enable_fledge_service
186+
echo "Starting Fledge service"
187+
start_fledge_service
188+
fi

packages/Debian/common/DEBIAN/prerm

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,22 @@
2121
## @prerm DEBIAN/prerm
2222
## This script is used to execute before the removal of files associated with the package.
2323
##
24-
## Author: Ivan Zoratti, Ashwin Gopalakrishnan
24+
## Author: Ivan Zoratti, Ashwin Gopalakrishnan, Ashish Jabble
2525
##
2626
##----------------------------------------------------------------------------------------
2727

2828
set -e
2929

3030
PKG_NAME="fledge"
3131

32+
is_running_in_container() {
33+
grep -qaE '/docker|/lxc|/kubepods|containerd' /proc/1/cgroup 2>/dev/null && return 0
34+
grep -qa 'container=' /proc/1/environ 2>/dev/null && return 0
35+
[ -f /.dockerenv ] && return 0
36+
[ -f /run/.containerenv ] && return 0
37+
return 1
38+
}
39+
3240
get_fledge_script () {
3341
fledge_script=$(dpkg -L $PKG_NAME | grep 'fledge/bin/fledge$')
3442
echo $fledge_script
@@ -73,15 +81,19 @@ IS_FLEDGE_RUNNING=$(is_fledge_running)
7381
if [ "$IS_FLEDGE_RUNNING" -eq "1" ]
7482
then
7583
echo "Fledge is currently running."
76-
echo "Stop Fledge service."
77-
stop_fledge_service
84+
if ! is_running_in_container; then
85+
echo "Stop Fledge service."
86+
stop_fledge_service
87+
fi
7888
echo "Kill Fledge."
7989
kill_fledge
8090
fi
8191

82-
echo "Disable Fledge service."
83-
disable_fledge_service
84-
echo "Remove Fledge service script"
85-
remove_fledge_service_file
86-
echo "Reset systemctl"
87-
reset_systemctl
92+
if ! is_running_in_container; then
93+
echo "Disable Fledge service."
94+
disable_fledge_service
95+
echo "Remove Fledge service script"
96+
remove_fledge_service_file
97+
echo "Reset systemctl"
98+
reset_systemctl
99+
fi

0 commit comments

Comments
 (0)