GitHunt
BU

busunkim96/professional-services

Common solutions and tools developed by Google Cloud's Professional Services team

Professional Services

Common solutions and tools developed by Google Cloud's Professional Services
team.

Open in Cloud Shell

Examples

The examples folder contains example solutions across a variety of Google Cloud
Platform products. Use these solutions as a reference for your own or extend
them to fit your particular use case.

Tools

The tools folder contains ready-made utilities which can simplify Google Cloud
Platform usage.

  • Agile Machine Learning API - A web
    application which provides the ability to train and deploy ML models on
    Google Cloud Machine Learning Engine, and visualize the predicted results
    using LIME through simple post request.
  • Airpiler - A python script to convert Autosys JIL files to
    dag-factory format to be executed in Cloud Composer (managed airflow
    environment).
  • Anthos Bare Metal Installer - An
    ansible playbook that can
    be used to install
    Anthos Bare Metal.
  • Apache Beam Client Throttling - A library
    that can be used to limit the number of requests from an Apache Beam
    pipeline to an external service. It buffers requests to not overload the
    external service and activates client-side throttling when the service
    starts rejecting requests due to out of quota errors.
  • API Key Rotation Checker - A tool that checks your
    GCP organization for API keys and compares them to a customizable rotation
    period. Regularly rotating API keys is a Google and industry standard
    recommended best practice.
  • AssetInventory - Import Cloud Asset Inventory
    resourcs into BigQuery.
  • Ansible Module for Anthos on Bare Metal -
    Ansible module for installation of Anthos on Bare Metal
  • BigQuery Discount Per-Project Attribution - A tool that
    automates the generation of a BigQuery table that uses existing exported
    billing data, by attributing both CUD and SUD charges on a per-project
    basis.
  • BigQuery Query Plan Exporter - Command
    line utility for exporting BigQuery query plans in a given date range.
  • BigQuery Query Plan Visualizer - A web application
    which provides the ability to visualise the execution stages of BigQuery
    query plans to aid in the optimization of queries.
  • BigQuery z/OS Mainframe Connector -
    A utility used to load COBOL MVS data sets into BigQuery and execute query
    and load jobs from the IBM z/OS Mainframe.
  • BigQuery Policy Tag Utility - Utility class for tagging BQ
    Table Schemas with Data Catalog Taxonomy Policy Tags. Create BQ Authorized
    Views using Policy Tags. Helper utility to provision BigQuery Dataset, Data
    Catalog Taxonomy and Policy Tags.
  • Boolean Organization Policy Enforcer -
    A tool to find the projects that do not set a boolean organization policy to
    its expected state, subsequently, set the organization policy to its
    expected set.
  • CloudConnect - A package that automates the setup of
    dual VPN tunnels between AWS and GCP.
  • Cloudera Parcel GCS Connector - This
    script helps you create a Cloudera parcel that includes Google Cloud Storage
    connector. The parcel can be deployed on a Cloudera managed cluster. This
    script helps you create a Cloudera parcel that includes Google Cloud Storage
    connector. The parcel can be deployed on a Cloudera managed cluster.
  • Cloud AI Vision Utilities - This is an
    installable Python package that provides support tools for Cloud AI Vision.
    Currently there are a few scripts for generating an AutoML Vision dataset
    CSV file from either raw images or image annotation files in PASCAL VOC
    format.
  • CUD Prioritized Attribution - A tool
    that allows GCP customers who purchased Committed Use Discounts (CUDs) to
    prioritize a specific scope (e.g. project or folder) to attribute CUDs first
    before letting any unconsumed discount float to other parts of an
    organization.
  • Custom Role Analyzer - This tool will provide
    useful insights with respect to custom roles at organization level as well
    as project level to find predefined roles from which the custom role is
    built.
  • Custom Role Manager - Manages organization- or
    project-level custom roles by combining predefined roles and including and
    removing permissions with wildcards. Can run as Cloud Function or output
    Terraform resources.
  • Composer Backup and Recovery - A
    command line tool for applying backup and recovery operations on Cloud
    Composer Airflow environments.
  • Dataproc Event Driven Spark Recommendations -
    Use Google Cloud Functions to analyze Cloud Dataproc clusters and recommend
    best practices for Apache Spark jobs. Also logs cluster configurations for
    future reference.
  • DataStream Deployment Automation -
    Python script to automate the deployment of Google Cloud DataStream. This
    script will create connection profiles, create stream and start stream.
  • DNS Sync - Sync a Cloud DNS zone with GCE resources.
    Instances and load balancers are added to the cloud DNS zone as they start
    from compute_engine_activity log events sent from a pub/sub push
    subscription. Can sync multiple projects to a single Cloud DNS zone.
  • Firewall Enforcer - Automatically watch & remove
    illegal firewall rules across organization. Firewall rules are monitored by
    a Cloud Asset Inventory Feed, which trigger a Cloud Function that inspects
    the firewall rule and deletes it if it fails a test.
  • GCE Disk Encryption Converter - A tool that
    converts disks attached to a GCE VM instance from Google-managed keys to a
    customer-managed key stored in Cloud KMS.
  • GCE switch disk-type - A tool that changes type
    of disks attached to a GCE instance.
  • GCE Quota Sync - A tool that fetches resource quota
    usage from the GCE API and synchronizes it to Stackdriver as a custom
    metric, where it can be used to define automated alerts.
  • GCE Usage Log - Collect GCE instance events into a
    BigQuery dataset, surfacing your vCPUs, RAM, and Persistent Disk, sliced by
    project, zone, and labels.
  • GCP AWS HA VPN Connection terraform - Terraform
    script to setup HA VPN between GCP and AWS.
  • GCP Architecture Visualizer -
    A tool that takes CSV output from a Forseti Inventory scan and draws out a
    dynamic hierarchical tree diagram of org -> folders -> projects ->
    gcp_resources using the D3.js javascript library.
  • GCP Organization Hierarchy Viewer - A CLI
    utility for visualizing your organization hierarchy in the terminal.
  • GCPViz - a visualization tool that takes input from
    Cloud Asset Inventory,
    creates relationships between assets and outputs a format compatible with
    graphviz.
  • GCS Bucket Mover - A tool to move user's bucket,
    including objects, metadata, and ACL, from one project to another.
  • GCS Usage Recommender - A tool that generates
    bucket-level intelligence and access patterns across all projects for a GCP
    project to generate recommended object lifecycle management.
  • GCS to BigQuery - A tool fetches object metadata from all
    Google Cloud Storage buckets and exports it in a format that can be imported
    into BigQuery for further analysis.
  • GKE Billing Export - Google Kubernetes Engine
    fine grained billing export.
  • Google Cloud Support Slackbot - Slack
    application that pulls Google Cloud support case information via the Cloud
    Support API and pushes the information to Slack
  • GSuite Exporter Cloud Function - A
    script that deploys a Cloud Function and Cloud Scheduler job that executes
    the GSuite Exporter tool automatically on a cadence.
  • GSuite Exporter - A Python package that automates
    syncing Admin SDK APIs activity reports to a GCP destination. The module
    takes entries from the chosen Admin SDK API, converts them into the
    appropriate format for the destination, and exports them to a destination
    (e.g: Stackdriver Logging).
  • Hive to BigQuery - A Python framework to migrate
    Hive table to BigQuery using Cloud SQL to keep track of the migration
    progress.
  • IAM Permissions Copier - This tool allows
    you to copy supported GCP IAM permissions from unmanaged users to managed
    Cloud Identity users.
  • IAM Recommender at Scale - A python
    package that automates applying iam recommendations.
  • Instance Mapper - Maps different IaaS VM instance
    types from EC2 and Azure Compute to Google Cloud Platform instance types
    using a customizable score-based method. Also supports database instances.
  • IPAM Autopilot - A simple tool for managing IP
    address ranges for GCP subnets.
  • K8S-2-GSM - A containerized golang app to migrate Kubernetes secrets to Google Secrets Manger (to leverage CSI secret driver).
  • LabelMaker - A tool that reads key:value pairs from a
    json file and labels the running instance and all attached drives
    accordingly.
  • Logbucket Global to Regional - Utility to change _Default sink destination to regional log buckets
  • Machine Learning Auto Exploratory Data Analysis and Feature Recommendation -
    A tool to perform comprehensive auto EDA, based on which feature
    recommendations are made, and a summary report will be generated.
  • Maven Archetype Dataflow - A maven
    archetype which bootstraps a Dataflow project with common plugins
    pre-configured to help maintain high code quality.
  • Netblock Monitor - An Apps Script project that
    will automatically provide email notifications when changes are made to
    Google’s IP ranges.
  • OpenAPI to Cloud Armor converter - A simple
    tool to generate Cloud Armor policies from OpenAPI specifications.
  • Permission Discrepancy Finder - A
    tool to find the principals with missing permissions on a resource within a
    project, subsequently, grants them the missing permissions.
  • Pubsub2Inbox - A generic Cloud Function-based tool
    that takes input from Pub/Sub messages and turns them into email, webhooks
    or GCS objects.
  • Quota Manager - A python module to programmatically
    update GCP service quotas such as bigquery.googleapis.com.
  • Secret Manager Helper - A Java library to
    make it easy to replace placeholder strings with Secret Manager secret
    payloads.
  • Service Account Provider - A tool to
    exchange GitLab CI JWT tokens against GCP IAM access tokens, in order to
    allow GitLab CI jobs to access Google Cloud APIs
  • Site Verification Group Sync - A tool
    to provision "verified owner" permissions (to create GCS buckets with custom
    dns) based on membership of a Google Group.
  • SLO Generator - A Python package that automates
    computation of Service Level Objectives, Error Budgets and Burn Rates on
    GCP, and export the computation results to available exporters (e.g: PubSub,
    BigQuery, Stackdriver Monitoring), using policies written in JSON format.
  • Snowflake_to_BQ - A shell script to transfer tables
    (schema & data) from Snowflake to BigQuery.
  • SPIFFE GCP Proxy - A tool to ease the integration
    of SPIFFE supported On-Prem workloads with GCP APIs
    using Workload Identity Federation
  • STS Job Manager - A petabyte-scale bucket
    migration tool utilizing
    Storage Transfer Service
  • VPC Flow Logs Analysis - A configurable Log
    sink + BigQuery report that shows traffic attributed to the projects in the
    Shared VPCs.
  • VPC Flow Logs Enforcer - A Cloud Function
    that will automatically enable VPC Flow Logs when a subnet is created or
    modified in any project under a particular folder or folders.
  • VPC Flow Logs Top Talkers - A configurable
    Log sink + BigQuery view to generate monthly/daily aggregate traffic reports
    per subnet or host, with the configurable labelling of IP ranges and ports.
  • VM Migrator - This utility automates migrating Virtual
    Machine instances within GCP. You can migrate VM's from one zone to another
    zone/region within the same project or different projects while retaining
    all the original VM properties like disks, network interfaces, ip, metadata,
    network tags and much more.
  • Webhook Ingestion Data Pipeline - A
    deployable app to accept and ingest unauthenticated webhook data to
    BigQuery.
  • gmon - A command-line interface (CLI) for Cloud Monitoring
    written in Python.
  • Quota Monitoring and Alerting - An
    easy-to-deploy Data Studio Dashboard with alerting capabilities, showing
    usage and quota limits in an organization or folder.
  • reddit Comment Streaming -
    Use PRAW, TextBlob, and Google Python API to collect and analyze
    reddit comments. Pushes comments to a Google Pub/sub Topic.
  • XSD to BigQuery Schema Generator - A command
    line tool for converting an XSD schema representing deeply nested and
    repeated XML content into a BigQuery compatible table schema represented in
    JSON.

Contributing

See the contributing instructions to get started
contributing.

License

All solutions within this repository are provided under the
Apache 2.0 license. Please see
the LICENSE file for more detailed terms and conditions.

Disclaimer

This repository and its contents are not an official Google Product.

Contact

Questions, issues, and comments should be directed to
professional-services-oss@google.com.

Languages

Python36.2%HTML21.1%Scala17.6%Go6.3%Java5.8%HCL3.3%TypeScript2.5%C#2.0%Shell1.9%Jinja1.0%JavaScript1.0%Smarty0.3%Makefile0.2%Dockerfile0.2%CSS0.2%Component Pascal0.0%C++0.0%
Apache License 2.0
Created January 26, 2023
Updated January 26, 2023
busunkim96/professional-services | GitHunt