Introduction
This document outlines how to deploy the Catchpoint enterprise-base docker image onto a Cisco device that supports application hosting.
This guide was validated using a C9300-24T running IOS XE 17.15.5.
There are two options for acquiring the application; either downloading a prebuilt package, or building it yourself using ioxclient. Building the package yourself is only necessary if you need to adjust any of the settings in the package.yaml.
Downloading the package
You can get the package from
https://repo.catchpoint.net/repo/ioxclient/.
Package the Docker Image for IOS XE (Linux only)
Note:
This is only required if you need to make changes to the package.yaml configuration.
Prerequisites
ioxclient for building the Cisco image
Docker installed and running
Steps
Create a file called package.yaml with the following content:
descriptor-schema-version: "2.4
info:
name: cp-enterprise-base
description: "Catchpoint Enterprise Base"
version: "1.0"
author-name: "Catchpoint"
author-link: "https://www.catchpoint.com"
app:
type: docker
cpuarch: x86_64
resources:
profile: exclusive
disk: 60000
network:
- interface-name: eth0
startup:
rootfs: rootfs.tar
target: ["/bin/sh", "/entrypoint.sh"]Use ioxclient to package the docker image:
ioxclient docker package --skip-signing --name cpenterprisebase.tar catchpoint/enterprise-base:stable .You should now have a file called enterprisebase.tar.
Deployment
Prerequisites
Cisco USB or SSD storage connected to the Cisco device
App hosting enabled on the Cisco device (requires the DNA-Advantage license).
This can be checked by running show iox via the Cisco CLI, and confirming the IOx services are running as expected
Application signature disabled
For this unsigned package, disable application signature verification before activation. Verify the setting with
show app-hosting infra. If signature verification is enabled, an unsigned package may not be allowed to run.
The package can be installed either via the UI or the CLI.
CLI Instructions
Assuming the package (cpenterprisebase.tar) is uploaded to usbflash1, run the following command:
app-hosting install appid cpenterprisebase package usbflash1:cpenterprisebase.tarThis will take a couple of minutes, you can check progress via the show app-hosting list command. Once the app shows as deployed, move onto the next step.
Enter config mode and apply the appropriate docker flags:
conf t
app-hosting appid cpenterprisebase
app-resource docker
run-opts 1 "--env CP_INSTANCEID=123456ABCDEF"
run-opts 2 "--hostname your_hostname"
endThe unique CP_INSTANCEID can be any combination of 12 alphanumeric characters. It is highly recommended to include a hostname via --hostname to simplify registration of the instance.
Activate the application:
app-hosting activate appid cpenterprisebaseStart the application:
app-hosting start appid cpenterprisebaseYou should see the following message:
cpenterprisebase started successfully
Current state is: RUNNING
Register the container following the instructions here: https://docs.catchpoint.com/docs/linux-enterprise-install-guide#activating-an-instance-on-portal
UI Instructions
Open the IOx management console (Configuration > Services > IOx):

Choose “Add New” and select the saved package, using the name cpenterprisebase:
The application is successfully deployed:


Verify that the following settings are automatically applied (after clicking “Activate”):
Profile - Exclusive
Disk - 60000MB
Each container needs a unique Instance ID specified in the Docker Options section using the format --env CP_INSTANCEID=123456ABCDEF. The unique ID can be any combination of 12 alphanumeric characters. You can also specify the hostname using the command -h hostname_to_use. If you do not specify a hostname, a random string will be created. It is highly recommended to include a hostname to make troubleshooting and registration simpler.
Once the application is activated, it can be started with the “Start” button:

Register the container following the instructions (https://docs.catchpoint.com/docs/linux-enterprise-install-guide#activating-an-instance-on-portal) you will be able to see the instance available in the portal:

Troubleshooting
Most troubleshooting steps are performed via the CLI.
Connect to a console session via the following command:
app-hosting connect appid cpenterprisebase sessionThis will land you at a shell prompt inside the container:
sh-4.4#
From there, the Catchpoint utility can be used for normal troubleshooting steps, along with regular Linux commands.