<![CDATA[HyperGrid - DCHQ On-Premise v2.0 / DCHQ.io Hosted PaaS Documentation]]>Sun, 19 Feb 2017 22:25:50 -0800Weebly<![CDATA[Overview]]>Sun, 16 Aug 2015 07:13:13 GMThttp://dchq.co/dchq-on-premise-v20--dchqio-hosted-paas-documentation/overviewDCHQ is a governance, deployment automation & life-cycle management platform for Docker-based applications. The solution allows developers to model, deploy, back up, update and monitor container-based applications in seconds.

It facilitates application deployments on Linux hosts running on-premise or in the public cloud using an agent-based architecture with support for advancement placement, containers/hosts/clusters monitoring and out-of-box alerts/notifications. It automates the provisioning and auto-scaling of virtual infrastructure on 10 different cloud providers – including OpenStack, DigitalOcean, Microsoft Azure, Amazon Web Services, Google Compute Engine, Rackspace, HP Public Cloud, IBM SoftLayer, and others. It also allows development teams to standardize application stacks on Docker using an extremely intuitive interface to build multi-tier, distributed applications with support for multi-host deployments through an integration with Weave, Docker Compose, cross-image environment variable bindings, plug-in execution, application clustering and scale out.

The solution eliminates “Shadow IT” through granular access controls to data-centers, application templates, and Docker repositories (including Docker Hub, Quay, and Red Hat Registry).

]]>
<![CDATA[Quick Setup]]>Sun, 16 Aug 2015 07:07:15 GMThttp://dchq.co/dchq-on-premise-v20--dchqio-hosted-paas-documentation/quick-setupIn order to quickly get started with DCHQ On-Premise, complete the following steps:
  • Install the product either through the one-click deployment from DCHQ.io SaaS Platform or by running a shell script provided by the DCHQ team
  • (Optional) Register a Cloud Provider (e.g. OpenStack, Amazon Web Services, Google Compute Engine, Rackspace, etc.) to automate server provisioning
  • Create a Cluster and configure the placement policy, network options and auto-scale policy (optional)
  • Register an existing host as a Docker Server or create a new server on one of the registered Cloud Providers
  • Register a Docker repository (Docker Hub, Quay, or Red Hat Registry)
  • Create a simple application template or import one of the sample templates provided by the DCHQ team
  • (Optional) Create bash script plug-ins that can be executed in containers at run-time and post-provisioning or use the sample plug-ins provided by the DCHQ team
  • Request the application from the Library page
  • Click on the Live Applications tab and manage the application life-cycle
  • Schedule nightly or weekly builds by scheduling plug-in executions as a day-2 operation
]]>
<![CDATA[System Requirements]]>Sun, 16 Aug 2015 07:06:15 GMThttp://dchq.co/dchq-on-premise-v20--dchqio-hosted-paas-documentation/system-requirements1DCHQ On-Premise can be installed on any Linux host running anywhere.

Minimum requirements for CPU, Memory and Disk Space for DCHQ On-Premise running more than 1,000 containers.

2 vCPU’s

6 GB of Memory
•    2.5GB – Tomcat
•    1.5GB – PostgreSQL
•    1GB – RabbitMQ
•    0.5GB – Solr
•    0.5GB – Redis

100 GB’s of Disk Space
(for storing log files for one year)

** Docker images are pulled on the registered hosts (Docker Servers) and not on the server hosting DCHQ On-Premise

Support Linux flavors:
  • Ubuntu
  • Red Hat Enterprise Linux
  • CentOS
  • CoreOS
  • Oracle Linux
  • Red Hat Atomic
  • Photon
]]>
<![CDATA[Product Architecture]]>Sun, 16 Aug 2015 06:58:04 GMThttp://dchq.co/dchq-on-premise-v20--dchqio-hosted-paas-documentation/product-architectureDCHQ On-Premise runs on Docker containers. The application stack includes PostgreSQL, RabbitMQ, Solr, and Tomcat.
]]>
<![CDATA[Installation]]>Sun, 16 Aug 2015 06:56:26 GMThttp://dchq.co/dchq-on-premise-v20--dchqio-hosted-paas-documentation/installationDelivery through DCHQ.io Hosted PaaS
DCHQ On-Premise has been modeled as an Application Template on DCHQ.io Hosted PaaS. Upon submitting a request to the DCHQ team (founders@dchq.io), the template can be deployed on a registered Linux host.

  • Submit a request to founders@dchq.io
  • Install the DCHQ agent on the Linux host where you would like to host DCHQ On-Premise using the Docker Server ID provided by the DCHQ team.
  • Ensure that the following ports are open on your Linux host:
  • Inbound Ports
    • 5672 – for the RabbitMQ communication
  • Outbound Ports
    • 80/443
  • Run docker ps  on your Linux host to find the port mapped to Tomcat’s port 8080 and then log in to DCHQ On-Premise using admin/admin123
  • Un-install the DCHQ agent on your Linux host
  • service dchq stop
    • rm -rf /opt/dchq/
    • rm -rf /var/log/dchq/
    • rm /etc/init/dchq.conf
    • rm /etc/systemd/system/dchq.service

Run a Shell Script

A shell script has been created to run a fully-configured DCHQ. The script has been certified on Red Hat Enterprise Linux, CentOS and Ubuntu. Upon submitting a request to the DCHQ team (founders@dchq.io), the shell script will be sent within 24 hours.

  • Submit a request to founders@dchq.io
  • Run the shell script (dchq_server_install.sh) delivered as root to install DCHQ On-Premise
  • Ensure that the following ports are open on your Linux host:
  • Inbound Ports
    • 5672 – for the RabbitMQ communication
  • Outbound Ports
    • 80/443
  • Run docker ps  on your Linux host to find the port mapped to Tomcat’s port 8080 and then log in to DCHQ On-Premise (http://<DCHQ Host>:<DCHQ Tomcat Port>)
]]>
<![CDATA[Users & Roles]]>Sun, 16 Aug 2015 06:51:18 GMThttp://dchq.co/dchq-on-premise-v20--dchqio-hosted-paas-documentation/users-rolesPersonal Account vs. Enterprise Team Account
The landing page of DCHQ On-Premise allows a user to sign up for either a developer account or an enterprise team account.

The Developer Account sign up results in a request to add a new user with ROLE_USER to the default tenant. A notification is sent to the user with ROLE_CLOUD_ADMIN. The email address for new user sign up notifications can be customized during installation.

The Enterprise Account sign up results in a request to add a new user with ROLE_TENANT_ADMIN to a new tenant. A notification is sent to the user with ROLE_CLOUD_ADMIN.

  • A Developer Account allows you to automate the provisioning and auto-scaling of VM’s on almost any cloud provider or register an existing host, use out-of-box container-based templates for Java, Ruby, PHP and Python or model your own application using an extremely intuitive interface, and manage day-2 operations like backup, auto-scaling, monitoring and continuous delivery..
  • An Enterprise Account allows you to accelerate application development across development teams in your organization. As a Tenant Admin, you can create Groups and Users and control access to Docker-based application templates, builds, plug-ins repositories and data-centers. You can also enforce resource consumption policies defining the maximum amount of CPU/Memory/Containers users can consume.
The following features are available to both Enterprise & Personal Accounts:
  • Create a Cloud Provider
  • Provision a Docker Server (Host)
  • Register a Docker Server (Host)
  • Create a Data Center
  • Register a new Docker Registry
  • Create a Plug-in
  • Create Application Templates (Docker Compose, Single-Image Template and Multi-Image Template)
  • Create and schedule Builds for creating Docker images from a Dockerfile or a GitHub project
  • Run/Customize Templates from the Library
  • Perform Day-2 Actions from the Containers Page - including Stop, Start, Continuous Delivery, Destroy, Backup, Scale Out, Scale In, Plug-ins
  • Customize the Access Level for Data Centers for provisioning: Private, Everyone (for Enterprise Accounts only) or Custom Groups/Users
  • Customize the Access Level for Docker Registries for pulling/pushing images: Private, Everyone (for Enterprise Accounts only) or Custom Groups/Users
  • Customize the Access Level for Application Templates for self-service request: Private, Everyone (for Enterprise Accounts only) or Custom Groups/Users
  • Customize the Access Level for Plug-ins: Private, Everyone (for Enterprise Accounts only) or Custom Groups/Users
The Enterprise Account has access to the following features as well:
  • Get a dedicated tenant
  • Create Users
  • Create Groups
  • Create Profiles

Roles

There are three roles available in DCHQ On-Premise:

ROLE_USER
This user belongs to either:
  • Default tenant
  • A tenant created through a new Enterprise Team Account sign up

This user is able to spin up Docker-based applications on registered compute resources, register his/her own Docker repositories and data-centers, and create multi-tier application templates.

However this user is unable to create Users/Groups/Organizations/Profiles and share Data Centers or Docker Registries with All Tenant Users.

ROLE_TENANT_ADMIN
This user belongs to either:
  • Default tenant
  • A tenant created through a new Enterprise Team Account sign up
In addition to features accessible to ROLE_USER, this user is able to create Users/Groups/Organizations/Profiles and share Data Centers and Docker Registries with All Tenant Users.

ROLE_CLOUD_ADMIN
This user belongs only to the Default Tenant.

In addition to all the features accessible to ROLE_TENANT_ADMIN, this user is able to assign users with any of the available roles and receives notifications about new user sign ups.

]]>
<![CDATA[Create a Cloud Provider (Optional)]]>Sun, 16 Aug 2015 06:37:48 GMThttp://dchq.co/dchq-on-premise-v20--dchqio-hosted-paas-documentation/create-a-cloud-provider-optionalBoth personal and enterprise team account users will be given:

The ability to create a Cloud Provider, or a cloud end-point, to facilitate infrastructure provisioning and auto-scaling. The supported Cloud Providers are: OpenStack, Google Compute Engine, Rackspace, DigitalOcean, HP Cloud, Amazon Web Services, Microsoft Azure, IBM SoftLayer, CloudSigma, and ElasticHosts

OpenStack

o create a Cloud Provider for OpenStack, navigate to Repo & Cloud Provider from the Manage dropdown menu. Click on the + button and select OpenStack.

Provide values for the following and click Save:
  • Name: A unique name for this Cloud Provider
  • Endpoint URL: For example, http://ip:5000/v2.0/
  • Username: For example, tenant:username
  • Password
  • Group: This is the prefix that will be given to VM’s
  • (Optional) Flavor: The image flavor
  • (Optional) Image: The location of the image

Google Compute Engine

To create a Cloud Provider for Google Compute Engine, navigate to Repo & Cloud Provider from the Manage dropdown menu. Click on the + button and select Google Compute.

Provide values for the following and click Save:
  • Name: A unique name for this Cloud Provider
  • Client Email: This can be obtained from the “API’s and auth” section on Google’s console. Click on Credentials and then click on “Create new Client ID”. Copy and paste the “Email address”.
  • JSON Key File: This can be obtained from the “API’s and auth” section on Google’s console. Click on Credentials and then click on “Create new Client ID”. Click on “Generate new JSON key”
  • Group: This is the prefix that will be given to VM’s
  • (Optional) Machine Type: This is the machine type you can provide. For example: https://www.googleapis.com/compute/v1/projects/dchq-test/zones/us-central1-a/machineTypes/n1-standard-1
  • (Optional) Image: The location of the image. DCHQ is certified on CentOS, Ubuntu, and Red Hat Enterprise Linux. For example: https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/images/ubuntu-1410-utopic-v20150616a

Amazon Elastic Cloud Computing (EC2)

To create a Cloud Provider for Amazon EC2, navigate to Repo & Cloud Provider from the Manage dropdown menu. Click on the + button and select Amazon EC2.

Provide values for the following and click Save:
  • Name: A unique name for this Cloud Provider
  • AWSAccessKeyId: This can be obtained from the Security Credentials section in the AWS Console. Select “Access Keys (Access Key ID and Secret Access Key” then click on “Create New Access Key”
  • AWSSecretKey: This can be obtained from the Security Credentials section in the AWS Console. Select “Access Keys (Access Key ID and Secret Access Key” then click on “Create New Access Key”
  • Group: IMPORTANT – this is the Security Group ID that you would like to use for provisioning
  • (Optional) Instance Type: This is the instance type (e.g. t2.small)
  • (Optional) AMI ID: This is the ID of the AMI. For example, us-west-1/ami-df6a8b9b

Rackspace

To create a Cloud Provider for Rackspace, navigate to Repo & Cloud Provider from the Manage dropdown menu. Click on the + button and select Rackspace.

Provide values for the following and click Save:
  • Name: A unique name for this Cloud Provider
  • Region: For example, USA
  • Username: The username for logging into Rackspace
  • APIKey: This can be obtained from the Account Settings section on the Rackspace Cloud Control panel. Copy and paste the API Key.
  • Group: This is the prefix that will be given to VM’s
  • (Optional) Flavor: The image flavor. For example, general1-4
  • (Optional) Image: The location of the image. DCHQ is certified on CentOS, Ubuntu, and Red Hat Enterprise Linux. For example, IAD/09de0a66-3156-48b4-90a5-1cf25a905207.

DigitalOcean

To create a Cloud Provider for DigitalOcean, navigate to Repo & Cloud Provider from the Manage dropdown menu. Click on the + button and select DigitalOcean.

Provide values for the following and click Save:
  • Name: A unique name for this Cloud Provider
  • Username: The username for logging into DigitalOcean
  • Access Token: This can be obtained from the API section. Click on “Generate new token”.
  • Group: This is the prefix that will be given to VM’s
  • (Optional) Size: For example, 4gb
  • (Optional) Region/Image: The location of the image. DCHQ is certified on CentOS, Ubuntu, and Red Hat Enterprise Linux. For example, sfo1/Ubuntu-14-04-x64

IBM SoftLayer

To create a Cloud Provider for SoftLayer, navigate to Repo & Cloud Provider from the Manage dropdown menu. Click on the + button and select SoftLayer (IBM).

Provide values for the following and click Save:
  • Name: A unique name for this Cloud Provider
  • Username: The username for logging into Rackspace
  • API Key: This can be obtained from the Users section under Account.
  • Domain Name: This is the prefix that will be given to VM’s
  • (Optional) Instance: For example, cpu=1,memory=1024,disk=25,
  • (Optional) Datacenter/OS: The location of the image. DCHQ is certified on CentOS, Ubuntu, and Red Hat Enterprise Linux. For example, sjc01/UBUNTU_14_32

HP Public Cloud

To create a Cloud Provider for HP Cloud, navigate to Repo & Cloud Provider from the Manage dropdown menu. Click on the + button and select HP Cloud.

Provide values for the following and click Save:
  • Name: A unique name for this Cloud Provider
  • Access Key: This can be obtained from the “Manage Access Keys” section. Click on Create Key.
  • Secret Key: This can be obtained from the “Manage Access Keys” section. Click on Create Key.
  • Project ID: This is the prefix that will be given to VM’s
  • (Optional) Flavor: The image flavor.
  • (Optional) Image: The location of the image. DCHQ is certified on CentOS, Ubuntu, and Red Hat Enterprise Linux.

Microsoft Azure

To create a Cloud Provider for Microsoft Azure, navigate to Repo & Cloud Provider from the Manage dropdown menu. Click on the + button and select Microsoft Azure.

Provide values for the following and click Save:
  • Name: A unique name for this Cloud Provider
  • Subscription ID: The ID used to log into Microsoft Azure.
  • PEM: The private key
  • VM Prefix: This is the prefix that will be given to VM’s
  • (Optional) Flavor: The image flavor.
  • (Optional) Image: The location of the image. DCHQ is certified on CentOS, Ubuntu, and Red Hat Enterprise Linux

CloudSigma

To create a Cloud Provider for CloudSigma, navigate to Repo & Cloud Provider from the Manage dropdown menu. Click on the + button and select CloudSigma.

Provide values for the following and click Save:
  • Name: A unique name for this Cloud Provider
  • Region: For example, Miami, United States
  • Username
  • Password
  • Group: This is the prefix that will be given to VM’s
  • (Optional) Flavor: The image flavor.
  • (Optional) Image: The location of the image. DCHQ is certified on CentOS, Ubuntu, and Red Hat Enterprise Linux.

ElasticHosts

To create a Cloud Provider for CloudSigma, navigate to Repo & Cloud Provider from the Manage dropdown menu. Click on the + button and select CloudSigma.

Provide values for the following and click Save:
  • Name: A unique name for this Cloud Provider
  • Region: For example, US: Miami
  • Username
  • Password
  • Group: This is the prefix that will be given to VM’s
  • (Optional) Flavor: The image flavor.
  • (Optional) Image: The location of the image. DCHQ is certified on CentOS, Ubuntu, and Red Hat Enterprise Linux.
]]>
<![CDATA[Create & Monitor Data Centers (Clusters) and Docker Servers (Hosts)]]>Sat, 15 Aug 2015 23:36:54 GMThttp://dchq.co/dchq-on-premise-v20--dchqio-hosted-paas-documentation/create-monitor-data-centers-clusters-and-docker-servers-hostsCreate a Data Center
Both personal and enterprise team account users will be given:

The ability to create a Data Center, which is a collection of Docker Servers. To create a Data Center, navigate to Manage > Data Center & Cluster and then click on the + button.

When a user runs an Application Template from the library, the default Data Center is used, unless a specific Data Center is selected. The resulting application deployment would then be placed on one of Docker Servers in the selected Data Center based on one of the available placement policies:
  • Capacity – placing the Docker-based workload on a host with enough Memory, CPU and Disk Space. This policy fills up already utilized hosts before deploying the workload on under-utilized ones.
  • Random – placing the Docker-based workload on a random host
  • Round Robin – placing the Docker-based workload based on a round-robin algorithm

A user is also able to select one of the two available Networking options:
  • Docker Network – facilitates cross-container communication on the same host
  • Weave – facilitates cross-container communication on multiple hosts. IMPORTANT – once Weave is selected, then all hosts in the data center will need to use Weave for networking.

Lastly, a user is able to set up an Auto-Scale Policy to automatically provision new virtual machines if not enough compute resources are available for new Docker-based application deployments.

To enable Auto Scale, click on the Auto Scale toggle and then select:
  • Cloud Provider (e.g. AWS, Rackspace, DigitalOcean, Google Compute Engine, etc.)
  • Scale Limit – i.e. the maximum number of virtual machines to be provisioned in this auto-scale policy

An enterprise team account user (Tenant Admin) will be given:

The ability to share a Data Center for provisioning with:
  • Only Me
  • Everyone
  • Custom Groups or Users
The Solr integration allows users to locate the desired Groups or Users using full-text search.

Create a Docker Server for an Existing Host (VM)

Both personal and enterprise team account users will be given:
  • The ability to register a Linux host as a Docker Server by installing an agent using a one-line script. The host may be running in a private cloud or a public cloud (like AWS, Rackspace, Microsoft Azure, CenturyLink, vCloud Air, etc.).
  • Navigate to Manage > Bare-Metal Server & VM. Click on the + button and select Any Host/VM.
  • Provide the Name and IP Address and select one of the already created Data Centers.
  • One or multiple Environment tags can be selected to indicate which environments will run on this Docker Server. The out-of-box tags are DEV, QE, STG, BUILD and PROD.
  • An agent installation script is auto-generated once a user clicks Save. The installation script checks if Docker is already installed. If not installed, then the script will install the latest Docker Engine along with the DCHQ agent.
  • IMPORTANT -- once you have entered the IP address and selected the associated Data Center, mark the Docker Server as Active and click Save. Then run the auto-generated script as root on the newly registered Docker host.
 
Ensure that the following ports are open on your Linux host:
  • Inbound Ports
  • o    5672 – for the RabbitMQ communication
  • Outbound Ports
  • o    80/443 – to install the DCHQ agent using the curl script (curl -Ls http://<DCHQ HOST>:<DCHQ Tomcat Port>/dchq_agent_install.sh)

Create a Docker Server for one of the Registered Cloud Providers

Both personal and enterprise team account users will be given:
  • The ability to automatically create a Docker Server using one of the Cloud Providers already configured by the user
  • Navigate to Manage > Bare-Metal Server & VM. Click on the + button and select the Cloud Provider of your choice (e.g. OpenStack, Google Compute Engine, Rackspace, DigitalOcean, HP Cloud, Amazon Web Services, Microsoft Azure, IBM SoftLayer, CloudSigma, or ElasticHosts)
  • Provide the details needed for the new VM
  • One or multiple Environment tags can be selected to indicate which environments will run on this Docker Server. The out-of-box tags are DEV, QE, STG, BUILD and PROD.
  • DCHQ will automatically install Docker as well as the DCHQ agent on the new VM

Monitor Data Centers

The Data Centers page provides a quick dashboard on the status of the connected Docker Servers (Hosts). The information displayed includes:
  • Servers – showing the number of running & disconnected Servers within a Data Center
  • CPU Cores – showing the total number of CPU’s available within a Data Center along with the aggregated CPU Utilization
  • Memory – showing the total Memory available within a Data Center along with the aggregated Memory Utilization
  • Disk - showing the total amount of Disk Space available within a Data Center along with the aggregated Disk Utilization

Monitor Docker Servers

The Docker Servers page provides a quick dashboard on the status of the connected Docker Servers (Hosts). The information displayed includes:
  • CPU Cores – showing the number of CPU’s available within a Docker Server along with the CPU Utilization for that host
  • Memory – showing the Memory available within a Docker Server along with the Memory Utilization for that host
  • Disk - showing the total amount of Disk Space available within a Docker Server along with the Disk Utilization for that host
In addition to viewing this high-level performance information directly from the Docker Servers page, you can click on the performance chart icon under the Actions tab in order to drill down into more detailed performance information for each Docker Server. The performance information includes:
  • CPU Cores – showing the number of CPU’s available within a Docker Server along with the CPU Utilization for that host
  • Memory – showing the Memory available within a Docker Server along with the Memory Utilization for that host
  • Disk - showing the total amount of Disk Space available within a Docker Server along with the Disk Utilization for that host
  • Images – showing the number of images pulled to that Docker Server (Host)
  • Containers – showing the number of running containers on that Docker Server (Host)

Additional, historical performance charts are available for the following timelines:
  • Last 24 Hours
  • Last 7 Days
  • Last Month
  • Custom Date Range

The performance charts display:
  • CPU Utilization – showing the CPU Utilization within a Docker Server
  • Memory Utilization – showing the Memory Utilization e within a Docker Server
  • Disk Utilization - showing the Disk Utilization within a Docker Server
  • Images – showing the number of images pulled to that Docker Server (Host)
  • Containers – showing the number of running containers on that Docker Server (Host)

System information (like the networks used, hostname, operating system details, etc.) are also displayed on the Docker Server Performance page.
View DCHQ Agent Log Files

To view the log files of the DCHQ agent on a Docker Server (Host), follow these steps:
  • Ubuntu: tail -f /var/log/dchq/dchq_agent.log
  • RHEL: tail -f /var/log/messages

Un-Install DCHQ Agent

To uninstall the DCHQ agent on a Docker Server (Host), follow these steps:

service dchq stop
rm -rf /opt/dchq/
rm -rf /var/log/dchq/
rm /etc/init/dchq.conf
rm /etc/systemd/system/dchq.service

]]>
<![CDATA[Create Profiles (Quotas)]]>Sat, 15 Aug 2015 21:31:44 GMThttp://dchq.co/dchq-on-premise-v20--dchqio-hosted-paas-documentation/create-profiles-quotasAn enterprise team account user (Tenant Admin) will be given:

The ability to create new profiles that can later be assigned to specific users.

  • The profile creation page allows you to specify the Profile Name, and the maximum limits for Memory, CPU, and Number of Containers.
  • Once a profile is marked as the “Default Profile” – then all new users will be assigned to that profile, unless otherwise specified.
]]>
<![CDATA[Create Users and Groups]]>Sat, 15 Aug 2015 21:29:58 GMThttp://dchq.co/dchq-on-premise-v20--dchqio-hosted-paas-documentation/create-users-and-groupsCreate Users
An enterprise team account user (Tenant Admin) will be given:

The ability to create new users that can be assigned to a specific Profile and a default Data Center.

  • The fields in the new user form include – First Name, Last Name, Username, Email, Company, Job Title, Phone Number, Profile, Organization, Groups/Teams, Roles, Default Data Center and Password.
  • Once a user is marked as “Active” then the new username will be activated

Create Groups

An enterprise team account user (Tenant Admin) will be given:
  • The ability to create new groups that can later be assigned to specific users.
  • A user can belong to multiple Groups.

]]>