feat: add build restproxy to the input

This commit is contained in:
zhangsz
2025-03-06 20:11:02 +08:00
parent e6b570488c
commit e9c7f4fa2c
16 changed files with 379 additions and 17 deletions

View File

@@ -2,22 +2,32 @@
deb_build_dir=../debbuild
src_pkg_root=../pkg
src_ocs_dir=../../ocs
src_bin_dir=$src_ocs_dir/bin
release_root=../release
release_date=`date +%Y%m%d`
src_ocs_dir=../../ocs
ocs_bin_dir=$src_ocs_dir/bin
ocs_bin_file=agtocs
src_restproxy_root=../../selfcare
src_cproxy_dir=$src_restproxy_root/proxy_c
src_goproxy_dir=$src_restproxy_root/proxy_go
proxy_bin_dir=$src_restproxy_root/bin
cproxy_bin_file=restproxy
goproxy_bin_file=restproxy_go
usage() {
echo "Usage: $0 [ocs|scp|ussdgw] [OPTION] "
echo "Usage: $0 [ocs|scp|ussdgw|cproxy|goproxy] [Option] "
echo
echo "Build OCS package, option as follow:"
echo " ocs|scp|ussdgw, ocs: OCS package build by dpkg"
echo " scp: SCP package build by dpkg"
echo " ussdgw: USSD Gateway package, build by rpmbuild"
echo " ussdgw: USSD Gateway package, build by dpkg"
echo
echo "OPTION:"
echo " -t [norfolk|cook|pncc|zed] Build binary tag"
echo " -h, --help Display this help and exit"
echo " Option:"
echo " -t [norfolk|cook|pncc|zed] Build binary tag, only for ocs, default is pncc"
echo " -h, --help Display this help and exit"
echo
exit 1
}
@@ -26,7 +36,7 @@ pkg_type=""
new_args=()
# Traverse all parameters
for arg in "$@"; do
if [[ "$arg" == "ocs" || "$arg" == "scp" || "$arg" == "ussdgw" ]]; then
if [[ "$arg" == "ocs" || "$arg" == "scp" || "$arg" == "ussdgw" || "$arg" == "cproxy" || "$arg" == "goproxy" ]]; then
pkg_type=$arg
else
new_args+=("$arg") # Add non pkg_type parameters to a new parameter list
@@ -62,6 +72,9 @@ make_ocs_bin()
echo -n "make clean ... "
make clean 1>/dev/null 2>&1
echo "done"
if [ -z $bin_tag ]; then
bin_tag="pncc"
fi
echo -n "make $bin_tag ... "
make ${bin_tag} 1>make.log 2>&1
if [ $? -ne 0 ]; then
@@ -73,6 +86,40 @@ make_ocs_bin()
cd $OLDPWD
}
make_cproxy_bin()
{
cd $src_cproxy_dir
echo -n "make clean ... "
make clean 1>/dev/null 2>&1
echo "done"
echo -n "make c restproxy ... "
make 1>make.log 2>&1
if [ $? -ne 0 ]; then
echo "failed"
echo "Please refer to make.log for details"
exit 1
fi
echo "done"
cd $OLDPWD
}
make_goproxy_bin()
{
cd $src_goproxy_dir
echo -n "make clean ... "
make clean 1>/dev/null 2>&1
echo "done"
echo -n "make golang restproxy ... "
make build 1>make.log 2>&1
if [ $? -ne 0 ]; then
echo "failed"
echo "Please refer to make.log for details"
exit 1
fi
echo "done"
cd $OLDPWD
}
pre_common_build()
{
test -d $deb_build_dir || mkdir -p $deb_build_dir
@@ -91,6 +138,9 @@ pre_ocs_build()
mkdir -p $deb_build_dir/usr/local/ocs/tools
mkdir -p $deb_build_dir/lib/systemd/system
mkdir -p $deb_build_dir/usr/local/agt/etc/tariff
release_dir=$release_root/ocs/amd64
mkdir -p $release_dir
}
pre_scp_build()
@@ -101,6 +151,9 @@ pre_scp_build()
mkdir -p $deb_build_dir/usr/local/scp/log
mkdir -p $deb_build_dir/usr/local/scp/tools
mkdir -p $deb_build_dir/lib/systemd/system
release_dir=$release_root/scp/amd64
mkdir -p $release_dir
}
pre_ussdgw_build()
@@ -111,6 +164,33 @@ pre_ussdgw_build()
mkdir -p $deb_build_dir/usr/local/ussdgw/log
mkdir -p $deb_build_dir/usr/local/ussdgw/tools
mkdir -p $deb_build_dir/lib/systemd/system
release_dir=$release_root/ussdgw/amd64
mkdir -p $release_dir
}
pre_cproxy_build()
{
mkdir -p $deb_build_dir/usr/local/subsManage
mkdir -p $deb_build_dir/usr/local/backup
mkdir -p $deb_build_dir/usr/local/restproxy/bin/conf/default
mkdir -p $deb_build_dir/usr/local/restproxy/log
mkdir -p $deb_build_dir/lib/systemd/system
release_dir=$release_root/cproxy/amd64
mkdir -p $release_dir
}
pre_goproxy_build()
{
mkdir -p $deb_build_dir/usr/local/subsManage
mkdir -p $deb_build_dir/usr/local/backup
mkdir -p $deb_build_dir/usr/local/restproxy/bin/conf/default
mkdir -p $deb_build_dir/usr/local/restproxy/log
mkdir -p $deb_build_dir/lib/systemd/system
release_dir=$release_root/goproxy/amd64
mkdir -p $release_dir
}
case $pkg_type in
@@ -119,9 +199,9 @@ case $pkg_type in
pre_ocs_build
make_ocs_bin
src_pkg_dir=$src_pkg_root/ocs
release_dir=$release_root/ocs/amd64
cp $src_bin_dir/agtocs $deb_build_dir/usr/local/ocs/bin/ocs
cp $ocs_bin_dir/$ocs_bin_file $deb_build_dir/usr/local/ocs/bin/ocs
cp -rf $src_pkg_dir/conf/* $deb_build_dir/usr/local/ocs/bin/conf/default
cp -rf $src_pkg_root/tools/* $deb_build_dir/usr/local/ocs/tools
cp $src_pkg_dir/systemd/ocs.service $deb_build_dir/lib/systemd/system
@@ -138,10 +218,8 @@ case $pkg_type in
pre_scp_build
make_ocs_bin
src_pkg_dir=$src_pkg_root/scp
release_dir=$release_root/scp/amd64
deb_file_name=scp-r2409.6-${release_date}-ub22.deb
cp $src_bin_dir/agtocs $deb_build_dir/usr/local/scp/bin/scp
cp $ocs_bin_dir/$ocs_bin_file $deb_build_dir/usr/local/scp/bin/scp
cp -rf $src_pkg_dir/conf/* $deb_build_dir/usr/local/scp/bin/conf/default
cp -rf $src_pkg_root/tools/* $deb_build_dir/usr/local/scp/tools
cp $src_pkg_dir/systemd/scp.service $deb_build_dir/lib/systemd/system
@@ -158,10 +236,8 @@ case $pkg_type in
pre_ussdgw_build
make_ocs_bin
src_pkg_dir=$src_pkg_root/ussdgw
release_dir=$release_root/ussdgw/amd64
deb_file_name=ussdgw-r2501.22-${release_date}-ub22.deb
cp $src_bin_dir/agtocs $deb_build_dir/usr/local/ussdgw/bin/ussdgw
cp $ocs_bin_dir/$ocs_bin_file $deb_build_dir/usr/local/ussdgw/bin/ussdgw
cp -rf $src_pkg_dir/conf/* $deb_build_dir/usr/local/ussdgw/bin/conf/default
cp -rf $src_pkg_root/tools/* $deb_build_dir/usr/local/ussdgw/tools
cp $src_pkg_dir/systemd/ussdgw.service $deb_build_dir/lib/systemd/system
@@ -171,6 +247,40 @@ case $pkg_type in
release_ver=$(grep '^Version:' ${deb_build_dir}/DEBIAN/control | awk '{print $2}')
deb_file_name=ocs-r${release_ver}-ub22.deb
fakeroot dpkg-deb --build $deb_build_dir $release_dir/$deb_file_name
;;
cproxy)
pre_common_build
pre_cproxy_build
make_cproxy_bin
src_pkg_dir=$src_pkg_root/cproxy
cp $proxy_bin_dir/$cproxy_bin_file $deb_build_dir/usr/local/restproxy/bin/restproxy
cp -rf $src_pkg_dir/conf/* $deb_build_dir/usr/local/restproxy/bin/conf/default
cp $src_pkg_dir/systemd/restproxy.service $deb_build_dir/lib/systemd/system
cp $src_pkg_dir/DEBIAN/* $deb_build_dir/DEBIAN
sed -i "s/YYYYMMDD/${release_date}/g" $deb_build_dir/DEBIAN/control
release_ver=$(grep '^Version:' ${deb_build_dir}/DEBIAN/control | awk '{print $2}')
deb_file_name=restproxy-r${release_ver}-ub22.deb
fakeroot dpkg-deb --build $deb_build_dir $release_dir/$deb_file_name
;;
goproxy)
pre_common_build
pre_goproxy_build
make_goproxy_bin
src_pkg_dir=$src_pkg_root/goproxy
cp $proxy_bin_dir/$goproxy_bin_file $deb_build_dir/usr/local/restproxy/bin/restproxy
cp -rf $src_pkg_dir/conf/* $deb_build_dir/usr/local/restproxy/bin/conf/default
cp $src_pkg_dir/systemd/restproxy.service $deb_build_dir/lib/systemd/system
cp $src_pkg_dir/DEBIAN/* $deb_build_dir/DEBIAN
sed -i "s/YYYYMMDD/${release_date}/g" $deb_build_dir/DEBIAN/control
release_ver=$(grep '^Version:' ${deb_build_dir}/DEBIAN/control | awk '{print $2}')
deb_file_name=restproxy-r${release_ver}-ub22.deb
fakeroot dpkg-deb --build $deb_build_dir $release_dir/$deb_file_name
;;
*)

10
pkg/cproxy/DEBIAN/control Executable file
View File

@@ -0,0 +1,10 @@
Package: restproxy
Version: 2403.1-YYYYMMDD
Section: net
Priority: optional
Architecture: amd64
Essential: no
Depends:
Conflicts: restproxy
Maintainer: 4GC
Description: 4GC REST Proxy Software

7
pkg/cproxy/DEBIAN/postinst Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
test ! -f /usr/local/restproxy/conf/rest_proxy.conf && cp -rf /usr/local/restproxy/conf/default/* /usr/local/restproxy/conf
systemctl enable restproxy
exit 0

6
pkg/cproxy/DEBIAN/prerm Executable file
View File

@@ -0,0 +1,6 @@
#!/bin/bash
# Commands to be run before uninstall of the package
systemctl disable restproxy

View File

@@ -0,0 +1,26 @@
[db0]
enable=on
role=master
host_ip=192.168.1.211
host_port=3306
db_name=boss
client_name=root
client_pwd=123456
[db1]
enable=on
role=slave
host_ip=192.168.1.211
host_port=3306
db_name=boss
client_name=root
client_pwd=123456
[db2]
enable=on
role=slave
host_ip=192.168.1.211
host_port=3306
db_name=boss
client_name=root
client_pwd=123456

View File

@@ -0,0 +1 @@
20

View File

@@ -0,0 +1,43 @@
[server]
local_ip=192.168.1.229
local_port=4901
pstn_ip=192.168.1.231
pstn_port=22
user_name=altouser
password=a1t0U53r
[MSAN-0]
ip=10.10.1.214
port=23
user_name=manager
password=ntms@n
[MSAN-1]
ip=10.10.1.215
port=23
user_name=manager
password=ntms@n
[Pairs-Slot]
#PairGrou,MASN,Slot
0,1,1
1,1,2
2,1,3
3,1,4
4,1,5
5,1,6
6,1,7
7,1,8
8,1,9
9,1,10
10,1,14
11,1,15
12,2,1
13,2,2
14,2,3
15,2,4
16,2,5
17,2,6
18,2,7
19,2,8
20,2,9
21,2,10
22,2,14
23,2,15

22
pkg/cproxy/conf/rest_proxy.conf Executable file
View File

@@ -0,0 +1,22 @@
#rest proxy local ip and port as server
localIPPort=10.60.1.152:4951
#restfull query ip&port
queryIPPort=10.60.1.38:8080
#restfull vourcher recharge ip&port
rechargeIPPort=10.60.1.37:9000
#user/passwrd
username=external
password=password
subsystem=Selfcare
customerIP=10.60.1.37
url_walletbalance=/rest-services/%s/xxx
url_rechargevoucher=/rest-services/%s/yyy
#test MSISDN
test_msisdn=6924546778
#test_msisdn=77922417981167
test_pin=63555825498329
log=./log/log

View File

@@ -0,0 +1,39 @@
udp_localIPPort=192.168.1.229:4900
udp_ocsIPPort=192.168.1.229:4951
http_localPort=8080
#authcode url
authcode_url=/authcode
#query_userdata url
query_userdata_url=/query_userdata
#bundle_subs url
bundle_subs_url=/bundle_subs
#bundle_usage url
bundle_usage_url=/bundle_usage
#recharge url
recharge_url=/recharge
#transfer url
transfer_url=/transfer
#recharge_card url
recharge_card_url=/recharge_card
#check_balance url
check_balance_url=/check_balance
#query_balane url
query_balane_url=/query_balane
#open acount url
create_account_url=/openPackage
#update acount url
update_subs_url=/updateSubs
#delete acount url
delete_subs_url=/deleteSubs
#errcodes and their meanings
errcode_map_message=[2001,success]
errcode_map_message=[3001,command unsupported]
errcode_map_message=[3010,unknown peer]
errcode_map_message=[4001,invalid user status]
errcode_map_message=[4008,dest user not allowed]
errcode_map_message=[4012,credit limit]
errcode_map_message=[5004,invalid parameter value]
errcode_map_message=[5005,missing parameter]
errcode_map_message=[5006,invalid recharge password]
errcode_map_message=[5012,unable to comply]
errcode_map_message=[5030,user unknown]

View File

@@ -0,0 +1,15 @@
[EMS]
ems0_ip=192.168.1.141
ems0_port=4999
user_name=manager
password=manager
connect_hss=connect hlr -srvip 192.168.1.219 -passwd 123456
connect_auc=connect auc -srvip 192.168.1.219 -passwd 123456
[HSS]
[AUC]
[VMS]
[Provision]
enable

View File

@@ -0,0 +1,11 @@
[Service]
Type=idle
WorkingDirectory=/usr/local/restproxy
ExecStart=/usr/local/restproxy/restproxy -r 1 > /dev/null 2>&1 &
Restart=always
RestartSec=3
StandardOutput=null
[Install]
WantedBy=multi-user.target

10
pkg/goproxy/DEBIAN/control Executable file
View File

@@ -0,0 +1,10 @@
Package: restproxy
Version: 2403.1-YYYYMMDD
Section: net
Priority: optional
Architecture: amd64
Essential: no
Depends:
Conflicts: restproxy
Maintainer: 4GC
Description: 4GC REST Proxy Software

7
pkg/goproxy/DEBIAN/postinst Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
test ! -f /usr/local/restproxy/conf/rest_proxy.conf && cp -rf /usr/local/restproxy/conf/default/* /usr/local/restproxy/conf
systemctl enable restproxy
exit 0

6
pkg/goproxy/DEBIAN/prerm Executable file
View File

@@ -0,0 +1,6 @@
#!/bin/bash
# Commands to be run before uninstall of the package
systemctl disable restproxy

View File

@@ -0,0 +1,38 @@
log:
level: info
mysqlDb:
addr: 192.168.1.211:3306
username: boss
password: mysqlboss
redisDb:
netType: unix
addr: /var/run/kvdb.sock
##sentinelAddrs:
## - 192.168.7.90:26379
## - 192.168.4.61:26379
telnetServer:
addr: 192.168.7.90:4100
rest:
enabled: true
httpAddr: 192.168.7.90:8080
emsAddr: 192.168.7.92:4999
locRzIp: 192.168.7.90
locRzPort: 4900
ocsRzIp: 192.168.7.90
ocsRzPort: 4951
enableNotification: true
canalServer:
enabled: true
addr: 192.168.1.211:3306
username: canal
password: canal
reinit: false
flushBeforeInit: true
standalone: true
cronCfg:
enabled: true
clrExp: '0 20 5 1,11,21 * ?'
ntfSms: '*/3 * * * * ?'
provision:
enabled: true
ssEntryIdInCrm: 1049

View File

@@ -0,0 +1,11 @@
[Service]
Type=idle
WorkingDirectory=/usr/local/restproxy
ExecStart=/usr/local/restproxy/restproxy -r 1 > /dev/null 2>&1 &
Restart=always
RestartSec=3
StandardOutput=null
[Install]
WantedBy=multi-user.target