https://github.com/dfpc-coe/etl-verkada
Pull in cameras from a Verkada Deployment
https://github.com/dfpc-coe/etl-verkada
Last synced: about 1 month ago
JSON representation
Pull in cameras from a Verkada Deployment
- Host: GitHub
- URL: https://github.com/dfpc-coe/etl-verkada
- Owner: dfpc-coe
- License: mit
- Created: 2025-06-11T20:31:19.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-09T03:16:20.000Z (3 months ago)
- Last Synced: 2026-04-09T05:23:52.490Z (3 months ago)
- Language: TypeScript
- Size: 1000 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
ETL-Verkada
Pull in Verkada Camera Locations & Streams
## Setup
1. Contact the administrator of the Verkada management and follow the guide [here](https://apidocs.verkada.com/reference/quick-start-guide) to create a new API Key
2. Ensure the `Cameras: Read`, & `Streaming - Live/Historical` Permissions are given for all sites.
3. Set the expiration to be as long as possible otherwise the ETL will start to fail after the API Token expires
4. Request a copy of the API Key shown to the admin after the "Generate API" button is clicked.
## Development
Development Information
DFPC provided Lambda ETLs are currently all written in [NodeJS](https://nodejs.org/en) through the use of a AWS Lambda optimized
Docker container. Documentation for the Dockerfile can be found in the [AWS Help Center](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html)
```sh
npm install
```
Add a .env file in the root directory that gives the ETL script the necessary variables to communicate with a local ETL server.
When the ETL is deployed the `ETL_API` and `ETL_LAYER` variables will be provided by the Lambda Environment
```json
{
"ETL_API": "http://localhost:5001",
"ETL_LAYER": "19"
}
```
To run the task, ensure the local [CloudTAK](https://github.com/dfpc-coe/CloudTAK/) server is running and then run with typescript runtime
or build to JS and run natively with node
```
ts-node task.ts
```
```
npm run build
cp .env dist/
node dist/task.js
```
### Deployment
Deployment into the CloudTAK environment for configuration is done via automatic releases to the DFPC AWS environment.
Github actions will build and push docker releases on every version tag which can then be automatically configured via the
CloudTAK API.
Non-DFPC users will need to setup their own docker => ECS build system via something like Github Actions or AWS Codebuild.