Source of UN/LOCODE database generated by FrostFS CLI.
Find a file
Vitaliy Potyarkin c0812d5ad6 [#20] Use selfhosted actions mirror
TrueCloudLab/frostfs-infra#152

Signed-off-by: Vitaliy Potyarkin <v.potyarkin@yadro.com>
2024-12-12 11:54:11 +03:00
.forgejo [#20] Use selfhosted actions mirror 2024-12-12 11:54:11 +03:00
data [#5] Add local data sources 2023-04-24 15:44:24 +03:00
debian [#7] Update Debian package 2024-07-10 10:49:52 +03:00
pkg/locode [#14] locode_generate: Increase number of CPUs 2024-10-02 07:31:37 +00:00
.gitattributes Update common files from template repo 2024-07-08 11:12:07 +03:00
.gitignore [#11] Fix lintian warnings 2022-10-28 09:05:48 +03:00
.gitlint Update common files from template repo 2024-07-08 11:12:07 +03:00
.golangci.yml Update common files from template repo 2024-07-08 11:12:07 +03:00
.pre-commit-config.yaml Update common files from template repo 2024-07-08 11:12:07 +03:00
CHANGELOG.md Release v0.5.0 2024-09-30 13:57:14 +03:00
CODEOWNERS [#18] Stop using obsolete .github directory 2024-11-06 15:25:12 +03:00
CONTRIBUTING.md [#7] Update documentation 2024-07-10 10:49:38 +03:00
go.mod [#7] Add local tool for building database file 2024-07-09 18:54:05 +03:00
go.sum [#7] Add local tool for building database file 2024-07-09 18:54:05 +03:00
LICENSE Initial commit 2021-02-10 15:04:51 +03:00
locode_generate.go [#7] Add local tool for building database file 2024-07-09 18:54:05 +03:00
locode_generate_test.go [#14] Add locode_generate benchmark 2024-10-02 07:31:37 +00:00
locode_info.go [#7] Add local tool for building database file 2024-07-09 18:54:05 +03:00
main.go [#7] Add local tool for building database file 2024-07-09 18:54:05 +03:00
Makefile [#7] Add local tool for building database file 2024-07-09 18:54:05 +03:00
README.md [#18] Stop using obsolete .github directory 2024-11-06 15:25:12 +03:00
VERSION Rebranding 2022-12-22 16:28:24 +03:00

FrostFS logo

UN/LOCODE database for ForstFS


Overview

FrostFS uses UN/LOCODE in storage node attributes and storage policies. Inner ring nodes converts UN/LOCODE into human-readable set of attributes such as continent, country name, etc.

This repository tools generate UN/LOCODE database for FrostFS using data from following sources:

Build

Prerequisites

  • Go 1.21

Quick start

Just run make to generate locode_db file for use with FrostFS InnerRing nodes.

$ make
...
--out locode_db

Building

Then run frost-cli command to generate UN/LOCODE database.

$ ./frostfs-locode-db generate 
Generate UN/LOCODE database for FrostFS

Usage:
  frostfs-locode-db generate [flags]

Flags:
      --airports string     Path to OpenFlights airport database (csv)
      --continents string   Path to continent polygons (GeoJSON)
      --countries string    Path to OpenFlights country database (csv)
  -h, --help                help for generate
      --in strings          List of paths to UN/LOCODE tables (csv)
      --out string          Target path for generated database
      --subdiv string       Path to UN/LOCODE subdivision database (csv)

$ ./frostfs-locode-db generate \
  --airports airports.dat \
  --continents continents.geojson \
  --countries countries.dat \
  --in 2022-2\ UNLOCODE\ CodeList.csv \
  --subdiv 2022-2\ SubdivisionCodes.csv \
  --out locode_db

Database generation might take some time!

You can test generated database with frostfs-locode-db.

$ frostfs-locode-db info --db locode_db --locode 'RU LED'
Country: Russia
Location: Saint Petersburg (ex Leningrad)
Continent: Europe
Subdivision: [SPE] Sankt-Peterburg
Coordinates: 59.88, 30.25

Building Debian package

The most simple way is to run a make target

$ make debpackage

When packages are built, you can clean up the leftover with

$ dh clean

or

$ make debclean

License

This project is licensed under the CC Attribution-ShareAlike 4.0 International - see the LICENSE file for details