Install from an offline location#
Mirror EclecticIQ packages#
You can mirror packages from https://downloads.eclecticiq.com
to provide EclecticIQ packages to hosts not connected to the internet.
Mirror downloads.eclecticiq.com with wget#
Mirror the contents of https://downloads.eclecticiq.com
with wget
to make EclecticIQ packages available on your network.
Requirements for mirror host:
wget
to retrieve artifacts.nginx
or a similar web server, to serve artifacts on your network.User running
wget
andnginx
must have read and write access toDEST_DIR
(default:/srv
).At least 25GB of free disk space at
DEST_DIR
.
To mirror required packages from https://downloads.eclecticiq.com, run the following script:
#!/bin/bash
read -p "Enter downloads.eclecticiq user: " EIQ_REPO_USER
read -p "Which major version are you targetting?: " MAJOR_VERSION
read -p "Which minor version are you targetting?: " MINOR_VERSION
DEST_DIR="/srv"
distro="centos" # Only 'centos' available. For all RPM-based Linux distributions
cd "${DEST_DIR}"
# Mirror packages
wget --user="${EIQ_REPO_USER}" --ask-password --mirror --convert-links -erobots=off \
https://downloads.eclecticiq.com/platform-packages-centos/3.1/ \
https://downloads.eclecticiq.com/platform-packages-centos/$MAJOR_VERSION.$MINOR_VERSION/ \
https://downloads.eclecticiq.com/intelligence-center-dependencies-rpm/$MAJOR_VERSION.$MINOR_VERSION.x/ \
https://downloads.eclecticiq.com/public/
wget --user="${EIQ_REPO_USER}" --ask-password --mirror --convert-links -erobots=off -A "*-$MAJOR_VERSION\.$MINOR_VERSION\.*\.tar\.gz*"\
https://downloads.eclecticiq.com/Extensions/
# Clean up mirrored artifacts
find /srv/downloads.eclecticiq.com -name index.html -delete
This saves artifacts required to install
EclecticIQ Intelligence Center to DEST_DIR
.
Serve mirrored packages over the network#
After mirroring the packages, you must serve them over HTTP/S on your network to allow package managers to access it.
Tip
For information on how to configure nginx
,
see nginx: Creating NGINX Plus and NGINX Configuration Files.
The following is an example nginx
configuration that
serves the contents of /srv/downloads.eclecticiq.com
over HTTP at http://eclecticiq-repo-mirror.example.local
.
For a test deployment, replace the contents of the server
block in /etc/nginx/sites-enabled/default
with the following:
server {
server_name eclecticiq-repo-mirror.example.local;
listen 80;
root /srv/downloads.eclecticiq.com;
autoindex on;
}
Caution
The above nginx configuration snippet
configures your nginx server to serve the contents
of /srv/downloads.eclecticiq.com
through HTTP.
For production, you should update this to use HTTPS with trusted TLS certificates instead.
Use the mirror#
Make sure your package manager entries for EclecticIQ packages on the target installation host use the mirror you’ve set up instead of https://downloads.eclecticiq.com. This section provides brief instructions on where to do this for EclecticIQ Installations.
EclecticIQ installation playbooks#
When using Installation playbooks 3.x,
you must edit the group_vars/all/config.yml
and
replace or set the values of these keys:
eiq_ic_base__repos_protocol: "https" # Change to `http` for unsecured connections.
eiq_ic_base__repos_domain: "eclecticiq-repo-mirror.example.local" # Base URL of mirror. Depends on nginx configuration.
extensions_repo_protocol: "https" # Change to `http` for unsecured connections.
extensions_repo_domain: "eclecticiq-repo-mirror.example.local" # Base URL of mirror. Depends on nginx configuration.
eiq_ic__extensions_repo_protocol: "http"
eiq_ic__extensions_repo_domain: "eclecticiq-repo-mirror.example.local" # Base URL of mirror. Depends on nginx configuration.
eiq_ic__extensions_repo_path: "/Extensions"
# Required for unsecured connections e.g. HTTP
eiq_ic__extensions_pip_extra_args: "--trusted-host=eclecticiq-repo-mirror.example.local"
Once done, running the EclecticIQ installation playbooks will install packages from your mirror instead.
Manual install (deprecated)#
Tip
Use EclecticIQ installation playbooks instead.
When performing a manual install,
you must set the baseurl
key of the configured YUM
repository
files to use your mirror instead.
To do this, during
Set up the repositories Rocky Linux,
in the Repository paths and Extension repository paths sections,
make sure that the environment variables are changed
so that the resulting .repo
files
use the mirror instead.
Change these environment variables before following instructions in the Set up repository configuration files section:
repos_protocol="https" # Change to `http` for unsecured connections.
repos_root="eclecticiq-repo-mirror.example.local" # Base URL of mirror. Depends on nginx configuration.
extensions_repo_protocol="https" # Change to `http` for unsecured connections.
extensions_repo_domain="eclecticiq-repo-mirror.example.local" # Base URL of mirror. Depends on nginx configuration.
Caution
To install extensions over an unsecured HTTP connection, you must run pip
with the additional option --trusted-host=<URL_of_your_mirror>
.
Rundoc (deprecated)#
Tip
Use EclecticIQ installation playbooks instead.
The following example uses the rundoc installation script to use your mirror:
wget http://eclecticiq-repo-mirror.example.local/platform-rundoc/eclecticiq-install-3.0.x-99.sh
chmod +x eclecticiq-install-3.0.x-99.sh
./eclecticiq-install-3.0.x-99.sh --offline http://eclecticiq-repo-mirror.example.local
You can point to your repository mirror also to retrieve the
packages to install extensions.
Example:
Caution
To install extensions over an unsecured HTTP connection, you must run pip
with the additional option --trusted-host=<URL_of_your_mirror>
.
/opt/eclecticiq-platform-backend/bin/pip install -f http://eclecticiq-repo-mirror.example.local/Extensions eclecticiq-extension-crowdstrike