Skip to main content

Application

Schema

AttributeDescription
uuidUnique ID
nameName of the application
data_sourceSource where application information was fetched. For locally
created apps, this value is LOCAL, otherwise it indicates the IdP source
descriptionDescription for the application
protocolIndicates whether an L3 ('tcp', 'udp') or L4 app ('http' or 'https')
hostInternet facing hostname for the application
portInternet facing port for the application
reverse_proxy_nameRelevant for apps for which Lacework Edge acts as reverse proxy
connector_unique_nameName of connector, relevant for apps routed via connector
internal_protocolProtocol for the private application
internal_host_patternHostname for the private application
portPort for the private application
tagstags associated with the application (could be k8s, aws or any
custom tag that can used to group multiple apps)
create_timeCreation time of the application
update_timeLast update time for application
statusStatus can be INIT, ACTIVE, SUSPENDED

Create a LOCAL application

CLI

Create a json file, say create-app.json, with contents as follows:

{
"name": "<name of the app>",
"description": "<description for the app>",
"protocol": "https",
"host": "external.hostname.com",
"port": 443,
"connector_unique_name": "my-favorite-connector",
"internal_protocol": "tcp",
"internal_host_pattern": "private-nginx-app",
"internal_port": 443,
"status": "ACTIVE"
}

Following egcli command can be run to create the application (assumes token is present in environment variable)

./egcli nervecenter --address nerve-grpc.edge-guardian.io:443 create-app \
--from_file create-app.json

REST API

POST /api/v1/apps

Body

{
"name": "<name of the app>",
"description": "<description for the app>",
"protocol": "https",
"host": "external.hostname.com",
"port": 443,
"connector_unique_name": "my-favorite-connector",
"internal_protocol": "tcp",
"internal_host_pattern": "private-nginx-app",
"internal_port": 443,
"status": "ACTIVE"
}

Query all applications in your account

CLI

Running following egcli command will return all applications in your account.

./egcli nervecenter --address nerve-grpc.edge-guardian.io:443 query-apps

REST API

GET /api/v1/apps

Get details about specific application

CLI

Running following egcli command will return all attributes for specified application UUID.

./egcli nervecenter --address nerve-grpc.edge-guardian.io:443 get-app --uuid <UUID>

REST API

GET /api/v1/apps/:app_uuid