Compare commits

...

10 Commits

Author SHA1 Message Date
28f2bd2315 Update to version 1.10.0 2019-12-10 10:35:18 +01:00
aff3f9cee7 Ajout règle ouverture du port SSH 2019-09-30 16:50:18 +02:00
d8bce9cd51 Suppression commentaires inutiles 2019-09-30 14:46:51 +02:00
0839f68e18 Utilisation du serveur SSH intégré à Gitea 2019-09-30 14:46:15 +02:00
93b96fb8e0 Correction génération mot de passe par eole-db 2019-09-29 10:08:53 +02:00
e42436c303 Upgrade to Gitea 1.8.3 2019-06-18 09:19:25 +02:00
054bdf790a Handle Gitea version upgrade in pretemplate script
Check for version update with script expected version versus installed
version
2019-06-17 17:14:27 +02:00
9e541f5c9d Upgrade gitea to version 1.8.2 2019-06-17 14:22:47 +02:00
42bd76ac8b Updating service 2018-11-05 10:52:48 +01:00
08aef8d219 Fixing gitea configuration template 2018-10-31 12:44:41 +01:00
6 changed files with 106 additions and 70 deletions

View File

@ -1 +1 @@
Eolisation de Gogs ! Eolisation de Gitea !

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<creole> <creole>
<files> <files>
<!-- Je suis un commentaire -->
<file filelist='gitea-nginx' name='/etc/nginx/sites-available/gitea' source='gitea.nginx' mkdir='True' rm='True'/> <file filelist='gitea-nginx' name='/etc/nginx/sites-available/gitea' source='gitea.nginx' mkdir='True' rm='True'/>
<file filelist='gitea' name='/usr/share/eole/bastion/data/51-gitea-nat_rules' mkdir='True' rm='True' mode='0755'/> <file filelist='gitea' name='/usr/share/eole/bastion/data/51-gitea-nat_rules' mkdir='True' rm='True' mode='0755'/>
<file filelist='gitea' name='/etc/eole/eole-db.d/gitea-db.yml' rm='True' mkdir='True'/> <file filelist='gitea' name='/etc/eole/eole-db.d/gitea-db.yml' rm='True' mkdir='True'/>
@ -14,15 +13,13 @@
<container name='forge' id='101'> <container name='forge' id='101'>
<package>apt-transport-https</package> <package>apt-transport-https</package>
<package>git-core</package> <package>git-core</package>
<!-- FIXME this have to be installed <package>gitea</package> -->
<file filelist='gitea' name='/etc/gitea/conf/app.ini' source='gitea.conf' mkdir='True' rm='True' mode='770' owner='root' group='gitservice'/> <file filelist='gitea' name='/etc/gitea/conf/app.ini' source='gitea.conf' mkdir='True' rm='True' mode='770' owner='root' group='gitservice'/>
<!-- <service servicelist='xxxx'>nom-du-service-a-lancer-dans-le-conteneur</service> -->
<service servicelist='gitea'>forge</service> <service servicelist='gitea'>forge</service>
<service_access service='gitea_without_nginx'> <service_access service='gitea_without_nginx'>
<port service_accesslist="gitea_without_nginx" port_type="SymLinkOption">gitea_http_port</port> <port service_accesslist="gitea_without_nginx" port_type="SymLinkOption">gitea_http_port</port>
</service_access> </service_access>
<service_access service='gitea_ssh'> <service_access service='gitea_ssh'>
<tcpwrapper>sshd</tcpwrapper> <port service_accesslist="gitea_ssh'" port_type="SymLinkOption">gitea_ssh_port</port>
</service_access> </service_access>
</container> </container>
</containers> </containers>

View File

@ -16,81 +16,120 @@ HOMEDIR="${WKDIR}/${USER}"
OS="linux" OS="linux"
ARCH="amd64" ARCH="amd64"
APPVERSION="1.5.2" APPVERSION="1.10.0"
APPNAME="gitea" APPNAME="gitea"
APPBINARY="gitea" APPBINARY="gitea"
APPSIG="7C9E68152594688862D62AF62D9AE806EC1592E2" APPSIG="7C9E68152594688862D62AF62D9AE806EC1592E2"
APPASC="${APPNAME}-${APPVERSION}-${OS}-${ARCH}.asc" APPASC="${APPNAME}-${APPVERSION}-${OS}-${ARCH}.asc"
KEYSERV="pgp.mit.edu" KEYSERV="hkp://p80.pool.sks-keyservers.net:80"
DLSERV="dl.gitea.io" DLSERV="dl.gitea.io"
APPDIR="${WKDIR}/gitea" APPDIR="${WKDIR}/gitea"
APPBINDIR="${APPDIR}/bin" APPBINDIR="${APPDIR}/bin"
APPCONFDIR="/etc/${APPNAME}" APPCONFDIR="/etc/${APPNAME}"
if [[ -d ${APPCONFDIR} ]] function configure_proxy {
then proxy=$(CreoleGet activer_proxy_client non)
exit 0 if [[ ${proxy} == "oui" ]]
fi then
prAddr=$(CreoleGet proxy_client_adresse)
prPort=$(CreoleGet proxy_client_port)
export HTTP_PROXY=http://${prAddr}:${prPort}
export http_proxy=http://${prAddr}:${prPort}
export HTTPS_PROXY=http://${prAddr}:${prPort}
export https_proxy=http://${prAddr}:${prPort}
fi
}
proxy=$(CreoleGet activer_proxy_client non) function create_app_dir {
if [[ ${proxy} == "oui" ]] mkdir -p "${APPDIR}"
then chown ${USER}:${GROUP} "${APPDIR}" -R
prAddr=$(CreoleGet proxy_client_adresse)
prPort=$(CreoleGet proxy_client_port)
export HTTP_PROXY=http://${prAddr}:${prPort}
export http_proxy=http://${prAddr}:${prPort}
export HTTPS_PROXY=http://${prAddr}:${prPort}
export https_proxy=http://${prAddr}:${prPort}
fi
if [[ ! -d ${APPDIR} ]] # Create app structure
then mkdir -p ${APPDIR}/{custom,data,indexers,public,log}
mkdir -p ${APPDIR} chown ${USER}:${GROUP} ${APPDIR}/{data,indexers,log}
chown ${USER}:${GROUP} ${APPDIR} -R chmod 750 ${APPDIR}/{data,indexers,log}
fi mkdir -p "${APPCONFDIR}"
chown root:${GROUP} ${APPCONFDIR}
chmod 770 "${APPCONFDIR}"
# Create app user and group mkdir -p "${APPBINDIR}"
groupadd ${GROUP} chown ${USER}:${GROUP} "${APPBINDIR}"
adduser \
--shell ${USERSHELL} \
--gecos "${GECOS}" \
--ingroup ${GROUP} \
--disabled-password \
--home ${HOMEDIR} \
${USER}
# Create app structure }
mkdir -p ${APPDIR}/{custom,data,indexers,public,log}
chown ${USER}:${GROUP} ${APPDIR}/{data,indexers,log}
chmod 750 ${APPDIR}/{data,indexers,log}
mkdir ${APPCONFDIR}
chown root:${GROUP} ${APPCONFDIR}
chmod 770 ${APPCONFDIR}
if [[ ! -d ${APPBINDIR} ]] function create_user_and_group {
then local existing_group=$(getent group ${GROUP})
mkdir -p ${APPBINDIR} if [ -z "${existing_group}" ]; then
chown ${USER}:${GROUP} ${APPBINDIR} groupadd ${GROUP}
fi fi
cd $APPBINDIR local existing_user=$(getent passwd ${USER})
if [[ ! -f ${APPBINARY} ]] if [ -z "${existing_user}" ]; then
then adduser \
wget -O ${APPBINARY} https://${DLSERV}/${APPNAME}/${APPVERSION}/${APPNAME}-${APPVERSION}-${OS}-${ARCH} --shell ${USERSHELL} \
if [[ $? -eq 0 ]] --gecos "${GECOS}" \
then --ingroup ${GROUP} \
chmod +x ${APPBINARY} --disabled-password \
else --home ${HOMEDIR} \
echo "Error downloading binary for ${APPNAME}" ${USER}
return 123 fi
fi }
fi
if [[ ! -f ${APPASC} ]] function download_binary {
then local temp_bin=$(mktemp)
wget -O ${APPASC} https://${DLSERV}/${APPNAME}/${APPVERSION}/${APPASC}
wget -O "${temp_bin}" https://${DLSERV}/${APPNAME}/${APPVERSION}/${APPNAME}-${APPVERSION}-${OS}-${ARCH}
if [[ $? -ne 0 ]]
then
echo "Error downloading binary for ${APPNAME}"
return 123
fi
wget -O "${temp_bin}.asc" https://${DLSERV}/${APPNAME}/${APPVERSION}/${APPASC}
gpg --keyserver ${KEYSERV} --recv ${APPSIG} gpg --keyserver ${KEYSERV} --recv ${APPSIG}
gpg --verify ${APPNAME}-${APPVERSION}-${OS}-${ARCH}.asc ${APPBINARY} gpg --verify "${temp_bin}.asc" "${temp_bin}"
fi
cd - if [[ $? -ne 0 ]]
then
echo "Error downloading binary for ${APPNAME}"
return 123
fi
cd $APPBINDIR
chmod +x "${temp_bin}"
mv -f "${temp_bin}" ${APPBINARY}
cd -
}
function current_gitea_version {
if [[ ! -f "${APPBINDIR}/${APPBINARY}" ]]
then
return
fi
"${APPBINDIR}/${APPBINARY}" --version | cut -d' ' -f 3
}
function main {
# Check that installed version if ok
local current_version=$(current_gitea_version)
if [ "$current_version" == "$APPVERSION" ]; then
exit 0
fi
if [ -z "$current_version" ]
then
echo "Installing Gitea ${APPVERSION}..."
else
echo "Upgrade Gitea from ${current_version} to ${APPVERSION}..."
fi
configure_proxy
create_user_and_group
create_app_dir
download_binary
}
main

View File

@ -10,7 +10,7 @@ After=redis.service
[Service] [Service]
#LimitMEMLOCK=infinity #LimitMEMLOCK=infinity
#LimitNOFILE=65535 #LimitNOFILE=65535
RestartSec=2s RestartSec=4s
Type=simple Type=simple
User=git User=git
Group=gitservice Group=gitservice

View File

@ -34,8 +34,7 @@ createscript: "/usr/share/eole/db/gitea/gen/00-create-gitea-db.sql"
%set cnt_prefix = %%getVar('container_path_reseau', '') %set cnt_prefix = %%getVar('container_path_reseau', '')
pwd_files: pwd_files:
- {file: '%%cnt_prefix/etc/gitea/conf/app.ini', - {file: '%%cnt_prefix/etc/gitea/conf/app.ini',
pattern: 'PASSWD = ', pattern: 'PASSWD = `',
end_pattern: '', end_pattern: '`',
owner: 'root:gitservice', owner: 'root:gitservice',
mod: '660' } mod: '660' }

View File

@ -30,6 +30,7 @@ HTTP_ADDR =
HTTP_PORT = %%gitea_http_port HTTP_PORT = %%gitea_http_port
; Disable SSH feature when not available ; Disable SSH feature when not available
DISABLE_SSH = false DISABLE_SSH = false
START_SSH_SERVER = true
SSH_PORT = %%gitea_ssh_port SSH_PORT = %%gitea_ssh_port
; Disable CDN even in "prod" mode ; Disable CDN even in "prod" mode
OFFLINE_MODE = false OFFLINE_MODE = false
@ -70,7 +71,7 @@ HOST = %%{gitea_dbserver}:%%{gitea_dbport}
%end if %end if
NAME = gitea NAME = gitea
USER = gitea USER = gitea
PASSWD=gitea1234 PASSWD = `gitea1234`
; For "postgres" only, either "disable", "require" or "verify-full" ; For "postgres" only, either "disable", "require" or "verify-full"
SSL_MODE = disable SSL_MODE = disable
; For "sqlite3" only ; For "sqlite3" only