Skip to content

rosmo/portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

Solutions portfolio

I've built several open sourced solutions. Have a look at what I've created and see if there's anything that would work for you or your organization.

Medium

For my articles, see taneli-leppa.medium.com.

Google Cloud Platform solutions

Cloud Instance mapper

Cloud Instance mapper creates a score-based mapping of different cloud IaaS VM instance types from EC2 and Azure Compute to Google Cloud Platform instance types, based on fresh data fetched from APIs. You can also map AWS RDS instances to Google Cloud SQL database types.

Link to repository

gcpviz

gcpviz example

gcpviz is a visualization tool that takes input from Cloud Asset Inventory, creates relationships between assets and outputs a format compatible with graphviz.

Link to repository

Pubsub2Inbox

Pubsub2Inbox example

Pubsub2Inbox is a swiss-army knife for reacting to Pub/Sub message. It can perform many different tasks, like sending out emails using your own SMTP servers, copying files between buckets, running BigQuery queries, turning single messages into multiple ones (fan out), etc.

Link to repository

Custom Role Manager

custom-role-manager example

Custom Role Manager is a tool that can be used to keep custom roles up to date. You can source permissions from either testable permissions of a resource or from another role or set of roles.

Link to repository

GCS2BQ

gcs2bq example

Collect all your Google Cloud Storage metadata from your organization and build storage dashboards.

Link to repository

Per-user Metadata Proxy (to be published)

Per User Metadata Proxy example

per-user-metadata-proxy is a proxy server that can provide separate Service Account identities for workloads running under different users on a single Compute Instance server. It uses the /proc filesystem's list of TCP connections to find the local identity of the workload and maps any gcloud/Cloud SDK/curl requests to another service account.

Link to repository

gsnapshot

gsnapshot example

gsnapshot provides a more traditional experience in managing VM instance level snapshots, rollbacks and commits.

Link to repository

pubsub2syslog

A very simple example of reading from Pub/Sub and writing the messages to syslog (can be used for example to transport audit logs to security products that support reading syslog).

Link to repository

Lambda compatibility for Cloud Run

Running unmodified AWS Lambda functions on Cloud Run? With credentials? It's possible by using a Lambda Runtime API emulator written in Go.

Link to repository

Terraform solutions

Persistent counter provider

A provider for keeping persistent counters for resources.

Link to repository Link to Terraform registry

Google Cloud Platform examples

Long running Cloud Run functions

Example on how to run long-running Cloud Run functions, with discussion on alternative approaches and limitations.

Link to article Link to repository

Contributions

GKE Autoneg

Autoneg allows you to add Kubernetes services to Google Load Balancing backends.

Link to repository

Gitlab installation using GCP load balancing

Uses Autoneg and GCP load balancing components to run a Gitlab installation through external HTTP(S) load balancing and global TCP proxy for SSH.

Link to repository

Cloud Foundation Fabric

This repository provides end-to-end examples and a suite of Terraform modules for Google Cloud for rapid prototyping.

Link to repository

Other solutions

ESP-IDF projects

When building for ESP32, I always pick ESP-IDF. Being a home automation enthuasist, I tend to veer towards Zigbee solutions - commercial and homebrewed. I've built a few projects:

ESP-IDF projects

Spaceballs! - The Switch

Medium article: Spaceballs — The Switch! Zigbee’ing a device Link to repository

Plant monitoring

Reads 3 sensors via ADC and sends the information directly into InfluxDB.

Link to repository

CircleMonitor

A cheap ESP32 "smartwatch" turned into a wireless PC hardware monitor, leveraging LibreHardwareMonitor.

Link to repository

OVstops

Built for M5Paper and its ePaper display, pick up to 3 different stops and lines from ovapi.nl and show the next departures.

Link to repository

go-hidproxy

Proxies Bluetooth keyboards and mouse as HID devices

Link to repository

mydumper-anon

Anonymizes data dumps from MySQL instances in real-time.

Link to repository

Deterministic Random for JMeter

Creates randomness with a predefined seed for a JMeter run.

Link to repository

Contributions to open source

Projects I've contributed to: amitbet/vncproxy, noVNC/noVNC, hashicorp/packer, ansible/ansible, apache/beam, spotify/annoy, terraform-google-modules/cloud-foundation-fabric, terraform-google-modules/terraform-google-vpc-service-controls, GoogleCloudPlatform/policy-library, rocket-internet-berlin/RocketGoRedSVD, boto/boto, wcgallego/pecl-gearman, phpv8/v8js, php/php-src, ...

About

My public solutions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published