Merge pull request #73 from cgregoirovh/dev/cgregoir/ISSUE-72

implemented api feature on docker image for latest version, nightly a…
This commit is contained in:
Gilles Dubois 2021-12-02 16:08:28 +01:00 committed by GitHub
commit fea8eeec4c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 117 additions and 3 deletions

View File

@ -0,0 +1,23 @@
PerlOptions +Parent
<Perl>
$ENV{PLACK_ENV} = 'production';
$ENV{MOJO_HOME} = 'REST_API_PATH';
$ENV{MOJO_MODE} = 'deployment';
$ENV{OCS_DB_HOST} = 'DATABASE_SERVER';
$ENV{OCS_DB_PORT} = 'DATABASE_PORT';
$ENV{OCS_DB_LOCAL} = 'DATABASE_NAME';
$ENV{OCS_DB_USER} = 'DATABASE_USER';
$ENV{OCS_DB_PWD} = 'DATABASE_PASSWD';
$ENV{OCS_DB_SSL_ENABLED} = OCS_SSL_ENABLED;
# $ENV{OCS_DB_SSL_CLIENT_KEY} = '';
# $ENV{OCS_DB_SSL_CLIENT_CERT} = '';
# $ENV{OCS_DB_SSL_CA_CERT} = '';
$ENV{OCS_DB_SSL_MODE} = 'SSL_MODE_PREFERRED';
</Perl>
<Location /ocsapi>
SetHandler perl-script
PerlResponseHandler Plack::Handler::Apache2
PerlSetVar psgi_app 'REST_API_LOADER_PATH'
</Location>

View File

@ -22,6 +22,8 @@ if [ ! -f $OCS_WEBCONSOLE_DIR/ocsreports/var.php ]; then
cp -r /tmp/OCSNG_UNIX_SERVER-2.9/ocsreports/ ${OCS_WEBCONSOLE_DIR}
rm -rf ${OCS_WEBCONSOLE_DIR}/ocsreports/dbconfig.inc.php
fi;
cp -r /tmp/OCSNG_UNIX_SERVER-2.9/Api/ /usr/local/share/perl5
if [ ! -z ${OCS_DISABLE_COM_MODE+x} ]; then
echo
@ -57,6 +59,19 @@ if [ ! -f /etc/httpd/conf.d/z-ocsinventory-server.conf ] && [ -z ${OCS_DISABLE_C
sed -i 's/"PATH_TO_PLUGINS_CONFIG_DIRECTORY"/'"${OCS_PLUGINSEXT_DIR//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
fi
# Configure zz-ocsinventory-restapi file
if [ ! -f /etc/httpd/conf.d/zz-ocsinventory-restapi.conf ]; then
cp /tmp/conf/ocsinventory-restapi.conf /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/REST_API_PATH/\/usr\/local\/share\/perl5/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/REST_API_LOADER_PATH/\/usr\/local\/share\/perl5\/Api\/Ocsinventory\/Restapi\/Loader.pm/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
fi
# Replace Variables
SRV_CONF_FILE="/etc/httpd/conf.d/z-ocsinventory-server.conf"
if [ -f ${SRV_CONF_FILE} ] && [ -z ${OCS_DISABLE_COM_MODE+x} ]; then

View File

@ -0,0 +1,23 @@
PerlOptions +Parent
<Perl>
$ENV{PLACK_ENV} = 'production';
$ENV{MOJO_HOME} = 'REST_API_PATH';
$ENV{MOJO_MODE} = 'deployment';
$ENV{OCS_DB_HOST} = 'DATABASE_SERVER';
$ENV{OCS_DB_PORT} = 'DATABASE_PORT';
$ENV{OCS_DB_LOCAL} = 'DATABASE_NAME';
$ENV{OCS_DB_USER} = 'DATABASE_USER';
$ENV{OCS_DB_PWD} = 'DATABASE_PASSWD';
$ENV{OCS_DB_SSL_ENABLED} = OCS_SSL_ENABLED;
# $ENV{OCS_DB_SSL_CLIENT_KEY} = '';
# $ENV{OCS_DB_SSL_CLIENT_CERT} = '';
# $ENV{OCS_DB_SSL_CA_CERT} = '';
$ENV{OCS_DB_SSL_MODE} = 'SSL_MODE_PREFERRED';
</Perl>
<Location /ocsapi>
SetHandler perl-script
PerlResponseHandler Plack::Handler::Apache2
PerlSetVar psgi_app 'REST_API_LOADER_PATH'
</Location>

View File

@ -32,6 +32,8 @@ make
make install
cd ..
cp -R Api/ /usr/local/share/perl5
# Webconsole
cp -R ocsreports/. $OCS_WEBCONSOLE_DIR
@ -52,6 +54,19 @@ sed -i 's/OCS_SSL_CERT/'"${OCS_SSL_CERT//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinv
sed -i 's/OCS_SSL_CA/'"${OCS_SSL_CA//\//\\/}"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
sed -i 's/OCS_SSL_COM_MODE/'"$OCS_SSL_COM_MODE"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
# Configure zz-ocsinventory-restapi file
if [ ! -f /etc/httpd/conf.d/zz-ocsinventory-restapi.conf ]; then
cp /tmp/conf/ocsinventory-restapi.conf /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/REST_API_PATH/\/usr\/local\/share\/perl5/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/REST_API_LOADER_PATH/\/usr\/local\/share\/perl5\/Api\/Ocsinventory\/Restapi\/Loader.pm/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
fi
# Configure ocsinventory-reports file
cp /tmp/ocsinventory-reports.conf /etc/httpd/conf.d/ocsinventory-reports.conf
sed -i 's/OCSREPORTS_ALIAS/\/ocsreports/g' /etc/httpd/conf.d/ocsinventory-reports.conf
@ -89,4 +104,4 @@ if [ -f "$APACHE_PID_FILE" ]; then
rm "$APACHE_PID_FILE"
fi
/usr/sbin/httpd -DFOREGROUND
/usr/sbin/httpd -DFOREGROUND

View File

@ -72,6 +72,8 @@ RUN cd Apache/ && \
make && \
make install ;
RUN cp -r Api/ /usr/local/share/perl5/
WORKDIR /tmp
COPY conf/ /tmp/conf
@ -79,4 +81,4 @@ COPY ./scripts/docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
EXPOSE 80 443
ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"]
ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"]

View File

@ -0,0 +1,23 @@
PerlOptions +Parent
<Perl>
$ENV{PLACK_ENV} = 'production';
$ENV{MOJO_HOME} = 'REST_API_PATH';
$ENV{MOJO_MODE} = 'deployment';
$ENV{OCS_DB_HOST} = 'DATABASE_SERVER';
$ENV{OCS_DB_PORT} = 'DATABASE_PORT';
$ENV{OCS_DB_LOCAL} = 'DATABASE_NAME';
$ENV{OCS_DB_USER} = 'DATABASE_USER';
$ENV{OCS_DB_PWD} = 'DATABASE_PASSWD';
$ENV{OCS_DB_SSL_ENABLED} = OCS_SSL_ENABLED;
# $ENV{OCS_DB_SSL_CLIENT_KEY} = '';
# $ENV{OCS_DB_SSL_CLIENT_CERT} = '';
# $ENV{OCS_DB_SSL_CA_CERT} = '';
$ENV{OCS_DB_SSL_MODE} = 'SSL_MODE_PREFERRED';
</Perl>
<Location /ocsapi>
SetHandler perl-script
PerlResponseHandler Plack::Handler::Apache2
PerlSetVar psgi_app 'REST_API_LOADER_PATH'
</Location>

View File

@ -35,6 +35,19 @@ if [ ! -f /etc/httpd/conf.d/z-ocsinventory-server.conf ]; then
sed -i 's/OCS_SSL_COM_MODE/'"$OCS_SSL_COM_MODE"'/g' /etc/httpd/conf.d/z-ocsinventory-server.conf
fi
# Configure zz-ocsinventory-restapi file
if [ ! -f /etc/httpd/conf.d/zz-ocsinventory-restapi.conf ]; then
cp /tmp/conf/ocsinventory-restapi.conf /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/REST_API_PATH/\/usr\/local\/share\/perl5/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
sed -i 's/REST_API_LOADER_PATH/\/usr\/local\/share\/perl5\/Api\/Ocsinventory\/Restapi\/Loader.pm/g' /etc/httpd/conf.d/zz-ocsinventory-restapi.conf
fi
# Configure ocsinventory-reports file
if [ ! -f /etc/httpd/conf.d/ocsinventory-reports.conf ]; then
cp /tmp/conf/ocsinventory-reports.conf /etc/httpd/conf.d/ocsinventory-reports.conf
@ -86,4 +99,4 @@ if [ -f "$APACHE_PID_FILE" ]; then
rm "$APACHE_PID_FILE"
fi
/usr/sbin/httpd -DFOREGROUND
/usr/sbin/httpd -DFOREGROUND