Commit 0c95d933 authored by threedytech's avatar threedytech
Browse files

release: 3.0

parent e31949c6
......@@ -7,22 +7,12 @@ instant3Dhub on Docker Compose
Warning / Read First
********************************************
This is a development snapshot of the upcoming main version 3 of instant3Dhub.
This version includes a reduced set of features and misses functionalities that will be included in the full release version.
Obviously this should not be used in a productive environment or with sensitive data.
We value Docker-Compose as a lightweight, rapid development alternative to our Helm deploy format.
However for aspects like Scaling Security and Integration into the latest orchestration tools landscape we recommend our Kubernetes deploy format.
However for aspects like Scaling, Security and Integration into the latest orchestration tools landscape we recommend our Kubernetes deploy format.
Here is a non-extensive list of these functionalities:
* **Stability**: Implementation and consolidation is not completed at this point and the system is in a highly experimental state. At this state it should only be used for integration testing and helping the development team by providing feedback.
* **External DB use**: The system currently only works with the packaged database containers. In a future update more configuration will be exposed.
* **Gateway integration**: Currently not included with our Docker-Compose deploy.
* **Secret Handling**: Currently access information to the local database and message queue are stored as plain-text.
* **HTTPS**: HTTPS is not supported inside the cluster or at the gateway. Even in the release version we will not recommend the use of HTTPS within the cluster, but provide a wider range of possibilities to secure the cluster access itself. Currently HTTPS can be used by adding a proxy outside of the cluster or as a sidecar on the apigw component.
* **Services**: Currently only the SharedSession and Measurement services are enabled. This means a range of functionalities will not be available in webvis and other API-libraries.
* **Security/Signatues**: The third main version instant3Dhub is designed to include security on all layers of the system like controlling the access to the management APIs, resource APIs, the services or the data that goes through the system. At this stage there are still some lose ends on the implementation side and most of these features are disabled.
* **Volumes** : Currently our Docker-Compose deploy uses local volumes. Other possiblities for data mounts will be added later.
* **Services**: Currently only the SharedSession, SessionStore, Measurement and Query services are enabled. This means a range of functionalities will not be available in webvis and other API-libraries.
* **Security/Signatues**: The third main version instant3Dhub is designed to include security on all layers of the system like controlling the access to the management APIs, resource APIs, the services or the data that goes through the system. It is not yet possible to configure custom keys.
* **Volumes** : Currently our Docker-Compose deploy uses local volumes.
********************************************
Installation
......@@ -30,114 +20,34 @@ Installation
The instant3Dhub Docker-Compose deployment is based on `Docker-Compose v2 <https://docs.docker.com/compose/compose-file/compose-file-v2/>`_ Files.
Requirements
============================================
* Docker: v20.10.2
* Docker-Compose: v1.25.0
Newer versions on minor level might work, but were not tested!
Overview
--------------------------------------------
The installation of instant3Dhub consists of three phases:
#. **Provisioning**: First the server and required resources need to be set up
#. **Configuration**: instant3Dhub needs to be configured to integrate correctly with the infrastructure
#. **Startup**: Finally the system is applied to the server or passed to a GitOps pipeline
Phase 1: Provisioning
--------------------------------------------
To following resources have to be provisioned to enable the cluster to run instant3Dhub
* License Server
* Image Registry
* Storage
* Database (optional)
.. _`License Server`:
License Server
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
A instant3Dhub License Server needs to be accessible by the server our Docker-Compose deploy is run at.
The license server can not be run in virtualized environments. A guide on how to set up the license server can be found `here <./LICENSE_SERVER.md>`_
Image Registry
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
We encourage transfering all containers referenced by our Docker-Compose or Helm deploys into a local selfmanaged image repository.
To load the images into the registry you can use tools like `skopeo <https://github.com/containers/skopeo>`_ or `docker <https://docs.docker.com/engine/reference/commandline/cli/>`_.
The references contain an example script to fill the local image registry.
The images of instant3Dhub are provided on a public registry: `instant3Dhub-images <https://images.threedy.io>`_
**It is highly discouraged to use the public registry for direct access by the nodes!**
#. **Provisioning**: First the server and required resources need to be set up. For more information refer `here <./INSTALL_REQUIREMENTS.rst>`_
#. **Configuration**: instant3Dhub needs to be configured to integrate correctly with the infrastructure.
#. **Startup**: Finally the system is applied to the server or passed to a GitOps pipeline.
If you can not use an image registry, the nodes of the cluster can also be provisioned proactively. For more information see: `Pre-pulled images <https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod>`_
Storage
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
instant3Dhub via docker-compose requires a set of volumes for persistency and data exchange between services in the system.
For our Docker-Compose deploy we currently only use locally bound volumes.
The following volumes are defined inside the compose file and required to run instant3Dhub:
=================================== ======= =======================================================================
Name Size Description
----------------------------------- ------- -----------------------------------------------------------------------
cache_volume 20GB Stores the caches. Size can be configured. (grows depending on used data)
postgres_volume 5GB Stores cache metadata and indices. Is 25% of the cache size.
elastic_volume 5GB Log data. Currently fixed size.
entrygw_volume 2GB Code-on-demand distribution. Fixed size.
rabbitmq_volume 1GB Event / Transaction data. Fixed size.
=================================== ======= =======================================================================
Database
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
instant3Dhub relies on the use of PostgreSQL database.
Currently instant3Dhub deploys an own instance within its containers. The use of external databases will be enabled in a future release.
So at this moment, no further steps need to be taken.
Phase 2: Configuration
Configuration
--------------------------------------------
The instant3Dhub Docker-Compose deployment utilizes a set of shellscripts.
A set of variables needs to be setup in your environment before startup.
.. code-block:: JSON
export DEPLOY_HOSTNAME=192.168.123.123;
export PROJECT_NAME=instant3Dhub_deploy;
export IMAGE_REGISTRY_HOST=your.docker.registry:1234;
export LICENSE_SERVER_URL=http://license.server.host:8200;
export HUB_BASE_PORT=20800;
**DEPLOY_HOSTNAME**: This should be the address used to reach the docker-compose host. Internal components will use this address to link our exported webcomponents back to the instant3Dhub components.
The instant3Dhub Docker-Compose deployment is arranged to be as similar to our helm deploy as possible.
A set of variables need to be set in your environment before startup.
Please take reference in ./reference/compose/
**PROJECT_NAME**: Used namespace and docker component names.
The following required to be set and dependent on the environment:
**IMAGE_REGISTRY**: This should point to your own docker image registry. Container names and tags are predefined inside the script, only this IMAGE_REGISTRY part can and must be changed.
* entrypoint: The list of URLs from which the system is reachable from outside the cluster.
* registry: The URI to the container image registry. When you use pre-pulled images remove this entry.
* licenseServer: The cluster internal URL to the instant3Dhub `License Server`_
**LICENSE_SERVER_URL**: The License server must be reachable from within our containers. For more information referr `here <./LICENSE_SERVER.md>`_
**HUB_BASE_PORT**: instant3Dhub via docker-compose hosts all component ports directly to the external hosts interface. Currently we reserve a range of 400 ports for this. At a later point in development we will put these behind a gateway.
Phase 3: Startup
Startup
--------------------------------------------
Utilize the following script in ./reference/compose/compose/scripts/
invoke full.sh to initialize all compose templates and start the docker-compose deploy.
Utilize the following scripts in ./reference/compose/
A printout should tell you how to reach webVis.
After all containers are running the system might take up to one minute to initialize correctly.
For an easy overview of the docker-compose deploy status use the watch.sh script.
####################################################
Guide: running instant3Dhub with external PostgreSQL
####################################################
********************************************
Read First
********************************************
instant3Dhub comes packaged with PostgreSQL. This guide explains how to provision a separate PostgreSQL instance.
It is advised to remove the PostgresSQL services from your deploy configuration if you choose to host your own PostgresSQL instance.
Although this might look similar to the LicenseServer install, it uses a different set of Ansible playbooks and does other things.
***********************************************
Installation
***********************************************
In order to run an external PostgreSQL with instant3Dhub you need Ansible.
If you need guidance on how to install Ansible please refer to our Ansible install `guide <./TOOLS_ANSIBLE.rst>`_.
The archive containing the Ansible-playbooks can be found in ./init/postgres/instant3Dhub-ansibledb-noarch-*.tgz
Install PostgreSQL
=============================================
In the following documentation we assume that the PostgreSQL is installed on the same host as the ansible control host.
For that reason the following inventory is a localhost inventory.
First unzip the provided instant3Dhub-ansible-noarch-\*.tgz
.. code-block::
tar zxvf ./instant3Dhub-ansible-*.tgz
The folder where this is extracted should now contain a ./PostgreSQL/ folder aswell as ./inventories/ containing example Ansible Inventories.
Create the following hosts.yml:
.. code-block::
hubs:
hosts:
localhost:
vars:
ansible_connection: local
Invoke the playbooks:
.. code-block::
ansible-playbook -i hosts.yml ./PostgreSQL/pgsql.install.i3dhub3.yml
ansible-playbook -i hosts.yml ./PostgreSQL/pgsql.init.i3dhub3.yml
This installs and initializes a PostgreSQL instance.
......@@ -4,21 +4,15 @@ instant3Dhub on Kubernetes
********************************************
Warning / Read First
Read First
********************************************
This is a development snapshot of the upcoming main version 3 of instant3Dhub.
This version includes a reduced set of features and misses functionalities that will be included in the full release version.
Obviously this should not be used in a productive environment or with sensitive data.
Here is a non-extensive list of these functionalities:
Here is a non-extensive list of functionalities:
* **Stability**: Implementation and consolidation is not completed at this point and the system is in a highly experimental state. At this state it should only be used for integration testing and helping the development team by providing feedback.
* **External DB use**: The system currently only works with the packaged database containers. In a future update more configuration will be exposed.
* **Gateway integration**: Similarly currently no configuration options are available to replace the packaged gateway. Technically this is possible, even in the current version. But we can't provide support on how to correctly configure that at the moment.
* **Secret Handling**: Currently access information to the local database and message queue are stored as plain-text.
* **HTTPS**: HTTPS is not supported inside the cluster or at the gateway. Even in the release version we will not recommend the use of HTTPS within the cluster, but provide a wider range of possibilities to secure the cluster access itself. Currently HTTPS can be used by adding a proxy outside of the cluster or as a sidecar on the apigw component.
* **Services**: Currently only the SharedSession and Measurement services are enabled. This means a range of functionalities will not be available in webvis and other API-libraries.
* **Security/Signatues**: The third main version instant3Dhub is designed to include security on all layers of the system like controlling the access to the management APIs, resource APIs, the services or the data that goes through the system. At this stage there are still some lose ends on the implementation side and most of these features are disabled.
* **External DB use**: The system can optionally work with a previously provisioned PostgreSQL instance. This instance must be set up manually via Ansible.
* **HTTPS**: HTTPS is not supported inside the cluster or at the gateway. Currently HTTPS can be used by adding a proxy outside of the cluster or as a sidecar on the apigw component.
* **Services**: Currently only the SharedSession, SessionStore, Measurement and Query services are enabled. This means a range of functionalities will not be available in webvis and other API-libraries.
* **Security/Signatues**: The third main version instant3Dhub is designed to include security on all layers of the system like controlling the access to the management APIs, resource APIs, the services or the data that goes through the system. It is not yet possible to configure custom keys.
********************************************
......@@ -27,15 +21,6 @@ Installation
The instant3Dhub Kubernetes deployment is based on `Helm <https://helm.sh/>`_ Charts.
Requirements
============================================
* Kubernetes: v1.18
* kubectl: v1.18
* helm (CLI): v3.4.0
Newer versions on minor level might work, but were not tested!
Overview
--------------------------------------------
......@@ -44,101 +29,28 @@ The installation of instant3Dhub consists of three phases:
#. **Configuration**: instant3Dhub needs to be configured to integrate correctly with the infrastructure
#. **Startup**: Finally the system is applied to the cluster or passed to a GitOps pipeline
Phase 1: Provisioning
--------------------------------------------
To following resources have to be provisioned to enable the cluster to run instant3Dhub
* License Server
* Image Registry
* Storage (e.g. PersistentVolumes)
* Database (optional)
* Gateway (optional)
.. _`License Server`:
License Server
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
A instant3Dhub License Server needs to be available separately to the cluster and accessible by the cluster components.
The license server can not be installed inside the cluster. A guide on how to set up the license server can be found `here <./LICENSE_SERVER.md>`_
Image Registry
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The easiest way to deliver images to the nodes of the cluster is by letting kubernetes pull the images on demand from a local image registry. This is the straight forward way and generally recommended.
To load the images into the registry you can use tools like `skopeo <https://github.com/containers/skopeo>`_ or `docker <https://docs.docker.com/engine/reference/commandline/cli/>`_.
The references contain an example script to fill the local image registry.
The images of instant3Dhub are provided on a public registry: `instant3Dhub-images <https://images.threedy.io>`_
**It is highly discouraged to use the public registry for direct access by the nodes!**
If you can not use an image registry, the nodes of the cluster can also be provisioned proactively. For more information see: `Pre-pulled images <https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod>`_
Storage
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
instant3Dhub requires a set of volumes for persistency and data exchange between multiple pods in the system.
The Helm Chart comes with a set of PersistentVolumeClaim definitions, for which the infrastructure has to provide PersistentVolumes and a StorageClass resource.
The references contain an example for the PersistentVolume and StorageClass definitions in `./references/helm/pv.yml <./reference/helm/pv.yml>`_.
The following volumes are required to run instant3Dhub:
=================================== ======= =======================================================================
Name Size Description
----------------------------------- ------- -----------------------------------------------------------------------
i3dhub-$RELEASE_NAME-cache-pv 20GB Stores the caches. Size can be configured.
i3dhub-$RELEASE_NAME-postgres-pv 5GB Stores cache metadata and indices. Is 25% of the cache size.
i3dhub-$RELEASE_NAME-elastic-pv 5GB Log data. Currently fixed size.
i3dhub-$RELEASE_NAME-entrygw-pv 2GB Code-on-demand distribution. Fixed size.
i3dhub-$RELEASE_NAME-rabbitmq-pv 1GB Event / Transaction data. Fixed size.
=================================== ======= =======================================================================
$RELEASE_NAME should be replaced with the name that is used for the instance. This name is also used for the claims to control the mapping to the PersistentVolumes.
Database
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
instant3Dhub relies on the use of PostgreSQL database.
Currently instant3Dhub deploys an own instance within its pods. The use of external databases will be enabled in a future release.
So at this moment, no further steps need to be taken.
Gateway
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
A gateway is required to enable the instant3Dhub libraries to connect to the microservices in the cluster.
The easiest way to get started is to use the packaged apigw, which is deployed and configured by default.
If that does not satisfy the requirements a custom solution can be set up. Since this is highly individual, please approach your Threedy contact for support.
Phase 2: Configuration
Configuration
--------------------------------------------
The instant3Dhub deployment is based on a standard Helm Chart in *./helm*. All required changes should be placed in the values file: *./helm/values.yaml*.
The values in section 1 are required to be set and dependent on the environment:
* entryHost: The URI to the proxy or any cluster node
* registry: The URI to the container image registry. When you use pre-pulled images remove this entry
* licenseServer: The URI to the instant3Dhub `License Server`_
* entrypoint: The list of URLs from which the system is reachable from outside the cluster.
* registry: The URI to the container image registry. When you use pre-pulled images remove this entry.
* licenseServer: The cluster internal URL to the instant3Dhub `License Server`_
Phase 3: Startup
Startup
--------------------------------------------
The simplest way to actually start instant3Dhub is with helm. We highly recommend to put the instant3Dhub instance to a dedicated namespace.
The name of the deployment must match the release set in the PersistentVolumes.
To start it with helm use
To start with helm use:
``helm install -n $RELEASE_NAME $RELEASE_NAME``
The startup and initialization of all containers can take a few minutes, depending on your cluster and registry connection speed.
To check the status of the containers run
To check the status of the containers run:
``watch kubectl get pods -n $RELEASE_NAME``
After all containers are running the system might take up to one minute to initialize correctly.
################################################
Guide: running instant3Dhub with Proxy
################################################
********************************************
Read First
********************************************
This section contains a configuration examples for instant3Dhub with a proxy aswell as an example configuration for nginx.
Use the nginx configuration at your own risk. This nginx configuration has no security.
We support SSO mechanisms via cookie passthrough. Our backends authenticate to data backends via cookies or other custom HTTP headers.
instant3Dhub Configuration
--------------------------------------------
Our deploys require a small set of variables which must be set for minimal deployments.
This is done by adjusting the entrypoints variable either in our helmcharts or docker-compose variants to the
external address under which the installation should run.
As an example, if the installation should run under a different path on a proxy server the entrypoints should be set as the full URL: https://example-proxy-server/extra/path/
This way internal components which deliver our webfrontend already know how to deliver addresses to get back to the the backend.
.. code-block::
#inside Values.yml
entrypoints: [ "https://example-proxy-server/extra/path/" ]
For convenience we provide a nginx configuration as a reference below. It assumes the installation is running on 146.140.211.12:30101 and proxies anything under /hubproxy/ to the instance.
.. code-block::
user nginx;
worker_processes 3;
error_log /var/log/nginx/error.log info;
events {
worker_connections 10240;
}
http {
access_log /var/log/nginx/access.log;
server {
client_max_body_size 100M;
listen 80;
proxy_read_timeout 7d;
proxy_http_version 1.1;
location ~ /hubproxy/(.*) {
proxy_pass http://146.140.211.12:30101/$1$is_args$args;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
client_body_temp_path /var/cache/nginx/client_body_temp;
proxy_temp_path /var/cache/nginx/proxy_temp;
fastcgi_temp_path /var/cache/nginx/fastcgi_temp;
uwsgi_temp_path /var/cache/nginx/uwsgi_temp;
scgi_temp_path /var/cache/nginx/scgi_temp;
}
}
#########################
instant3Dhub requirements
#########################
********************************************
Read First
********************************************
This section contains a general overview of container resource requirement assumptions is shown.
These specifications are based upon measurements of average CAD Data encountered in various scenarios in the Automotive and BIM industry.
Depending on input data sizes these values may need to be adjusted.
As it is difficult to give a one fits all recommendation we do not enforce any limits or requests in k8s or compose as of yet.
Storage requirements are given as a minimum.
Provisioning
--------------------------------------------
To following resources have to be provisioned to enable the cluster to run instant3Dhub
* Docker-Compose / Helm & k8s
* License Server
* Image Registry
* Storage
* Compute
* Database (optional)
Docker-Compose Requirements
============================================
* Docker: v20.10.2
* Docker-Compose: v1.25.0
K8s Requirements
============================================
* Kubernetes: v1.18
* kubectl: v1.18
* helm (CLI): v3.4.0
PostgreSQL Requirements
============================================
* PostgreSQL: v9.2 (Tested: 10 and 13)
Newer versions on minor levels might work, but were not tested!
.. _`License Server`:
License Server
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
To run an instant3Dhub installation access to an instant3Dhub License Server is required. The license server is installed separately from the instant3Dhub instance and can be shared with other instant3Dhub instances.
A guide on how to set up the license server can be found `here <./LICENSE_SERVER.md>`_
Image Registry
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
We encourage transfering all containers referenced by our Docker-Compose or Helm deploys into a local selfmanaged image repository.
To load the images into the registry you can use tools like `skopeo <https://github.com/containers/skopeo>`_ or `docker <https://docs.docker.com/engine/reference/commandline/cli/>`_.
The references contain an example script to fill the local image registry.
The images of instant3Dhub are provided on a public registry: `instant3Dhub-images <https://images.threedy.io>`_
**It is highly discouraged to use the public registry for direct access by the nodes!**
If you can not use an image registry, the nodes of the cluster can also be provisioned proactively. For more information see: `Pre-pulled images <https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod>`_
Storage
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
instant3Dhub requires a set of volumes for persistency and data exchange between services in the system.
For our Docker-Compose deploy we currently only use locally bound volumes.
Kubernetes volumes need to be configured in your backend. Our helm charts come with PersistentVolumeClaims which need to be satisfied for basic functionality.
Examples for PersistentVolume definitions can be found in ./reference/volumes/pv_kubectl.yml. These need to be adjusted for your deploy.
The following non ephemeral volumes are defined and required to run instant3Dhub:
=================================== ======= =======================================================================
Name Size Description
----------------------------------- ------- -----------------------------------------------------------------------
cache_volume 20GB Stores the caches. Size can be configured. (grows depending on used data)
postgres_volume 5GB Stores cache metadata and indices. Is 25% of the cache size.
elastic_volume 5GB Log data. Currently fixed size.
entrygw_volume 2GB Code-on-demand distribution. Fixed size.
rabbitmq_volume 1GB Event / Transaction data. Fixed size.
=================================== ======= =======================================================================
Compute
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Names of services and concepts reference terms from Helm/Kubernetes.
We do not recommend using docker-compose in environments where strict resource management and deploy level stability is required.
As stated before the following figures should not be used as request or limits without further consideration.
When it comes to compute requirements we can generally speak of 3 categories.
First we have third party services like PostgreSQL or the ELK stack.
=================== =========== =========== =========== ===========
Name RAM-Request RAM-Limit CPU-Request CPU-Limit
------------------- ----------- ----------- ----------- -----------
Consul 50MB 100MB 0,05 0,3
Elastic 1500M 2000MB 1,00 2,0
Kibana 400MB 600MB 0,5 1,00
PostgreSQL 1500MB 3000MB 1,0 2,0
Jaeger-collector 40MB 40MB 0,05 0,05
Jaeger-query 30MB 30MB 0,05 0,05
Rabbitmq 600MB 1000MB 0,5 1,0
=================== =========== =========== =========== ===========
Second are our microservices for infrastructure tasks.
These are small lightweight executables.
=================== =========== =========== =========== ===========
Name RAM-Request RAM-Limit CPU-Request CPU-Limit
------------------- ----------- ----------- ----------- -----------
Adminsvc 50MB 50MB 0,05 0,05
Entrygw 50MB 50MB 0,05 0,05
Apigw 50MB 50MB 0,05 0,05
Measurementgw 50MB 50MB 0,05 0,05
Transcodergw 80MB 120MB 0,5 0,75
Querygw 50MB 50MB 0,05 0,05
Resourcegw 200MB 400MB 0,25 0,5
Sessionstoregw 50MB 50MB 0,05 0,05
Sharedsessiongw 50MB 50MB 0,05 0,05
=================== =========== =========== =========== ===========
Third are our worker services.
Depending on the input data these services might require an elevated amount of compute resources.
=================== =========== =========== =========== ===========
Name RAM-Request RAM-Limit CPU-Request CPU-Limit
------------------- ----------- ----------- ----------- -----------
Transcodersvc 4000MB 16000MB 1,0 4,0
Measurementsvc 1500M 2000MB 1,0 2,0
Querysvc 400MB 600MB 0,5 1,0
Deliverysvc 400MB 600MB 0,5 1,0
=================== =========== =========== =========== ===========
Database
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
For all Database purposes instant3Dhub relies on the use of PostgreSQL.
instant3Dhub deploys a PostgresSQL instance within its containers. The use of external databases is explained `here <./INSTALL_EXT_POSTGRES_GUIDE.rst>`_ .
......@@ -2,46 +2,36 @@
instant3Dhub License Server
############################################
********************************************
Read First
********************************************
!!! Previous installations of the LicenseServer must be uninstalled before installing instant3Dhub 3.0 !!!
A instant3Dhub License Server needs to be accessible by the servers instant3Dhub is running on.
The license server can not be run in container environments as it is bound to a host machine.
Although this might look similar to the external PostgreSQL install, it uses a different set of Ansible playbooks.
Installation
***********************************************
The instant3Dhub License Server is installed from rpm files.
Configuration is done via Ansible. If you need guidance on how to install Ansible please refer to our Ansible install `guide <./TOOLS_ANSIBLE.rst>`_.
The package can be downloaded here:
Installation Package
============================================
Currently only packages for centos 7 are supported.
The installation requires two packages, the OS dependent
license server package:
* CentOS 7 : `instant3Dhub-licenseServer-CentOS-Linux-7-x64\*.rpm <https://dev0.threedy.io/repository/instant3Dhub_raw/3.0_rc2/instant3Dhub-licenseServer-CentOS-Linux-7-x64.3.0.0.3107rc2.rpm>`_
* SLES-12.3 : `instant3Dhub-licenseServer-SLES-12.3-x64\*.rpm <https://dev0.threedy.io/repository/instant3Dhub_raw/3.0_rc2/instant3Dhub-licenseServer-SLES-12.3-x64.3.0.0.3107rc2.rpm>`_
* CentOS 7 : `instant3Dhub-licenseServer-CentOS-Linux-7-x64\*.rpm <https://repo.threedy.io/repository/instant3Dhub_raw/licenseServer/instant3Dhub-licenseServer-CentOS-Linux-7-x64.21.3.rpm>`_
* SLES-12.3 : `instant3Dhub-licenseServer-SLES-12.3-x64\*.rpm <https://repo.threedy.io/repository/instant3Dhub_raw/licenseServer/instant3Dhub-licenseServer-SLES-12.3-x64.21.3.rpm>`_
* Fedora 23 : `instant3Dhub-licenseServer-Fedora-23-x64\*.rpm <https://repo.threedy.io/repository/instant3Dhub_raw/licenseServer/instant3Dhub-licenseServer-Fedora-23-x64.21.3.rpm>`_
* Fedora 29 : `instant3Dhub-licenseServer-Fedora-29-x64\*.rpm <https://repo.threedy.io/repository/instant3Dhub_raw/licenseServer/instant3Dhub-licenseServer-Fedora-29-x64.21.3.rpm>`_
and the ansible roles to install and initialize the database:
* `instant3Dhub-ansible-noarch-\*.tgz <https://dev0.threedy.io/repository/instant3Dhub_raw/3.0_rc2/instant3Dhub-ansible-noarch-3.0.0.3107rc2.tgz>`_
Install Ansible
============================================
For now we assume that we are on a clean centos 7 as root.
.. code-block::
yum -y update
yum -y install epel-release
yum -y update
(update cache)
.. code-block::
yum -y install ansible
ansible --version
should show ansible 2.9.10
later versions should be fine aswell
* `instant3Dhub-ansible-noarch-\*.tgz <https://repo.threedy.io/repository/instant3Dhub_raw/licenseServer/instant3Dhub-ansibledb-noarch-21.3.tgz>`_
Install License Server DB: (utilizes ansible)
=============================================
......@@ -51,8 +41,8 @@ the same machine. If this is the case the port and socket directory used by
the license database postrgres cluster must be changed from 5433 to another
port, for example to 5435 and /var/run/instant3DhubLicensePgsql.
In the following documentation we assume that the License Server is installed on the same host thats used as ansible control host.
For that reason the following inventory is a localhost inventory. At a later point more variations will be covered in a well formated documentation.
In the following documentation we assume that the License Server is installed on the same host used as the ansible control host.
For that reason the following inventory is a localhost inventory.
First unzip the provided instant3Dhub-ansible-noarch-\*.tgz
......@@ -102,7 +92,8 @@ The output should look like this
Current Host ID: 7bf3b23f5c6ff5a444a37f2dfc42ed34f5c470df
Please provide your threedy contact with this output. In return a License Server should be provided to you.
Please provide your threedy contact or if you have no valid license agreement yet sales@threedy.io with this output to start the license key aquisition process.
In return a license file should be provided to you.
LicenseFile placement
*********************
......
############################################
instant3Dhub
instant3Dhub 3.0
############################################
This is the deployment repository for instant3Dhub. For more information about the product visit `www.threedy.io <https://www.threedy.io>`_.