Skip to content

Parse the K8s resource strings, such as ("100m" or "200Gi") into floats

License

Notifications You must be signed in to change notification settings

etiennedi/kubernetes-resource-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kubernetes-resource-parser (node)

Parses the resource strings used by Kubernetes (K8s) to indidcate memory and cpu requests and limits.

Zero dependencies!

State: No error handling, so only use when you expect correct strings (i.e. coming directly from the K8s API)

Example:

cpuParser('300m') // Returns 0.3
memoryParser('2K') // Returns 2000
memoryParser('2Ki') // Returns 2048

For the full usage, simply run the unit tests which also acts as usage instructions, here's a snapshot of the output:

  a cpu parser
    ✓ parses full numbers (1 to 1) (2ms)
    ✓ parses floats (< 1) (1.5 to 1.5) (1ms)
    ✓ parses floats (> 1) (0.5 to 0.5)
    ✓ parses strings with milli (m) unit (whole number) (1000m to 1)
    ✓ parses strings with milli (m) unit (decimal number) (1300m to 1.3)
    ✓ parses strings with milli (m) unit (< 1) (300m to 0.3)
  a memory parser
    ✓ parses full numbers (1 to 1)
    ✓ parses kilo strings (1k to 1000)
    ✓ parses Mega strings (2M to 2000000) (1ms)
    ✓ parses Giga strings (3G to 3000000000)
    ✓ parses Tera strings (4T to 4000000000000)
    ✓ parses Peta strings (5P to 5000000000000000)
    ✓ parses Exa strings (6E to 6000000000000000000)
    ✓ parses kibi strings (1Ki to 1024)
    ✓ parses Mebi strings (2Mi to 2097152) (1ms)
    ✓ parses Gibi strings (3Gi to 3221225472)
    ✓ parses Tebi strings (4Ti to 4398046511104)
    ✓ parses Pebi strings (5Pi to 5629499534213120)
    ✓ parses Exbi strings (6Ei to 6917529027641082000)

About

Parse the K8s resource strings, such as ("100m" or "200Gi") into floats

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published