Skip to content

Gemini Enterprise Blueprint - Release 1.2.0#15

Open
michael-intindola wants to merge 6 commits intomainfrom
feat/g4g-deployment-1.2.0
Open

Gemini Enterprise Blueprint - Release 1.2.0#15
michael-intindola wants to merge 6 commits intomainfrom
feat/g4g-deployment-1.2.0

Conversation

@michael-intindola
Copy link
Copy Markdown
Collaborator

Summary

This pull request introduces significant enhancements to the deployment workflow for the Gemini Enterprise blueprint (version 1.2.0). The changes primarily focus on hardening the deploy.sh script, improving the user experience through interactive menus, enforcing environment consistency, and automating compliance-related configurations (such as CMEK registration) required for Assured Workloads environments (FedRAMP High, IL4/IL5).

Key Changes

Environment & Tooling Consistency

  • Automated tfenv Management: Added logic to automatically install tfenv if missing and enforce the use of Terraform version 1.12.2. This ensures all operators use the same Terraform version, preventing state corruption and inconsistent applies.

State Management & Hydration

  • Configuration Hydration: Implemented a state hydration mechanism to persist user inputs and configuration values across different deployment stages and sessions. This reduces manual data entry and minimizes errors during multi-stage deployments.
  • Resource Import Automation: Added support for discovering and importing existing Google Cloud Storage (GCS) buckets and BigQuery datasets into the Terraform state, facilitating smoother brownfield integrations.

Authentication & Security

  • ADC & Quota Project Handling: Improved the setup of Application Default Credentials (ADC) and quota project configuration to prevent billing and permission errors when interacting with Discovery Engine and other APIs.
  • CMEK Automation: Automated the registration and validation of Customer Managed Encryption Keys (CMEK) for Discovery Engine, ensuring compliance with strict data protection requirements.

Interactive Deployment Enhancements

  • Compliance Regime Selection: Added explicit prompts for selecting the compliance regime, including support for IL5 overlays.
  • Certificate Management Options: Users can now choose between Google-managed and self-managed certificates during the interactive setup.
  • Topology Selection: Added interactive choice for deployment topologies.
  • BigQuery Schema Mapping: Interactive prompts for mapping BigQuery schemas during document imports.

Helper Functions

  • License Distribution: Added a new menu option to assist with the distribution of Gemini licenses to users.

Bug Fixes & Optimizations

  • Resolved potential hangs in non-interactive environments by adding appropriate flags to gcloud commands.
  • Consolidated deployment checks to reduce noise and improve speed.
  • Improved error handling and validation for pre-flight checks.

Verification Plan

  • Static Analysis: Validated scripts for syntax correctness.
  • Manual Verification: The script has been exercised through the various interactive paths to ensure state hydration and resource discovery work as expected.
  • Terraform Validation: The underlying Terraform configurations in gemini-stage-0 and gemini-stage-1 have been validated.

Updates the README to reflect the new version 1.2.0 and the latest capabilities of the blueprint.
Revises the infrastructure description to better explain the core components, networking, security controls, and data storage.
Clarifies the deployment automation features, including session persistence, interactive configuration, and helper functions.
Introduces support for a "none" deployment type, allowing the provisioning of the Gemini Enterprise application without a Load Balancer.
Adds support for Google-managed SSL certificates via Certificate Manager.
Simplifies CMEK management by removing key creation from Terraform and assuming keys are managed externally or via the deployment script.
Adds Analytics capabilities by creating a BigQuery sink for Discovery Engine audit logs.
Updates Data Store logic to create empty stores and wait for IAM propagation before importing data.
Supports multiple user groups for Identity-Aware Proxy (IAP) access.
Conditionally enables APIs based on the selected compliance regime.
Adds support for the IL5 compliance regime, including disabling specific features and implicit model caching not yet authorized for IL5.
Introduces new commands for listing and distributing Gemini for Government licenses across projects.
Enhances application creation by accepting display names, company names, and enabling audit logs.
Updates assistant configurations and feature toggles to align with compliance requirements.
Supports relative paths for Google Cloud Storage document imports.
Adds automated installation of tfenv and enforces Terraform version 1.12.2 to ensure consistent deployments.
Introduces state hydration to persist configuration values across different stages and sessions.
Improves authentication handling, including better Application Default Credentials (ADC) and quota project setup.
Adds support for importing existing Google Cloud Storage buckets and BigQuery datasets into Terraform state.
Provides interactive menus for selecting compliance regimes (including IL5), certificate management types, and deployment topologies.
Adds interactive BigQuery schema mapping for document imports directly within the script.
Includes a new helper function menu option for distributing Gemini licenses.
Automates CMEK key registration and validation for Discovery Engine.
"commonConfig": {
"companyName": company_name
},
# "knowledgeGraphConfig": {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: Why has this been commented out? I'd recommend leaving a comment to help communicate the justification or delete the content entirely.

@@ -1,3 +1,4 @@
import sys
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't quite know what the current process is but shouldn't this file have the following header at least?

Suggested change
import sys
# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import sys

@ncurrie3 ncurrie3 moved this from Todo to In Progress in stellar-engine Apr 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

3 participants