New vendor(s):
- UpCloud
New benchmark(s):
- PassMark.
New benchmark(s):
- Static HTTP server.
- Redis.
- stress-ng's div16 run on all vCPUs.
New feature(s):
- Optional list of tables to be synced in the CLI tool.
- Standardized CPU and GPU manufacturer, family, and model name.
- Optional description for Disks.
Fix(es):
- Better support for long-running DB syncs.
- Exlude dummy "2 Ghz" CPU speed reported by GCP.
- Improved physical CPU cores lookup.
- Improved performance for interactive bulk inserts.
- Review how vendors reports on storage size using base 2 or 10.
- Update from Azure's deprecated API endpoint, fix ingesting NVMe drives.
- Better support for Azure API rate limits.
New vendor(s):
- Microsoft Azure
New feature(s):
- Support for new
hcloud
CX server types. - Support for new
hcloud
region (Singapore). - Improved caching.
Fix(es):
- Join references pointing to the right tables.
- Count CPU cores in all physical CPUs.
- Improve the standardization and cleanup of the CPU manufacturer, family, and model.
- Extract speed from CPU description when available instead of unreliable
dmidecode
data. - Update included outbound network extractor at
hcloud
due to API change. - Check if a server is available in a
gcp
zone even though a related price is known. - Silence
SAWarning
on multiple relationships using overlapping compound foreign keys. - Fix manually collected geolocation of 3
gcp
regions. - Fix spelling issues in benchmark and table column descriptions.
‼ Breaking changes:
- Complex queries with joins relying on the foreign keys of the table definitions are now using the right references. This might result in different (but correct) results than before.
Fix(es):
- Sort
dict
by its keys before passing as JSON to the database engine.
Database migrations:
- Name all constraints for easier management in the future.
- Rename the
datacenter
table toregion
, and thedatacenter_id
column toregion_id
in thezone
,server_price
,storage_price
,traffic_price
andipv4_price
tables.
‼ Breaking changes:
- Renamed Datacenter to Region in all tables and across the codebase.
New feature(s):
- Documented
benchmark
workloads and actualbenchmark_score
records loaded fromsparecores-inspector-data
. - Enriched
server
details loaded fromsparecores-inspector-data
.
Database migrations:
- Add
benchmark
andbenchmark_score
tables. - Add 8 new columns to the
server
table.
‼ Breaking changes:
- Renamed the
memory
column tomemory_amount
in theserver
table.
New feature(s):
- Add
api_reference
anddisplay_name
toDatacenter
,Zone
, andServer
. - Add latitude and longitude coordinates to
Datacenter
. - Add
family
toServer
.
New vendor(s):
- Google Cloud Platform (GCP)
New feature(s):
- SVG logo for all supported vendors.
Fix(es):
- Amazon Web Services' missed outbound traffic prices
- Hetzner Cloud's outbound traffic price per GB instead of TB
- Hetzner Cloud's
datacenter_id
reference in the server prices table
New vendors:
- Hetzner Cloud
Infrastructure:
- Use Alembic for database migrations.
CLI tools:
- Database migration helpers.
- Moved CREATE TABLE generator subcommand under
schemas create
.
Database migrations:
- Add
description
field toServer
. - Update
Server.cpu_cores
to be optional.
‼ Breaking changes:
As the database migration tool was just introduced, if you have been already using SC Crawler to initialize a database and collect data (e.g. in SCD tables), you will need to let Alembic know that you are already on v0.1.0 via the below command:
sc-crawler schemas stamp --revision 98894dffd37c
Initial PyPI release of sparecores-crawler
.
CLI tools:
- Generate database schema for standard and SCD tables of the supported records in various SQL dialects.
- Pull records from vendor APIs and update a database with the fetched records.
- Copy all supported tables from a database into another one.
- Sync records of a database into another database's standard or SCD tables, with optional logging of the changes.
- Hash database content.
Supported vendors:
- Amazon Web Services (AWS)
Supported records:
- country
- compliance_framework
- vendor
- vendor_compliance_link
- datacenter
- zone
- server
- server_price
- storage
- storage_price
- traffic_price
- ipv4_price
Infrastructure:
- Package documentation via MkDocs, Material for MkDocs,
mkdocstrings
, and bunch of other MkDocs plugins. - Database documentation on table schemas, relations and column comments via DBML and dbdocs.
- Unit tests via
pytest
. - Linting via
ruff
.