Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

3. Deploy application with new .ebextension config.

Code Block
eb deploy

AWS EC2 User Data

...

Script

You can install Breeze agent on AWS EC2 instance's instances using 'EC2 instance user data' during the initial launch of the an instance. The script involves the following steps:

...

2. Upload them to the S3 Bucket.

Generate a Presigned presigned object URL for each installer

...

Windows must have Powershell preinstalled. This script will work for all Windows Server versions starting 2012 R2 and newer.

SCCM

To install Breeze Agent via SCCM, we recommend using PowerShell script that will download the agent installer to a target machine and install it.

Download the Breeze Agent installer to any location where it can be downloaded by the target machine. In our example, we will use a shared folder with permission for account that set as Client Push Installation account for SCCM Site.

1. Create a new script in Software Library using the sample below.

2. Change the $url variable to your Breeze Agent installer location.

3. Make sure that target systems have access to the installer’s location.

4. Run the script on system or group to install Breeze Agent.

Script sample:

Code Block
function New-TemporaryDirectory {
  $parent = [System.IO.Path]::GetTempPath()
  [string]$name = [System.Guid]::NewGuid()
  New-Item -ItemType Directory -Path (Join-Path $parent $name)
}

$url = "\\10.0.0.69\d\breeze-agent.exe"
$tmp_dir = New-TemporaryDirectory
$agent_sfx = "$tmp_dir\breeze-agent.exe"

# download agent installer
(New-Object System.Net.WebClient).DownloadFile($url, $agent_sfx)

# install agent
Start-Process $agent_sfx -ArgumentList '-gm2' -NoNewWindow -Wait

# clean up
Remove-Item "$tmp_dir" -recurse

Chef

1. Clone the public-utilities repo to your server:

Code Block
git clone https://github.com/cloudaware/public-utilities.git

2. Put your Breeze Agent installer files to the public-utilities/chef-modules/breeze-agent/files directory. Ensure the files are named breeze-agent-linux.tgz and breeze-agent-windows.exe.

3. Copy Breeze Agent cookbook to your cookbook directory and upload it to the server:

Code Block
cp -r public-utilities/chef-modules/breeze-agent ~/cookbooks/
knife cookbook upload breeze-agent

4. Create the breeze-agent role:

Code Block
export EDITOR=vim #any other editor can be selected, like nano for instance
knife role create breeze-agent

Once in the editor, replace everything with the following and save:

Code Block
{
  "name": "breeze-agent",
  "description": "",
  "json_class": "Chef::Role",
  "default_attributes": {},
  "override_attributes": {},
  "chef_type": "role",
  "run_list": [ "recipe[breeze-agent]" ],
  "env_run_lists": {}
}

5. Add the role to the nodes that you need or to all nodes using your web interface or the folowing command:

Code Block
knife node run_list add $NODE_NAME 'role[breeze-agent]' #Where $NODE_NAME is the name of the actual node

To add the role to all nodes, run:

Code Block
for node in `knife node list`;do knife node run_list add $node 'role[breeze-agent]';done;

Next chef-client will apply the changes on the nodes. Please note that it may take some time.

Puppet

1. Put the Puppet module folder to the /etc/puppetlabs/code/environments/production/modules/.

2. Put Breeze Agent installer files to the /etc/puppetlabs/code/environments/production/modules/breeze_agent/files directory.

3. Attach breeze_agent class to the necessary group in the Puppet Dashboard.

4. Add the required variables breeze_package_linux and breeze_package_windows.

Ansible

1. Put Breeze Agent installer files to the 'files' directory.

2. Specify the installer file name and hosts in breeze_agent_linux.yml and breeze_agent_windows.yml

Code Block
- hosts: linux
  vars:
    linux_agent: linux-breeze-agent.tgz

AWS Systems Manager Distributor

The user creates a package with Breeze Agent. The distributor publishes this package to System Manager managed instances. Then the agent can be installed or uninstalled:

...

one time by using AWS Systems Manager Run Command

...

on a schedule by using AWS Systems Manager State Manager

...

The distributor package consists of a manifest and two .zip archive files for Windows and Linux platforms. Each archive contains install and uninstall scripts, as well as Breeze Agent distro respectively to the platform. The manifest template and scripts can be obtained from Github repository.

In the file manifest.json find the field "version" and change its value to something meaningful. This is also the value of Version name that should be specified when the package will be added to the Distributor (it becomes part of the AWS Systems Manager document). A version value can contain letters, numbers, underscores, hyphens, and periods, and be from 3 to 128 characters in length. It is recommended to use a human-readable value.

...

A Linux archive named breeze-agent-linux.zip should contain next files: install.sh, uninstall.sh and agent.XXX.YY.Z.x86_64.linux.tgz (the Linux Breeze Agent distro as it was downloaded from CMDB).

A Windows archive named breeze-agent-windows.zip should contain such files as: install.ps1, uninstall.ps1 and agent.XXX.YY.Z.windows.signed.exe (the Windows Breeze Agent distro as it was downloaded from CMDB).

Ensure that the script files have the correct lines breaks, namely LF (\n == 0x0A) on Linux and CRLF (\r\n == 0x0D 0x0A) on Windows.

For each archive file mentioned in the manifest should be specified a sha256 checksum. In order to calculate it, the following commands can be used:

Linux: shasum -a 256 file-name.zip or openssl dgst -sha256 file-name.zip

Windows: Get-FileHash -Path file-name.zip (powershell)

In the manifest.json find the section "files" and replace ARCHIVE_CHECKSUM placeholders with the calculated checksums.

...

AWS Systems Manager Distributor

You can install Breeze agent on AWS EC2 instances using AWS Systems Manager Distributor.

Description

Create a package with Breeze Agent. The distributor will publish this package to System Manager managed instances. Then the agent can be installed or uninstalled:

Prerequisites

The distributor package consists of a manifest and two .zip archive files for Windows and Linux platforms. Each archive contains install and uninstall scripts, as well as Breeze Agent distro respectively to the platform. The manifest template and scripts can be obtained from Github repository.

In the file manifest.json find the field "version" and change its value to something meaningful. This is also the value of Version name that should be specified when the package will be added to the Distributor (it becomes part of the AWS Systems Manager document). A version value can contain letters, numbers, underscores, hyphens, and periods, and be from 3 to 128 characters in length. It is recommended to use a human-readable value.

Preparing package files

A Linux archive named breeze-agent-linux.zip should contain next files: install.sh, uninstall.sh and agent.XXX.YY.Z.x86_64.linux.tgz (the Linux Breeze Agent distro as it was downloaded from CMDB).

A Windows archive named breeze-agent-windows.zip should contain such files as: install.ps1, uninstall.ps1 and agent.XXX.YY.Z.windows.signed.exe (the Windows Breeze Agent distro as it was downloaded from CMDB).

Note

Ensure that the script files have the correct lines breaks, namely LF (\n == 0x0A) on Linux and CRLF (\r\n == 0x0D 0x0A) on Windows.

A sha256 checksum should be specified for each archive file mentioned in the manifest. In order to calculate it, use the following commands:

Linux:

Code Block
shasum -a 256 file-name.zip

or

Code Block
openssl dgst -sha256 file-name.zip

Windows:

Code Block
Get-FileHash -Path file-name.zip

Windows must have Powershell preinstalled.

In the manifest.json find the section "files" and replace ARCHIVE_CHECKSUM placeholders with the calculated checksums.

Distributor package

Create an Advanced package in AWS Systems Manager as described in AWS documentation.

SCCM

To install Breeze Agent via SCCM, we recommend using PowerShell script that will download the agent installer to a target machine and install it.

Download the Breeze Agent installer to any location where it can be downloaded by the target machine. In our example, we will use a shared folder with permission for account that set as Client Push Installation account for SCCM Site.

1. Create a new script in Software Library using the sample below.

2. Change the $url variable to your Breeze Agent installer location.

3. Make sure that target systems have access to the installer’s location.

4. Run the script on system or group to install Breeze Agent.

Script sample:

Code Block
function New-TemporaryDirectory {
  $parent = [System.IO.Path]::GetTempPath()
  [string]$name = [System.Guid]::NewGuid()
  New-Item -ItemType Directory -Path (Join-Path $parent $name)
}

$url = "\\10.0.0.69\d\breeze-agent.exe"
$tmp_dir = New-TemporaryDirectory
$agent_sfx = "$tmp_dir\breeze-agent.exe"

# download agent installer
(New-Object System.Net.WebClient).DownloadFile($url, $agent_sfx)

# install agent
Start-Process $agent_sfx -ArgumentList '-gm2' -NoNewWindow -Wait

# clean up
Remove-Item "$tmp_dir" -recurse

Chef

1. Clone the public-utilities repo to your server:

Code Block
git clone https://github.com/cloudaware/public-utilities.git

2. Put your Breeze Agent installer files to the public-utilities/chef-modules/breeze-agent/files directory. Ensure the files are named breeze-agent-linux.tgz and breeze-agent-windows.exe.

3. Copy Breeze Agent cookbook to your cookbook directory and upload it to the server:

Code Block
cp -r public-utilities/chef-modules/breeze-agent ~/cookbooks/
knife cookbook upload breeze-agent

4. Create the breeze-agent role:

Code Block
export EDITOR=vim #any other editor can be selected, like nano for instance
knife role create breeze-agent

Once in the editor, replace everything with the following and save:

Code Block
{
  "name": "breeze-agent",
  "description": "",
  "json_class": "Chef::Role",
  "default_attributes": {},
  "override_attributes": {},
  "chef_type": "role",
  "run_list": [ "recipe[breeze-agent]" ],
  "env_run_lists": {}
}

5. Add the role to the nodes that you need or to all nodes using your web interface or the folowing command:

Code Block
knife node run_list add $NODE_NAME 'role[breeze-agent]' #Where $NODE_NAME is the name of the actual node

To add the role to all nodes, run:

Code Block
for node in `knife node list`;do knife node run_list add $node 'role[breeze-agent]';done;

Next chef-client will apply the changes on the nodes. Please note that it may take some time.

Puppet

1. Put the Puppet module folder to the /etc/puppetlabs/code/environments/production/modules/.

2. Put Breeze Agent installer files to the /etc/puppetlabs/code/environments/production/modules/breeze_agent/files directory.

3. Attach breeze_agent class to the necessary group in the Puppet Dashboard.

4. Add the required variables breeze_package_linux and breeze_package_windows.

Ansible

1. Put Breeze Agent installer files to the 'files' directory.

2. Specify the installer file name and hosts in breeze_agent_linux.yml and breeze_agent_windows.yml

Code Block
- hosts: linux
  vars:
    linux_agent: linux-breeze-agent.tgz

Installation on VM managed by vCenter

...