This project uses GitHub Actions for automated builds and deployments. Ready to tweak and test this webapp locally? Follow these instructions:
- Google Cloud CLI (
gcloud
) - SQLite3 (
sqlite3
) - Perl 5 (
perl
) - Perl modules:
- App::Options
- Encode
- YAML::XS (and
libyaml
) - JSON::XS
- DBD::CSV
- DBD::SQLite
- Template::Toolkit
- plackup
Debian/Ubuntu
Packages:
sudo apt update
sudo apt install \
libapp-options-perl \
libdbd-csv-perl \
libdbd-sqlite3-perl \
libencode-perl \
libjson-xs-perl \
libplack-perl \
libtemplate-perl \
libyaml-libyaml-perl \
sqlite3
sudo apt-get install apt-transport-https ca-certificates gnupg
# Add the gcloud CLI distribution URI as a package source
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
# Import the Google Cloud public key.
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo tee /usr/share/keyrings/cloud.google.gpg
# Update and install the gcloud CLI
sudo apt-get update
sudo apt-get install google-cloud-cli
macOS
Homebrew packages:
brew install perl
brew install cpanminus pkg-config
brew install sqlite3
brew install --cask google-cloud-sdk
Perl modules:
cpanm --installdeps .
Run:
bash build.sh
- Create SQLite3 database
gce.db
for GCE machine type informations - Export all Google Compute Engine machine types ans zones via the Google Compute Engine API to CSV file
machinetypes.csv
andzones.csv
- Copy machine types ans zones from CSV file to SQLite database
gce.db
tablemachinetypes
andzones
- Clean up (Remove disconnected data centers...)
- Copy machine types per region to database table
instances
and disk types per region to tabledisks
- Add costs for machine types in region from pricing
- Add additional machine type informations
- Add CPU platforms and IP addresses
- Add available CPU platforms per instance in region
- Add number of public IP addresses for each GCP region
- Add even more
- Frequency (GHz)
- EEMBC CoreMark Benchmark
- SAP and HANA certified machine types
- Export CSV and SQL file
- Test
Create:
perl site.pl
No regions and comparison:
perl site.pl \
--comparison=0 \
--region=0
Only g1-small
and europe-west4
:
perl site.pl \
--comparison=1 \
--limit_comparison=g1-small \
--region=1 \
--limit_region=europe-west4
This Perl script creates static websites (Templates are located in the src folder).
The websites are stored in the directory ../site/
.
The JavaScript grid library AG Grid Community is used.
Run:
plackup --host "127.0.0.1" --port "8080"