Skip to content

Commit b925645

Browse files
authored
Merge pull request #2369 from tempesta-tech/rb-2170-update-tempesta-installer
update tempesta_installer.sh
2 parents def53f2 + 475683a commit b925645

File tree

6 files changed

+71
-128
lines changed

6 files changed

+71
-128
lines changed

CHANGELOG.md

Lines changed: 0 additions & 82 deletions
This file was deleted.

pkg/debian/changelog

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,60 @@
1+
tempesta-fw-dkms (0.8.0) focal; urgency=medium
2+
3+
* Add `Expect: 100-continue` support
4+
* Add `cache_use_stale` directive
5+
* Add ja5h and ja5t filtering, configuration. access log
6+
* Add tfw_logger for access_Log with Clickhouse
7+
* Add server address to warning/debug messages.
8+
* Add tls certificate date validation
9+
* Add support of Cache-Control: stale-if-error
10+
* Add response with 308 status code to heuristically cacheable
11+
* Add CRLF filter.
12+
* Add reference to a peper about ECDSA nonce attack
13+
* add CamelCase type name check
14+
* Add check for dublicate options in config
15+
* Add global Tempesta FW percentiles statistics.
16+
* Remove client from tdb
17+
* Remove lower limit of reconnection attempts.
18+
* Remove `timeout` option for sticky cookie
19+
* Remove redirect mark from Tempesta
20+
* Remove `delay_limit` JS challenge option
21+
* Rename: connection_rate -> tcp_connection_rate connection_burst -> tcp_connection_burst concurrent_connections -> concurrent_tcp_connections
22+
* Properly abort server connection for stale response
23+
* Mark proxy-connection header as hop-by-hop in case of segmentation
24+
* Drop HEAD and GET requests with body and trailers
25+
* Get rid of per-cpu buffer `g_te_buf`
26+
* Mark 'Keep-Alive' header as hop-by-hop
27+
* Immediately stop processing for closing conection
28+
* Use appropriate node for stale response
29+
* Do cache PURGE with respect to NUMA mode
30+
* Don't cache set-cookie header
31+
* Do not add Content-Length header for HTTP2 responses
32+
* tdb: Add simple global freelist
33+
* Forbid duplicated `stale-if-error` in response
34+
* Don't send stale response in case of frang block
35+
* Change TDB version to 0.2.0
36+
* Store in the cache only single record
37+
* Rewrite HEAD method to GET for cache
38+
* Clear socket write queue and send RST if connection is dropped
39+
* Catch malformed HM response.
40+
* Update cpu-node map allocation
41+
* Handle HTTPS/1 and HTTP/2 on the same port
42+
* Don't cache nonidempotent GET and HEAD requests
43+
* Invalidate stored responses.
44+
* Cache only methods according RFC 9110.
45+
* Restrict range of possible JS challenge response statuses
46+
* Drop request sock in case when frang block new connection
47+
* http_hdr_len and http_hdr_cnt were made only global because they are checked earlier than vhost is determined.
48+
* Use response to a GET request to satisfy HEAD request
49+
* Reset closing flags in st_flags field
50+
* Close socket after sending TLS_ALERT
51+
* Introduce default server response statistics for HTTP code 200.
52+
* Introduce 'health_stat', 'health_stat_server' directive.
53+
* Cut port from authority when lookup vhost
54+
* Block all malformed requests.
55+
56+
-- Tempesta Technologies, Inc. <info@tempesta-tech.com> Thu, 13 Mar 2025 16:13:47 +0400
57+
158
tempesta-fw-dkms (0.7.1) focal; urgency=medium
259

360
* Frang: Changed default settings to more strict
@@ -60,7 +117,6 @@ tempesta-fw-dkms (0.7.0) focal; urgency=medium
60117
* Fix invalid stream processing
61118
* Make HTTP/2 parser reject upper-case headers
62119

63-
64120
-- Tempesta Technologies, Inc. <info@tempesta-tech.com> Wed, 3 Mar 2022 20:13:43 +0500
65121

66122
tempesta-fw-dkms (0.6.8) focal; urgency=medium

pkg/debian/compat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
9
1+
10

pkg/debian/control

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ Depends: dkms (>= 1.95),
1414
libboost-dev,
1515
libboost-program-options-dev,
1616
kdump-tools,
17+
libfmt-dev,
18+
libspdlog-dev,
1719
${misc:Depends}
1820
Description: Open-source high-speed application delivery controller.
1921
Tempesta FW is an open-source application delivery controller (ADC) built

pkg/debian/rules

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ override_dh_auto_install:
1919
dh_install Makefile usr/src/$(NAME)-$(VERSION)
2020
dh_install etc/* /etc/tempesta
2121
dh_install scripts /lib/tempesta
22+
dh_install utils /lib/tempesta
2223
find "debian/$(DEB_NAME)/usr/src/$(NAME)-$(VERSION)" -name '.git*' -exec rm {} \;
2324

2425
override_dh_dkms:

pkg/scripts/tempesta_installer.sh

Lines changed: 10 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ declare -r TFW_NAME=`basename $0`
2525
declare -r LONG_OPTS="help,install,remove,purge"
2626
declare -r DOWNLOAD_DIR=tfw_downloads
2727

28-
declare -r GITHUB_USER="tempesta-tech"
29-
declare -r GITHUB_REPO_TEMPESTA="tempesta"
3028
declare -r GITHUB_REPO_LINUX="linux-5.10.35-tfw"
3129

3230
#TODO: currently Ubuntu 24 is the only supported distribution, other
@@ -59,7 +57,7 @@ log() {
5957
shift
6058
local MESSAGE="$@"
6159
local TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S")
62-
60+
6361
if [ -z "$LOGFILE" ]; then
6462
echo "Error: LOGFILE is not defined."
6563
return 1
@@ -68,43 +66,16 @@ log() {
6866
echo "${TIMESTAMP} [${LEVEL}] - ${MESSAGE}" | tee -a $LOGFILE
6967
}
7068

71-
# Use github API to get information about latest release.
72-
#
73-
# `latest` release shows ONLY releases which are not marked as `prereleases`.
74-
# Github restricts 60 API requests per hour without authorisation. Enough for
75-
# our needs.
7669
tfw_download()
7770
{
7871
log "INFO" "Starting download process..."
7972

80-
release_tag=`curl -s https://api.github.com/repos/$GITHUB_USER/$GITHUB_REPO_TEMPESTA/tags | grep \"$DISTRO/ | cut -d '"' -f 4 | sort -V -r | head -n1`
81-
if [[ ! "$release_tag" ]]; then
82-
log "ERROR" "Can't find the latest release in repo: https://github.com/$GITHUB_USER/$GITHUB_REPO_TEMPESTA"
83-
log "INFO" "Attempting to download using fallback URLs."
84-
else
85-
log "INFO" "Found the latest release tag: $release_tag"
86-
uri="https://api.github.com/repos/$GITHUB_USER/$GITHUB_REPO_LINUX/releases/tags/${release_tag}"
87-
links=`curl -s $uri | grep browser_download_url | grep -P "$2" | cut -d '"' -f 4`
88-
fi
89-
90-
if [[ ! "$links" ]]; then
91-
log "INFO" "Can't download file $2 from release ${release_tag} in repo:"
92-
log "INFO" "https://github.com/$GITHUB_USER/$GITHUB_REPO_LINUX"
93-
#TODO: show next line only if received 403 status code.
94-
log "INFO" "Or may be Github API rate limit exceeded. Fallback download from repo instead github.com"
95-
fall_links=("http://172.240.91.52:8081/repository/tempesta/pool/l/linux-headers-5.10.35.tfw-4c9ba16/linux-headers-5.10.35.tfw-4c9ba16_5.10.35.tfw-4c9ba16-1_amd64.deb"
96-
"http://172.240.91.52:8081/repository/tempesta/pool/l/linux-image-5.10.35.tfw-4c9ba16/linux-image-5.10.35.tfw-4c9ba16_5.10.35.tfw-4c9ba16-1_amd64.deb"
97-
"http://172.240.91.52:8081/repository/tempesta/pool/l/linux-libc-dev/linux-libc-dev_5.10.35.tfw-4c9ba16-1_amd64.deb"
98-
"http://172.240.91.52:8081/repository/tempesta/pool/t/tempesta-fw-dkms/tempesta-fw-dkms_0.7.1_amd64.deb -O tempesta-fw-dkms.deb")
99-
100-
for file in ${fall_links[@]}
101-
do
102-
log "INFO" "Downloading $file using fallback URL"
103-
wget -q --show-progress -P $DOWNLOAD_DIR/$repo $file || log "ERROR" "Failed to download $file"
104-
done
105-
fi
73+
links=("http://172.240.91.52:8081/repository/tempesta/pool/l/linux-headers-5.10.35.tfw-83b4909/linux-headers-5.10.35.tfw-83b4909_5.10.35.tfw-83b4909-1_amd64.deb"
74+
"http://172.240.91.52:8081/repository/tempesta/pool/l/linux-image-5.10.35.tfw-83b4909/linux-image-5.10.35.tfw-83b4909_5.10.35.tfw-83b4909-1_amd64.deb"
75+
"http://172.240.91.52:8081/repository/tempesta/pool/l/linux-libc-dev/linux-libc-dev_5.10.35.tfw-83b4909-1_amd64.deb"
76+
"http://172.240.91.52:8081/repository/tempesta/pool/t/tempesta-fw-dkms/tempesta-fw-dkms_0.8.0_amd64.deb -O tempesta-fw-dkms.deb")
10677

107-
for file in ${links}
78+
for file in ${links[@]}
10879
do
10980
wget -q --show-progress -P $DOWNLOAD_DIR/$repo $file || log "ERROR" "Failed to download $file"
11081
done
@@ -119,7 +90,7 @@ tfw_install_packages()
11990
case $DISTRO in
12091
"ubuntu-24")
12192
repo=""
122-
log "INFO" "Downloading latest packages from github.com/$GITHUB_USER/$repo ..."
93+
log "INFO" "Downloading packages"
12394
mkdir -p $DOWNLOAD_DIR/$repo
12495
;;
12596
*)
@@ -148,11 +119,9 @@ tfw_install_deps()
148119
"ubuntu-24")
149120
echo ""
150121
log "INFO" "Installation on Ubuntu 24 LTS requires updating system from jessie-backports repository before installing TempestaFW."
151-
log "INFO" "Updating system from jammy repository for Ubuntu 24 LTS."
122+
log "INFO" "Updating system from noble repository for Ubuntu 24 LTS."
152123
tfw_confirm
153124

154-
echo "deb http://ru.archive.ubuntu.com/ubuntu " \
155-
"jammy main" >> /etc/apt/sources.list
156125
apt-get update || log "ERROR" "Failed to update package lists for Ubuntu 24 LTS."
157126
apt-get dist-upgrade -y || log "ERROR" "Failed to dist-upgrade on Ubuntu 24 LTS."
158127
;;
@@ -170,7 +139,7 @@ tfw_install_deps()
170139
read -n 1 -s -p "Press any key to continue..."
171140
# curl and wget are required for the script itself.
172141
apt-get ${APT_OPTS} install -y dkms libboost-dev libboost-program-options-dev \
173-
kdump-tools curl wget ethtool bc libtemplate-perl
142+
kdump-tools curl wget ethtool bc libtemplate-perl libfmt-dev libspdlog-dev
174143
if [ $? -eq 0 ]; then
175144
log "INFO" "Dependencies installation completed."
176145
else
@@ -191,7 +160,7 @@ tfw_install()
191160
log "ERROR" "Failed to install dependencies."
192161
exit 2
193162
fi
194-
163+
195164
# TempestaFW is shipped as DKMS module. By default, dkms framework
196165
# installs module only for running kernel. Configure dkms to install
197166
# module to all kernels. BUILD_EXCLUSIVE variable in TempestaFW's
@@ -208,14 +177,11 @@ tfw_install()
208177
echo "*************************************************************************"
209178
read -n 1 -s -p "Press any key to continue..."
210179
echo ""
211-
log "INFO" "Installing packages from $GITHUB_REPO_LINUX."
212180
tfw_install_packages $GITHUB_REPO_LINUX "${FILES_LINUX[@]}"
213181
if [ $? -ne 0 ]; then
214182
log "ERROR" "Failed to install packages."
215183
exit 2
216184
fi
217-
218-
# tfw_install_packages $GITHUB_REPO_TEMPESTA "${FILES_TEMPESTA[@]}"
219185
}
220186

221187
# Find all installed packages that suit *_FILES regular expressions and save

0 commit comments

Comments
 (0)