Kelvin Resource Name Registry¶
Overview¶
The Kelvin Resource Name (KRN) Registry serves as the centralized system for uniquely identifying various types of resources within the Kelvin Platform. It is conceptually similar to Uniform Resource Names (URN) or Amazon Resource Names (ARN), tailored for Kelvin's use.
Specification¶
A KRN must conform to the following criteria:
- Format: A KRN should adhere to a specific URN-based format that starts with
krn:followed by a Namespace Identifier (NID) and a Namespace-Specific String (NSS), separated by colons. - Example for Data Streams:
krn:ad:air-conditioner/temperature - Example for Workloads:
krn:wl:my-node/modbus-bridge-1 - Validity: It must be a valid URN scheme URI, which means it has to contain at least a NID and an NSS.
-
Syntax: The KRN should follow a subset of the URN's ABNF syntax rules, as outlined below:
* Documentation: All NIDs used in KRN must be documented, along with the NSS specification.
Definitions¶
- Asset Custom Action (
aca) - Action (
action) - Asset Data Stream (
ad) - Asset Parameter (
ap) - App (
app) - App Parameter (
app-parameter) - App Version (
appversion) - Asset (
asset) - Asset Type (
asset-type) - Data Stream(
datastream) - Data Quality - Asset Data Stream (
dqad) - Data Quality - Asset (
dqasset) - Job (
job) - Recommendation (
recommendation) - Schedule (
schedule) - Service Account (
srv-acc) - System (
system) - User (
user) - Workload (
wl) - Workload App Version(
wlappv)
Asset Custom Action¶
Examples
Action¶
Examples
Asset Data Stream¶
Examples
krn:ad:air-conditioner-1/temp-setpoint
krn:ad:beam-pump/casing.temperature
krn:ad:centrifugal-pump-02/oee
krn:ad:centrifugal-pump-02/failure_quotient
Asset Parameter¶
Examples
App¶
Examples
App Parameter¶
Examples
App Version¶
Examples
Asset¶
Examples
Asset Type¶
Examples
Data Stream¶
Examples
Data Quality - Asset Data Stream¶
dqad-krn = "krn" ":" "dqad" ":" data-quality ":" asset "/" datastream
asset = NAME
datastream = NAME
data-quality = NAME
Examples
krn:dqad:kelvin_timestamp_anomaly:pcp_01/gas_flow
krn:dqad:kelvin_out_of_range_detection:pcp_01/gas_flow
Data Quality - Asset¶
Examples
Job¶
job-krn = "krn" ":" "job" ":" job "/" job-run-id
job = NAME
job-run-id = 1*(DIGIT / ALPHA / "_" / "-")
Examples
Recommendation¶
Examples
Schedule¶
Examples
Service Account¶
Examples
System¶
Examples
User¶
Examples
Workload¶
Examples
Workload App Version¶
Examples
Common Components¶
| Component | Regex |
|---|---|
| DNS-SAFE-NAME | ^[a-z]([-a-z0-9]*[a-z0-9])?$ |
| NAME | ^[a-z0-9]([-_.a-z0-9]*[a-z0-9])?$ |
| NAME-V2 | ^[a-zA-Z0-9]([-_ .a-zA-Z0-9]*[a-zA-Z0-9])?$ |
| SEMVER | See Semantic Versioning |
| USERNAME | ([-a-zA-Z0-9()+,.:=@;$_!*'&~\/]|%[0-9a-f]{2})+ |
| UUID | ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ |