Skip to content

mailio/go-mailio-diskusage-handler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mailio DiskUsage Handler

GO DiskUsage handler for Mailio.

This module implements an interface for retrieving disk usage information per user ID collected by the AWS Inventory System. It is designed to be integrated into a larger project. This module focuses on collecting disk usage data and storing it in memory.

Install

go get github.com/mailio/go-mailio-diskusage-handler

Features

  • periodically retrieves the information from AWS Inventory System about disk usage
  • prepares the data user by user basis
  • stores all accumulated file information in the memory

Usage

init

apiKey := os.Getenv("api_key")
secretKey := os.Getenv("secret")
region := os.Getenv("region")
handler := NewAwsDiskUsageHandler(apiKey, secretKey, region, "bucket/folder/inventory",24*60*60)
defer handler.Stop()

NewAwsDiskUsageHandler input parameters:

  • apiKey (AWS API KEY)
  • secretKey (AWS SECRET)
  • region (AWS REGION) of stored inventory
  • bucket/folder/inventory (root folder of your inventory)
  • 246060 cron job to be repeated in seconds

query

du, err := handler.GetDiskUsage(randomKey)

returns object of type: mailiotypes "github.com/mailio/go-mailio-server/diskusage/types"

type DiskUsage struct {
	SizeBytes   int64  `json:"sizeBytes" validate:"required"`
	Address     string `json:"address" validate:"required"`
	NumberFiles int64  `json:"numberFiles,omitempty"`
}

Development

Create .env file to store AWS keys and secrets:

api_key=AKI...
secret=aki...
region=us-east-1

Checkout the handler_test.go and handler.go

Read AWS Intenvory docs

About

Disk usage handler periodically retrieves the information from AWS Inventory service in parquet format

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages