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.
gcpviz
gcpviz
is a visualization tool that takes input from Cloud Asset Inventory,
creates relationships between assets and outputs a format compatible with graphviz
.
Pubsub2Inbox
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.
Custom Role Manager
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.
GCS2BQ
Collect all your Google Cloud Storage metadata from your organization and build storage dashboards.
Per-user Metadata Proxy (to be published)
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.
gsnapshot
gsnapshot
provides a more traditional experience in managing VM instance level snapshots, rollbacks
and commits.
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).
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.
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.
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.
Cloud Foundation Fabric
This repository provides end-to-end examples and a suite of Terraform modules for Google Cloud for rapid prototyping.
Other solutions
go-hidproxy
Proxies Bluetooth keyboards and mouse as HID devices
mydumper-anon
Anonymizes data dumps from MySQL instances in real-time.
Deterministic Random for JMeter
Creates randomness with a predefined seed for a JMeter run.
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, ...