This Camio User Guide covers:
- Overview of Camio with ABC Fitness
- Enabling the ABC Fitness API
- Mapping Cameras to ABC Fitness Stations
- Camio Setup for ABC Fitness Gateway
- Enabling Tailgating Notifications
- Removing Camera to Station Mappings
Overview of Camio with ABC Fitness
Fast visual verification and access event detection
Camio enables fast search and alerts on events like access granted, invalid access, and door forced open.
Works with existing cameras
Setup takes less than 15 minutes. Each camera is mapped to a ABC Fitness station so that events from those stations annotate the video from that camera. You configure the Camio Gateway with the credentials required to subscribe to ABC Fitness access control events.
Enabling the ABC Fitness API
Setting Up an ABC Fitness API Account for the First Time
- Sign up for a 3scale account at https://abcfinancial.
3scale.net/signup - You will be contacted by ABC Fitness in order to fill out and sign a API Access Agreement via E-Sign
- The agreement mentions API fees but these are for 3rd party vendors only. You are requesting access to your club account data only, so ABC does not charge Club Owners for their own data
- Page 15/16 of Document
- Vendor - Fill in your Club Name
- Effective Date - Today's date
- Vendor address - Club Address
- Your Products - Copy and Paste the following
- "Gym Name" is requesting API access to our ABC data to facilitate our Open Source tailgating software that will be running on-premise and maintained by our internal team. We require access to our ABC Club #XXXXX. Please give access to these twoAPI endpoints: get /{clubNumber}/clubs/checkins/details and get /{clubNumber}/members
- Release Date - Today's date
- Representative - Club's Owner Name
- Territory - ABC Club Number (If a franchise that needs multiple club access, enter "All Clubs"
Once Your ABC Fitness API Account is Setup
- Login to https://abcfinancial.
3scale.net/ - Click on "API KEYS" at the top
- Copy your Application Key (if not present, click "Create new key") and Application ID. Save for this step.
Note: If you previously setup your ABC Fitness API account, ensure you have access to the following API endpoints:
- GET /{clubNumber}/clubs/checkins/details
- GET /{clubNumber}/members
Mapping Cameras to ABC Fitness Stations
Once you have access to the ABC Fitness API, you will need to generate a token in order to call the Camio API, as well as map your cameras in Camio to your ABC Fitness stations.
- Generate your Camio Authorization token to be used by the Camio Gateway to annotate video with incoming access control events.
- Sign-in as the Camio account manager and press the Generate button at https://camio.com/settings/integrations/pacs
- Either the account owner or a guest with Can Manage permission can generate the token
- Copy the token immediately after you generate it, since you will not be able to retrieve it again later.
- Paste the token into your Camio Gateway configuration as the "camio_api_token" value
- Sign-in as the Camio account manager and press the Generate button at https://camio.com/settings/integrations/pacs
- Enter a station name next to each camera that has a view of people entering the station and press Save.
Note: If you see a message "No integration settings found..." that means integration settings have never been saved for this account. Configure the settings and hit save. When you reload the page, the message should be gone.
Camio Setup for ABC Fitness
The Camio Gateway subscribes to ABC Fitness access control events in order to annotate the video associated with each event.
Camio Gateway Installation
The Camio Gateway runs as a Kubernetes deployment installable with Helm, which can run on any host machine (e.g. Linux, Windows) that can access the ABC Fitness server. If your firewall restricts the sites contacted, then please see firewall rules.
Quick Install via Helm
Detailed instructions for installing any of our PACS Gateway deployments through Helm can be found at our Camio User Guide for setup and deployment of Camio PACS Gateways. The following instructions will a brief overview of setting up with Helm, specific to the Camio ABC Fitness Gateway.
1. Create your values.yaml file. The most basic values.yaml for the ABC Fitness gateway should look like:
credentials:
app_key: "INSERT ABC FITNESS APP KEY"
app_id: "INSERT ABC FITNESS APP ID"
club_id: "INSERT ABC FITNESS CLUB NUMBER"
camio_api_token: "INSERT CAMIO DEV TOKEN"
That current version of the Camio ABC Fitness Gateway does not support self signed certificates. Please contact support@camio.com for more details if your deployment will need to use self signed certificates.
Note: By default the driver will assume your ABC Fitness API will be returning checkins in the UTC/GMT timezone. If this is not the case, a timezone can be set using the advanced config options below.
2. Create your K8s cluster if does not exist
3. Run:
helm install camio-abc-fitness oci://us-central1-docker.pkg.dev/camiologger/helm/camio-abc-fitness --version 1.0.1 -f /PATH/TO/values.yaml [-n camio] [--create-namespace]
The namespace ( -n ) argument is optional and will deploy the gateway in the specified namespace. If not included, the gateway will be set up in the default namespace. Use --create-namespace if the namespace you want to use does not currently exist.
4. Confirm that your helm installation was successful by running:
kubectl get pods [-n camio]
The output should look something like:
NAME READY STATUS RESTARTS AGE
driver-XXXXXXXXX-XXXXX 1/1 Running 0 9s
If the driver pod shows as 1/1 READY and 0 RESTARTS, it is probably running correctly. If you would like more details, you can retrieve the logs for your pod by running:
kubectl logs driver-XXXXXXXXX-XXXXX [-n camio]
Docker Installation
Optionally, you can use the docker image instead. Run:
docker pull \ us-central1-docker.pkg.dev/camiologger/public-containers/camio-integration-driver-abc-fitness:latest-linux-amd64
to pull the image. An arm64 version of the image is also available and can be pulled using:
docker pull \ us-central1-docker.pkg.dev/camiologger/public-containers/camio-integration-driver-abc-fitness:latest-linux-arm64
Camio Gateway Configuration (values.yaml file)
The configuration is divided into the following sections to organize the gateway's settings:
Section (Helm Key) |
Description and Available Fields |
credentials
|
This contains your secret Camio Authorization token obtained from https://camio.com/settings/integrations/pacs used to annotate video, as well as your ABC Fitness API credentials that you obtained in this step. Example: app_key: "INSERT ABC FITNESS APP KEY" |
requests
(advanced) |
These default values should be sufficient, but override any desired. Example: # Uncomment any settings where default values shown need to be modified |
container
(advanced) |
The image used by the pod running the Camio ABC Fitness driver. If running on an arm device, change to us-central1-docker.pkg.dev/camiologger/public-containers/camio-integration-driver-abc-fitness:latest-linux-arm64.
image: us-central1-docker.pkg.dev/camiologger/public-containers/camio-integration-driver-abc-fitness:latest-linux-amd64
|
log_level
|
# 10 # DEBUG level and higher logs, use this value if debugging the gateway |
Supported Timezone Names
Africa/Abidjan Africa/Accra Africa/Addis_Ababa Africa/Algiers Africa/Asmara Africa/Asmera Africa/Bamako Africa/Bangui Africa/Banjul Africa/Bissau Africa/Blantyre Africa/Brazzaville Africa/Bujumbura Africa/Cairo Africa/Casablanca Africa/Ceuta Africa/Conakry Africa/Dakar Africa/Dar_es_Salaam Africa/Djibouti Africa/Douala Africa/El_Aaiun Africa/Freetown Africa/Gaborone Africa/Harare Africa/Johannesburg Africa/Juba Africa/Kampala Africa/Khartoum Africa/Kigali Africa/Kinshasa Africa/Lagos Africa/Libreville Africa/Lome Africa/Luanda Africa/Lubumbashi Africa/Lusaka Africa/Malabo Africa/Maputo Africa/Maseru Africa/Mbabane Africa/Mogadishu Africa/Monrovia Africa/Nairobi Africa/Ndjamena Africa/Niamey Africa/Nouakchott Africa/Ouagadougou Africa/Porto-Novo Africa/Sao_Tome Africa/Timbuktu Africa/Tripoli Africa/Tunis Africa/Windhoek America/Adak America/Anchorage America/Anguilla America/Antigua America/Araguaina America/Argentina/Buenos_Aires America/Argentina/Catamarca America/Argentina/ComodRivadavia America/Argentina/Cordoba America/Argentina/Jujuy America/Argentina/La_Rioja America/Argentina/Mendoza America/Argentina/Rio_Gallegos America/Argentina/Salta America/Argentina/San_Juan America/Argentina/San_Luis America/Argentina/Tucuman America/Argentina/Ushuaia America/Aruba America/Asuncion America/Atikokan America/Atka America/Bahia America/Bahia_Banderas America/Barbados America/Belem America/Belize America/Blanc-Sablon America/Boa_Vista America/Bogota America/Boise America/Buenos_Aires America/Cambridge_Bay America/Campo_Grande America/Cancun America/Caracas America/Catamarca America/Cayenne America/Cayman America/Chicago America/Chihuahua America/Coral_Harbour America/Cordoba America/Costa_Rica America/Creston America/Cuiaba America/Curacao America/Danmarkshavn America/Dawson America/Dawson_Creek America/Denver America/Detroit America/Dominica America/Edmonton America/Eirunepe America/El_Salvador America/Ensenada America/Fort_Nelson America/Fort_Wayne America/Fortaleza America/Glace_Bay America/Godthab America/Goose_Bay America/Grand_Turk America/Grenada America/Guadeloupe America/Guatemala America/Guayaquil America/Guyana America/Halifax America/Havana America/Hermosillo America/Indiana/Indianapolis America/Indiana/Knox America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Tell_City America/Indiana/Vevay America/Indiana/Vincennes America/Indiana/Winamac America/Indianapolis America/Inuvik America/Iqaluit America/Jamaica America/Jujuy America/Juneau America/Kentucky/Louisville America/Kentucky/Monticello America/Knox_IN America/Kralendijk America/La_Paz America/Lima America/Los_Angeles America/Louisville America/Lower_Princes America/Maceio America/Managua America/Manaus America/Marigot America/Martinique America/Matamoros America/Mazatlan America/Mendoza America/Menominee America/Merida America/Metlakatla America/Mexico_City America/Miquelon America/Moncton America/Monterrey America/Montevideo America/Montreal America/Montserrat America/Nassau America/New_York America/Nipigon America/Nome America/Noronha America/North_Dakota/Beulah America/North_Dakota/Center America/North_Dakota/New_Salem America/Nuuk America/Ojinaga America/Panama America/Pangnirtung America/Paramaribo America/Phoenix America/Port-au-Prince America/Port_of_Spain America/Porto_Acre America/Porto_Velho America/Puerto_Rico America/Punta_Arenas America/Rainy_River America/Rankin_Inlet America/Recife America/Regina America/Resolute America/Rio_Branco America/Rosario America/Santa_Isabel America/Santarem America/Santiago America/Santo_Domingo America/Sao_Paulo America/Scoresbysund America/Shiprock America/Sitka America/St_Barthelemy America/St_Johns America/St_Kitts America/St_Lucia America/St_Thomas America/St_Vincent America/Swift_Current America/Tegucigalpa America/Thule America/Thunder_Bay America/Tijuana America/Toronto America/Tortola America/Vancouver America/Virgin America/Whitehorse America/Winnipeg America/Yakutat America/Yellowknife Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Macquarie Antarctica/Mawson Antarctica/McMurdo Antarctica/Palmer Antarctica/Rothera Antarctica/South_Pole Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Arctic/Longyearbyen Asia/Aden Asia/Almaty Asia/Amman Asia/Anadyr Asia/Aqtau Asia/Aqtobe Asia/Ashgabat Asia/Ashkhabad Asia/Atyrau Asia/Baghdad Asia/Bahrain Asia/Baku Asia/Bangkok Asia/Barnaul Asia/Beirut Asia/Bishkek Asia/Brunei Asia/Calcutta Asia/Chita Asia/Choibalsan Asia/Chongqing Asia/Chungking Asia/Colombo Asia/Dacca Asia/Damascus Asia/Dhaka Asia/Dili Asia/Dubai Asia/Dushanbe Asia/Famagusta Asia/Gaza Asia/Harbin Asia/Hebron Asia/Ho_Chi_Minh Asia/Hong_Kong Asia/Hovd Asia/Irkutsk Asia/Istanbul Asia/Jakarta Asia/Jayapura Asia/Jerusalem Asia/Kabul Asia/Kamchatka Asia/Karachi Asia/Kashgar Asia/Kathmandu Asia/Katmandu Asia/Khandyga Asia/Kolkata Asia/Krasnoyarsk Asia/Kuala_Lumpur Asia/Kuching Asia/Kuwait Asia/Macao Asia/Macau Asia/Magadan Asia/Makassar Asia/Manila Asia/Muscat Asia/Nicosia Asia/Novokuznetsk Asia/Novosibirsk Asia/Omsk Asia/Oral Asia/Phnom_Penh Asia/Pontianak Asia/Pyongyang Asia/Qatar Asia/Qostanay Asia/Qyzylorda Asia/Rangoon Asia/Riyadh Asia/Saigon Asia/Sakhalin Asia/Samarkand Asia/Seoul Asia/Shanghai Asia/Singapore Asia/Srednekolymsk Asia/Taipei Asia/Tashkent Asia/Tbilisi Asia/Tehran Asia/Tel_Aviv Asia/Thimbu Asia/Thimphu Asia/Tokyo Asia/Tomsk Asia/Ujung_Pandang Asia/Ulaanbaatar Asia/Ulan_Bator Asia/Urumqi Asia/Ust-Nera Asia/Vientiane Asia/Vladivostok Asia/Yakutsk Asia/Yangon Asia/Yekaterinburg Asia/Yerevan Atlantic/Azores Atlantic/Bermuda Atlantic/Canary Atlantic/Cape_Verde Atlantic/Faeroe Atlantic/Faroe Atlantic/Jan_Mayen Atlantic/Madeira Atlantic/Reykjavik Atlantic/South_Georgia Atlantic/St_Helena Atlantic/Stanley Australia/ACT Australia/Adelaide Australia/Brisbane Australia/Broken_Hill Australia/Canberra Australia/Currie Australia/Darwin Australia/Eucla Australia/Hobart Australia/LHI Australia/Lindeman Australia/Lord_Howe Australia/Melbourne Australia/NSW Australia/North Australia/Perth Australia/Queensland Australia/South Australia/Sydney Australia/Tasmania Australia/Victoria Australia/West Australia/Yancowinna Brazil/Acre Brazil/DeNoronha Brazil/East Brazil/West CET CST6CDT Canada/Atlantic Canada/Central Canada/Eastern Canada/Mountain Canada/Newfoundland Canada/Pacific Canada/Saskatchewan Canada/Yukon Chile/Continental Chile/EasterIsland Cuba EET EST EST5EDT Egypt Eire Etc/GMT Etc/GMT+0 Etc/GMT+1 Etc/GMT+10 Etc/GMT+11 Etc/GMT+12 Etc/GMT+2 Etc/GMT+3 Etc/GMT+4 Etc/GMT+5 Etc/GMT+6 Etc/GMT+7 Etc/GMT+8 Etc/GMT+9 Etc/GMT-0 Etc/GMT-1 Etc/GMT-10 Etc/GMT-11 Etc/GMT-12 Etc/GMT-13 Etc/GMT-14 Etc/GMT-2 Etc/GMT-3 Etc/GMT-4 Etc/GMT-5 Etc/GMT-6 Etc/GMT-7 Etc/GMT-8 Etc/GMT-9 Etc/GMT0 Etc/Greenwich Etc/UCT Etc/UTC Etc/Universal Etc/Zulu Europe/Amsterdam Europe/Andorra Europe/Astrakhan Europe/Athens Europe/Belfast Europe/Belgrade Europe/Berlin Europe/Bratislava Europe/Brussels Europe/Bucharest Europe/Budapest Europe/Busingen Europe/Chisinau Europe/Copenhagen Europe/Dublin Europe/Gibraltar Europe/Guernsey Europe/Helsinki Europe/Isle_of_Man Europe/Istanbul Europe/Jersey Europe/Kaliningrad Europe/Kiev Europe/Kirov Europe/Lisbon Europe/Ljubljana Europe/London Europe/Luxembourg Europe/Madrid Europe/Malta Europe/Mariehamn Europe/Minsk Europe/Monaco Europe/Moscow Europe/Nicosia Europe/Oslo Europe/Paris Europe/Podgorica Europe/Prague Europe/Riga Europe/Rome Europe/Samara Europe/San_Marino Europe/Sarajevo Europe/Saratov Europe/Simferopol Europe/Skopje Europe/Sofia Europe/Stockholm Europe/Tallinn Europe/Tirane Europe/Tiraspol Europe/Ulyanovsk Europe/Uzhgorod Europe/Vaduz Europe/Vatican Europe/Vienna Europe/Vilnius Europe/Volgograd Europe/Warsaw Europe/Zagreb Europe/Zaporozhye Europe/Zurich GB GB-Eire GMT GMT+0 GMT-0 GMT0 Greenwich HST Hongkong Iceland Indian/Antananarivo Indian/Chagos Indian/Christmas Indian/Cocos Indian/Comoro Indian/Kerguelen Indian/Mahe Indian/Maldives Indian/Mauritius Indian/Mayotte Indian/Reunion Iran Israel Jamaica Japan Kwajalein Libya MET MST MST7MDT Mexico/BajaNorte Mexico/BajaSur Mexico/General NZ NZ-CHAT Navajo PRC PST8PDT Pacific/Apia Pacific/Auckland Pacific/Bougainville Pacific/Chatham Pacific/Chuuk Pacific/Easter Pacific/Efate Pacific/Enderbury Pacific/Fakaofo Pacific/Fiji Pacific/Funafuti Pacific/Galapagos Pacific/Gambier Pacific/Guadalcanal Pacific/Guam Pacific/Honolulu Pacific/Johnston Pacific/Kanton Pacific/Kiritimati Pacific/Kosrae Pacific/Kwajalein Pacific/Majuro Pacific/Marquesas Pacific/Midway Pacific/Nauru Pacific/Niue Pacific/Norfolk Pacific/Noumea Pacific/Pago_Pago Pacific/Palau Pacific/Pitcairn Pacific/Pohnpei Pacific/Ponape Pacific/Port_Moresby Pacific/Rarotonga Pacific/Saipan Pacific/Samoa Pacific/Tahiti Pacific/Tarawa Pacific/Tongatapu Pacific/Truk Pacific/Wake Pacific/Wallis Pacific/Yap Poland Portugal ROC ROK Singapore Turkey UCT US/Alaska US/Aleutian US/Arizona US/Central US/East-Indiana US/Eastern US/Hawaii US/Indiana-Starke US/Michigan US/Mountain US/Pacific US/Samoa UTC Universal W-SU WET Zulu |
Camio Gateway Host Hardware Requirements
The CPU and RAM required of the host machine that runs the Camio Gateway varies with the maximum throughput of access control events. This guide covers common volumes:
Max Event Rate |
CPU Cores |
RAM |
100 events/second |
1 |
300 MiB |
1,000 events/second |
2 |
400 MiB |
10,000 events/second |
2 |
400 MiB |
If you are also setting up MicroK8s on your machine, MicroK8s recommends 20G disk space and 4G of memory.
Firewall Rules
During the initial setup and any updates to the deployment, you will need access to these domains:
- us-central1-docker.pkg.dev
During operation the gateway will need access to the specified camio endpoints:
- https://incoming.integrations.camio.com/pacs/webhooks
- https://incoming.integrations.camio.com/pacs/devices
As well as the following ABC Fitness API endpoints:
- https://api.abcfinancial.com/rest/{clubNumber}/clubs/checkins/details
- https://api.abcfinancial.com/rest/{clubNumber}/members
Note: These rules only cover the Camio Gateway. If you are setting up K8s for the first time you may need to set up additional firewall rules.
Enabling Tailgating Notifications
Optionally, enable Camio to send notifications via email when a tailgating incident occurs. To enable this feature, toggle tailgating notifications on and configure an email body.
- Toggle tailgating notifications on
- Configure the email settings including options for CC, BCC, reply-to, and the email body itself.
- Detail on the email body template variables can be found here.
- You can customize the email body or select Use Default Tailgaters Email to use the default template. Optionally, you can use the Default Reviewer Email and the emails will be sent only to the account owner and any configured CC/BCCs, and not to the tailgaters themselves.
Removing Camera to Station Mappings
You can update which cameras you have mapped to your ABC Fitness stations on the settings page at https://camio.com/settings/integrations/pacs. To remove the currently mapped station, click on the station in the dropdown list or click the x next to the station name:
Alternatively, select a new station.
If your camera was mapped to an old station that is no longer in your list of ABC Fitness stations, the station dropdown may appear blank:
To remove the old station, select and then deselect a new station from the dropdown. This will clear the old station. The dropdown should then look like this:
Make sure you click save to confirm the changes.
Comments