mirror of https://gitee.com/anolis/sysom.git
185 lines
5.9 KiB
Plaintext
Executable File
185 lines
5.9 KiB
Plaintext
Executable File
%define anolis_release 1
|
|
%define debug_package %{nil}
|
|
|
|
Name: sysom
|
|
Version: 2.2
|
|
Release: %{anolis_release}%{?dist}
|
|
Summary: SysOM Server
|
|
License: MIT
|
|
Source0: https://gitee.com/anolis/sysom/repository/archive/v2.2/sysom-2.2.tar.gz
|
|
URL: https://gitee.com/anolis/sysom
|
|
|
|
%description
|
|
SysOM is committed to building an automatic operation and maintenance platform
|
|
that integrates host management, configuration and deployment,
|
|
monitoring and alarm, exception diagnosis, security audit and other functions
|
|
|
|
%prep
|
|
%setup -q -n %{name}-%{version}
|
|
|
|
%build
|
|
GRAFANA_PKG=grafana-9.2.2-1.x86_64.rpm
|
|
PROMETHEUS_VER=2.29.1
|
|
PROMETHEUS_ARCH=linux-amd64
|
|
PROMETHEUS_PKG=prometheus-${PROMETHEUS_VER}.${PROMETHEUS_ARCH}
|
|
PROMETHEUS_TAR=$PROMETHEUS_PKG.tar.gz
|
|
NODE_EXPORTER_VER=1.2.2
|
|
NODE_EXPORTER_PKG=node_exporter-${NODE_EXPORTER_VER}.${PROMETHEUS_ARCH}
|
|
NODE_EXPORTER_TAR=$NODE_EXPORTER_PKG.tar.gz
|
|
MONITOR_OSS_URL=https://sysom.oss-cn-beijing.aliyuncs.com/monitor
|
|
GRAFANA_DL_URL=https://dl.grafana.com/oss/release
|
|
PROMETHEUS_DL_URL=https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VER}
|
|
NODE_DL_URL=https://github.com/prometheus/node_exporter/releases/download/v${NODE_EXPORTER_VER}
|
|
REDIS_OSS_URL=https://sysom.oss-cn-beijing.aliyuncs.com/redis
|
|
REDIS_DL_URL=https://download.redis.io/releases
|
|
REDIS_PKG=redis-5.0.14.tar.gz
|
|
SYSAK_DOWNLOAD_URL=https://mirrors.openanolis.cn/sysak/packages
|
|
SYSAK_PKG=sysak-1.3.0-2.x86_64.rpm
|
|
ANCE_X86_PKG=ance-0.1.1-2.x86_64.rpm
|
|
ANCE_ARM_PKG=ance-0.1.1-2.aarch64.rpm
|
|
ANOLIS_X86_SQLITE=Anolis_OS-8.6.x86_64.sqlite
|
|
ANOLIS_ARM_SQLITE=Anolis_OS-8.6.aarch64.sqlite
|
|
ANOLIS_MIGRATION_PKGS_X86=anolis_migration_pkgs_x86_64.tar.gz
|
|
ANOLIS_MIGRATION_PKGS_ARM=anolis_migration_pkgs_aarch64.tar.gz
|
|
|
|
do_download_sysak() {
|
|
echo "now download ${SYSAK_PKG}..."
|
|
pushd script/node/diagnosis
|
|
wget ${SYSAK_DOWNLOAD_URL}/${SYSAK_PKG}
|
|
if [ ! -e ${SYSAK_PKG} ]
|
|
then
|
|
echo "download ${SYSAK_PKG} fail"
|
|
exit 1
|
|
fi
|
|
popd
|
|
}
|
|
|
|
do_download_redis() {
|
|
echo "now download ${REDIS_PKG}..."
|
|
pushd script/server/0_local_services
|
|
wget ${REDIS_OSS_URL}/${REDIS_PKG} || wget ${REDIS_DL_URL}/${REDIS_PKG}
|
|
if [ ! -e ${REDIS_PKG} ]
|
|
then
|
|
echo "download ${REDIS_PKG} fail"
|
|
exit 1
|
|
fi
|
|
popd
|
|
}
|
|
|
|
do_download_monitor() {
|
|
echo "now download ${GRAFANA_PKG}, ${PROMETHEUS_TAR}, ${NODE_EXPORTER_TAR}..."
|
|
mkdir -p monitor
|
|
pushd monitor
|
|
wget ${MONITOR_OSS_URL}/${GRAFANA_PKG} || wget ${GRAFANA_DL_URL}/${GRAFANA_PKG}
|
|
wget ${MONITOR_OSS_URL}/${PROMETHEUS_TAR} || wget ${PROMETHEUS_DL_URL}/${PROMETHEUS_TAR}
|
|
wget ${MONITOR_OSS_URL}/${NODE_EXPORTER_TAR} || wget ${NODE_DL_URL}/${NODE_EXPORTER_TAR}
|
|
if [ ! -e ${GRAFANA_PKG} ]
|
|
then
|
|
echo "download ${GRAFANA_PKG} fail"
|
|
exit 1
|
|
fi
|
|
if [ ! -e ${PROMETHEUS_TAR} ]
|
|
then
|
|
echo "download ${PROMETHEUS_TAR} fail"
|
|
exit 1
|
|
fi
|
|
if [ ! -e ${NODE_EXPORTER_TAR} ]
|
|
then
|
|
echo "download ${NODE_EXPORTER_TAR} fail"
|
|
exit 1
|
|
fi
|
|
popd
|
|
}
|
|
|
|
do_download_ance() {
|
|
mkdir -p sysom_server/sysom_migration/ance
|
|
pushd sysom_server/sysom_migration/ance
|
|
if [ ! -f "${ANCE_X86_PKG}" ]; then
|
|
wget "https://ance.oss-cn-hangzhou.aliyuncs.com/release/x86_64/${ANCE_X86_PKG}"
|
|
fi
|
|
if [ ! -f "${ANCE_ARM_PKG}" ]; then
|
|
wget "https://ance.oss-cn-hangzhou.aliyuncs.com/release/aarch64/${ANCE_ARM_PKG}"
|
|
fi
|
|
if [ ! -f "${ANOLIS_X86_SQLITE}" ]; then
|
|
wget "https://ance.oss-cn-hangzhou.aliyuncs.com/databases/${ANOLIS_X86_SQLITE}"
|
|
fi
|
|
if [ ! -f "${ANOLIS_ARM_SQLITE}" ]; then
|
|
wget "https://ance.oss-cn-hangzhou.aliyuncs.com/databases/${ANOLIS_ARM_SQLITE}"
|
|
fi
|
|
if [ ! -f "${ANOLIS_MIGRATION_PKGS_X86}" ]; then
|
|
wget "https://gitee.com/src-anolis-sig/leapp/releases/download/v1.0.3-all-in-one/${ANOLIS_MIGRATION_PKGS_X86}"
|
|
fi
|
|
if [ ! -f "${ANOLIS_MIGRATION_PKGS_ARM}" ]; then
|
|
wget "https://gitee.com/src-anolis-sig/leapp/releases/download/v1.0.3-all-in-one/${ANOLIS_MIGRATION_PKGS_ARM}"
|
|
fi
|
|
popd
|
|
}
|
|
|
|
do_virtualenv() {
|
|
python3 -m venv /usr/local/sysom/server/virtualenv
|
|
source /usr/local/sysom/server/virtualenv/bin/activate
|
|
pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple/
|
|
pip install cffi -i https://mirrors.aliyun.com/pypi/simple/
|
|
pip install -r script/server/0_env/requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
|
|
pushd /usr/local/sysom/server/
|
|
tar zcf virtualenv.tar.gz virtualenv
|
|
popd
|
|
}
|
|
|
|
do_yarn_build() {
|
|
pushd sysom_web || exit
|
|
yarn
|
|
yarn build
|
|
popd || exit
|
|
}
|
|
|
|
echo "build sysom ..........."
|
|
echo ${PWD}
|
|
do_virtualenv
|
|
do_download_ance
|
|
do_download_monitor
|
|
do_download_sysak
|
|
###you can ignore the action if the version of redis >= 5.0.0 in the deployment environment###
|
|
do_download_redis
|
|
do_yarn_build
|
|
echo "build sysom end........"
|
|
|
|
%pre
|
|
|
|
%install
|
|
mkdir -p %{buildroot}/usr/local/sysom/server/target
|
|
mkdir -p %{buildroot}/usr/local/sysom/server/redis
|
|
cp -a sysom_server %{buildroot}/usr/local/sysom/server/target
|
|
cp -a conf %{buildroot}/usr/local/sysom/server/target
|
|
cp -a sysom_web/dist %{buildroot}/usr/local/sysom/server/target/sysom_web
|
|
cp -a script %{buildroot}/usr/local/sysom/init_scripts
|
|
cp -a monitor %{buildroot}/usr/local/sysom/server/
|
|
cp -a /usr/local/sysom/server/virtualenv.tar.gz %{buildroot}/usr/local/sysom/server/
|
|
|
|
%files
|
|
/usr/local/sysom/
|
|
|
|
%post
|
|
pushd /usr/local/sysom/server/
|
|
tar -xvf virtualenv.tar.gz
|
|
rm -rf virtualenv.tar.gz
|
|
popd
|
|
|
|
%preun
|
|
cat /usr/local/sysom/init_scripts/server/init.sh | grep "^FIRST_INIT_DONE=1"
|
|
if [ $? -eq 0 ]
|
|
then
|
|
bash -x /usr/local/sysom/init_scripts/server/clear.sh
|
|
fi
|
|
|
|
%postun
|
|
rm -rf /usr/local/sysom
|
|
|
|
%changelog
|
|
* Thu Apr 13 2023 huangtuquan <tuquanhuang@linux.alibaba.com> - 2.2
|
|
- sysom server release 2.2
|
|
* Fri Feb 6 2023 huangtuquan <tuquanhuang@linux.alibaba.com> - 2.1
|
|
- sysom server release 2.1
|
|
* Fri Dec 12 2022 huangtuquan <tuquanhuang@linux.alibaba.com> - 2.0
|
|
- sysom server release 2.0
|