Last updated
Was this helpful?
Last updated
Was this helpful?
To install the HQ from the archive you must:
Extract the archive
Configure the HQ
Start the HQ
Installation link
Link to archives can be found here:
Extract the archive using the following command
Inside the extract archive, you will find.
In order to properly configure HQ, one core components is necessary as prerequirement:
To set up authentication, there are multiple methods available.
You can choose between:
password-based authentication, which requires users to provide a username and password;
and SAML/SSO (Single Sign-On) authentication, which allows users to authenticate through an external identity provider for a seamless and secure login experience.
Both password based and SAML / SSO authentication methods can be used alongside each other.
First to cover is users property.
Users Property: The users
property is defined as an array, where each entry includes a username
and a password
. The passwords are hashed using bcrypt for security purposes, ensuring that they are stored securely.
Second to cover will be administrators. It serves as definition of user emails which will have highest level of permissions upon authentication to HQ.
If you have meticulously followed all the outlined steps, your config.yaml file should mirror the example provided below, fully configured and ready for deployment. This ensures your system is set up correctly with all necessary settings for authentication, database connection, and other configurations optimally defined.
Start Lenses by running:
or pass the location of the config file:
If you do not pass the location of the config file, the HQ will look for it inside the current (runtime) directory. If it does not exist, it will try its installation directory.
To stop HQ, press CTRL+C.
If your server uses systemd as a Service Manager, then manage the Agent (start upon system boot, stop, restart). Below is a simple unit file that starts the Agent automatically on system boot.
After the successful configuration and installation of HQ, the next steps would be:
Full auth configuration spec can be found .
More about setting up TLS can be read . Full http configuration spec can be found .
More about setting up TLS can be read .
Full database configuration spec can be found .
Once HQ starts, it will be listening on the
auth:
users:
- username: admin
password: $2a$10$F66cb6ZhnJjGCZuxlvKP1e84eytTpT1MDJcpBblHaZgsqp1/Aa0LG # bcrypt("correcthorsebatterystaple").
administrators:
- admin
- admin@example.com
saml:
enabled: true
metadata: |-
<?xml version="1.0" encoding="UTF-8"?><md:EntityDescriptor>
...
...
</md:EntityDescriptor>
# Defines base URL of HQ for IdP redirects
baseURL: https://changeme.com # <--- Change this
# Defines globally unique identifier for the SAML entity
# — either the Service Provider (SP) or Identity Provider (IdP)
# It's often a URL, but it doesn't necessarily need to resolve to anything
entityID: https://example.com # <--- Change this
userCreationMode: sso
groupMembershipMode: sso
http:
address: :8080
accessControlAllowOrigin:
- https://example.com
accessControlAllowCredentials: false
secureSessionCookies: false
tls:
enabled: true
cert: |
-----BEGIN CERTIFICATE-----
MIIDXTCCAkWgAwIBAgIJALkNfT3d1N8tMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
BAYTAlVTMRYwFAYDVQQKEw1FeGFtcGxlIENlcnQwHhcNMjUwMzI2MDAwMDAwWhcN
MzUwMzIzMDAwMDAwWjBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNZXhhbXBsZS5j
b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5D3jXq5JnE9NnRJ8N
...
-----END CERTIFICATE-----
key: |
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASC...
...
-----END PRIVATE KEY-----
http:
address: :8080
accessControlAllowOrigin:
- https://example.com
accessControlAllowCredentials: false
secureSessionCookies: false
tls:
enabled: false
agents:
address: :10000
tls:
enabled: true
cert: |
-----BEGIN CERTIFICATE-----
MIIDXTCCAkWgAwIBAgIJALkNfT3d1N8tMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
BAYTAlVTMRYwFAYDVQQKEw1FeGFtcGxlIENlcnQwHhcNMjUwMzI2MDAwMDAwWhcN
MzUwMzIzMDAwMDAwWjBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNZXhhbXBsZS5j
b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5D3jXq5JnE9NnRJ8N
...
-----END CERTIFICATE-----
key: |
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASC...
...
-----END PRIVATE KEY-----
agents:
address: :10000
tls:
enabled: false
database:
host: postgres:5432
username: panoptes
password: password
database: panoptes
schema: insert-schema-here
# Params example - not required and it depends on your PG requirements
params:
sslmode: require
license_key_2SFZ0BesCNu6NFv0-EOSIvY22ChSzNWXa5nSds2l4z3y7aBgRPKCVnaeMlS57hHNVboR2kKaQ8Mtv1LFt0MPBBACGhDT5If8PmTraUM5xXLz4MYv
license:
key: license_key_*
acceptEULA: true
auth:
users:
- username: admin
password: $2a$10$F66cb6ZhnJjGCZuxlvKP1e84eytTpT1MDJcpBblHaZgsqp1/Aa0LG # bcrypt("correcthorsebatterystaple").
administrators:
- admin
- admin@example.com
saml:
enabled: true
metadata: |-
<?xml version="1.0" encoding="UTF-8"?><md:EntityDescriptor>
...
...
</md:EntityDescriptor>
baseURL: https://example.com
entityID: https://example.com
userCreationMode: sso
groupMembershipMode: sso
http:
address: ":8080"
accessControlAllowOrigin:
- https://example.com
agents:
address: ":10000"
database:
host: postgres:5432
username: panoptes
password: password
database: panoptes
schema: insert-schema-here
params:
sslmode: require
license:
key: license_key_*
acceptEULA: true
logger:
mode: text
level: debug
./lenses-hq
./lenses-hq config.yaml
[Unit]
Description=Run HQ service
[Service]
Restart=always
User=[LENSES-USER]
Group=[LENSES-GROUP]
LimitNOFILE=4096
WorkingDirectory=/opt/lenses-hq
ExecStart=/opt/lenses-hq /etc/lenses-hq/config.yaml
[Install]
WantedBy=multi-user.target
This page describes the install of the Lenses Agent via an archive on Linux.
tar -xvf lenses-hq-linux-amd64-latest.tar.gz -C lenses-hq
lenses-hq
├── lenses-hq