1196 lines
50 KiB
JSON
1196 lines
50 KiB
JSON
{
|
|
"version": 4,
|
|
"terraform_version": "1.10.1",
|
|
"serial": 268,
|
|
"lineage": "a183cd95-f987-8698-c6dd-84e933c394a5",
|
|
"outputs": {
|
|
"cloud_run_qdrant_host": {
|
|
"value": "34.71.6.1",
|
|
"type": "string"
|
|
},
|
|
"cloud_run_qdrant_host_internal": {
|
|
"value": "10.128.0.4",
|
|
"type": "string"
|
|
},
|
|
"cloud_run_url": {
|
|
"value": "https://sereact-p64zpdtkta-uc.a.run.app",
|
|
"type": "string"
|
|
},
|
|
"container_registry_url": {
|
|
"value": "gcr.io/gen-lang-client-0424120530/sereact",
|
|
"type": "string"
|
|
},
|
|
"deployment_summary": {
|
|
"value": {
|
|
"cloud_run_url": "https://sereact-p64zpdtkta-uc.a.run.app",
|
|
"firestore_database": "sereact-imagedb",
|
|
"qdrant_endpoint": "http://34.71.6.1:6333",
|
|
"qdrant_host_ip": "34.71.6.1",
|
|
"static_ip_enabled": false,
|
|
"storage_bucket": "sereact-images"
|
|
},
|
|
"type": [
|
|
"object",
|
|
{
|
|
"cloud_run_url": "string",
|
|
"firestore_database": "string",
|
|
"qdrant_endpoint": "string",
|
|
"qdrant_host_ip": "string",
|
|
"static_ip_enabled": "bool",
|
|
"storage_bucket": "string"
|
|
}
|
|
]
|
|
},
|
|
"firestore_database_id": {
|
|
"value": "projects/gen-lang-client-0424120530/databases/sereact-imagedb",
|
|
"type": "string"
|
|
},
|
|
"pubsub_dlq_topic_name": {
|
|
"value": "image-processing-topic-dlq",
|
|
"type": "string"
|
|
},
|
|
"pubsub_subscription_name": {
|
|
"value": "image-processing-topic-subscription",
|
|
"type": "string"
|
|
},
|
|
"pubsub_topic_name": {
|
|
"value": "image-processing-topic",
|
|
"type": "string"
|
|
},
|
|
"qdrant_grpc_endpoint": {
|
|
"value": "http://34.71.6.1:6334",
|
|
"type": "string"
|
|
},
|
|
"qdrant_http_endpoint": {
|
|
"value": "http://34.71.6.1:6333",
|
|
"type": "string"
|
|
},
|
|
"storage_bucket_name": {
|
|
"value": "sereact-images",
|
|
"type": "string"
|
|
},
|
|
"vector_db_vm_external_ip": {
|
|
"value": "34.71.6.1",
|
|
"type": "string"
|
|
},
|
|
"vector_db_vm_internal_ip": {
|
|
"value": "10.128.0.4",
|
|
"type": "string"
|
|
},
|
|
"vector_db_vm_name": {
|
|
"value": "sereact-vector-db",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"resources": [
|
|
{
|
|
"mode": "data",
|
|
"type": "google_project",
|
|
"name": "current",
|
|
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
|
|
"instances": [
|
|
{
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"auto_create_network": null,
|
|
"billing_account": "00CA97-62E5BD-4A62B5",
|
|
"deletion_policy": "PREVENT",
|
|
"effective_labels": {
|
|
"generative-language": "enabled"
|
|
},
|
|
"folder_id": null,
|
|
"id": "projects/gen-lang-client-0424120530",
|
|
"labels": {
|
|
"generative-language": "enabled"
|
|
},
|
|
"name": "Gemini API",
|
|
"number": "761163285547",
|
|
"org_id": null,
|
|
"project_id": "gen-lang-client-0424120530",
|
|
"tags": null,
|
|
"terraform_labels": {
|
|
"generative-language": "enabled"
|
|
}
|
|
},
|
|
"sensitive_attributes": []
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"mode": "managed",
|
|
"type": "google_cloud_run_service",
|
|
"name": "sereact",
|
|
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
|
|
"instances": [
|
|
{
|
|
"schema_version": 2,
|
|
"attributes": {
|
|
"autogenerate_revision_name": false,
|
|
"id": "locations/us-central1/namespaces/gen-lang-client-0424120530/services/sereact",
|
|
"location": "us-central1",
|
|
"metadata": [
|
|
{
|
|
"annotations": {
|
|
"run.googleapis.com/ingress": "all"
|
|
},
|
|
"effective_annotations": {
|
|
"run.googleapis.com/ingress": "all",
|
|
"run.googleapis.com/ingress-status": "all",
|
|
"run.googleapis.com/operation-id": "25c8aa08-3810-4d26-82c7-5fa64300fdf9",
|
|
"run.googleapis.com/urls": "[\"https://sereact-761163285547.us-central1.run.app\",\"https://sereact-p64zpdtkta-uc.a.run.app\"]",
|
|
"serving.knative.dev/creator": "johnpccd3@gmail.com",
|
|
"serving.knative.dev/lastModifier": "johnpccd3@gmail.com"
|
|
},
|
|
"effective_labels": {
|
|
"cloud.googleapis.com/location": "us-central1",
|
|
"goog-terraform-provisioned": "true"
|
|
},
|
|
"generation": 3,
|
|
"labels": {},
|
|
"namespace": "gen-lang-client-0424120530",
|
|
"resource_version": "AAY15dY3+48",
|
|
"self_link": "/apis/serving.knative.dev/v1/namespaces/761163285547/services/sereact",
|
|
"terraform_labels": {
|
|
"goog-terraform-provisioned": "true"
|
|
},
|
|
"uid": "f67eed78-59c9-4bb6-a118-fb940f206d09"
|
|
}
|
|
],
|
|
"name": "sereact",
|
|
"project": "gen-lang-client-0424120530",
|
|
"status": [
|
|
{
|
|
"conditions": [
|
|
{
|
|
"message": "Revision 'sereact-00003-2fs' is not ready and cannot serve traffic. The user-provided container failed the configured startup probe checks. Logs for this revision might contain more information.\n\nLogs URL: https://console.cloud.google.com/logs/viewer?project=gen-lang-client-0424120530\u0026resource=cloud_run_revision/service_name/sereact/revision_name/sereact-00003-2fs\u0026advancedFilter=resource.type%3D%22cloud_run_revision%22%0Aresource.labels.service_name%3D%22sereact%22%0Aresource.labels.revision_name%3D%22sereact-00003-2fs%22 \nFor more troubleshooting guidance, see https://cloud.google.com/run/docs/troubleshooting#container-failed-to-start",
|
|
"reason": "HealthCheckContainerError",
|
|
"status": "False",
|
|
"type": "Ready"
|
|
},
|
|
{
|
|
"message": "The user-provided container failed the configured startup probe checks. Logs for this revision might contain more information.\n\nLogs URL: https://console.cloud.google.com/logs/viewer?project=gen-lang-client-0424120530\u0026resource=cloud_run_revision/service_name/sereact/revision_name/sereact-00003-2fs\u0026advancedFilter=resource.type%3D%22cloud_run_revision%22%0Aresource.labels.service_name%3D%22sereact%22%0Aresource.labels.revision_name%3D%22sereact-00003-2fs%22 \nFor more troubleshooting guidance, see https://cloud.google.com/run/docs/troubleshooting#container-failed-to-start",
|
|
"reason": "",
|
|
"status": "True",
|
|
"type": "ConfigurationsReady"
|
|
},
|
|
{
|
|
"message": "Revision 'sereact-00003-2fs' is not ready and cannot serve traffic. The user-provided container failed the configured startup probe checks. Logs for this revision might contain more information.\n\nLogs URL: https://console.cloud.google.com/logs/viewer?project=gen-lang-client-0424120530\u0026resource=cloud_run_revision/service_name/sereact/revision_name/sereact-00003-2fs\u0026advancedFilter=resource.type%3D%22cloud_run_revision%22%0Aresource.labels.service_name%3D%22sereact%22%0Aresource.labels.revision_name%3D%22sereact-00003-2fs%22 \nFor more troubleshooting guidance, see https://cloud.google.com/run/docs/troubleshooting#container-failed-to-start",
|
|
"reason": "HealthCheckContainerError",
|
|
"status": "False",
|
|
"type": "RoutesReady"
|
|
}
|
|
],
|
|
"latest_created_revision_name": "sereact-00003-2fs",
|
|
"latest_ready_revision_name": "sereact-00001-rsq",
|
|
"observed_generation": 3,
|
|
"traffic": [
|
|
{
|
|
"latest_revision": true,
|
|
"percent": 100,
|
|
"revision_name": "sereact-00001-rsq",
|
|
"tag": "",
|
|
"url": ""
|
|
}
|
|
],
|
|
"url": "https://sereact-p64zpdtkta-uc.a.run.app"
|
|
}
|
|
],
|
|
"template": [
|
|
{
|
|
"metadata": [
|
|
{
|
|
"annotations": {
|
|
"autoscaling.knative.dev/maxScale": "10"
|
|
},
|
|
"generation": 0,
|
|
"labels": {
|
|
"run.googleapis.com/startupProbeType": "Custom"
|
|
},
|
|
"name": "",
|
|
"namespace": "",
|
|
"resource_version": "",
|
|
"self_link": "",
|
|
"uid": ""
|
|
}
|
|
],
|
|
"spec": [
|
|
{
|
|
"container_concurrency": 80,
|
|
"containers": [
|
|
{
|
|
"args": [],
|
|
"command": [],
|
|
"env": [
|
|
{
|
|
"name": "CORS_EXPOSE_HEADERS",
|
|
"value": "Content-Length,Content-Range",
|
|
"value_from": []
|
|
},
|
|
{
|
|
"name": "CORS_HEADERS",
|
|
"value": "Content-Type,Authorization,X-Requested-With",
|
|
"value_from": []
|
|
},
|
|
{
|
|
"name": "CORS_MAX_AGE",
|
|
"value": "3600",
|
|
"value_from": []
|
|
},
|
|
{
|
|
"name": "CORS_METHODS",
|
|
"value": "GET,POST,PUT,DELETE,OPTIONS",
|
|
"value_from": []
|
|
},
|
|
{
|
|
"name": "CORS_ORIGINS",
|
|
"value": "['*']",
|
|
"value_from": []
|
|
},
|
|
{
|
|
"name": "FIRESTORE_DATABASE_NAME",
|
|
"value": "sereact-imagedb",
|
|
"value_from": []
|
|
},
|
|
{
|
|
"name": "FIRESTORE_PROJECT_ID",
|
|
"value": "gen-lang-client-0424120530",
|
|
"value_from": []
|
|
},
|
|
{
|
|
"name": "GCS_BUCKET_NAME",
|
|
"value": "sereact-images",
|
|
"value_from": []
|
|
},
|
|
{
|
|
"name": "LOG_LEVEL",
|
|
"value": "INFO",
|
|
"value_from": []
|
|
},
|
|
{
|
|
"name": "QDRANT_API_KEY",
|
|
"value": "",
|
|
"value_from": []
|
|
},
|
|
{
|
|
"name": "QDRANT_HOST",
|
|
"value": "34.71.6.1",
|
|
"value_from": []
|
|
},
|
|
{
|
|
"name": "QDRANT_HTTPS",
|
|
"value": "false",
|
|
"value_from": []
|
|
},
|
|
{
|
|
"name": "QDRANT_PORT",
|
|
"value": "6333",
|
|
"value_from": []
|
|
},
|
|
{
|
|
"name": "QDRANT_PREFER_GRPC",
|
|
"value": "false",
|
|
"value_from": []
|
|
},
|
|
{
|
|
"name": "VECTOR_DB_ENVIRONMENT",
|
|
"value": "gcp-starter",
|
|
"value_from": []
|
|
},
|
|
{
|
|
"name": "VECTOR_DB_INDEX_NAME",
|
|
"value": "image-embeddings",
|
|
"value_from": []
|
|
}
|
|
],
|
|
"env_from": [],
|
|
"image": "gcr.io/gen-lang-client-0424120530/sereact-api:latest",
|
|
"liveness_probe": [],
|
|
"name": "",
|
|
"ports": [
|
|
{
|
|
"container_port": 8000,
|
|
"name": "http1",
|
|
"protocol": ""
|
|
}
|
|
],
|
|
"resources": [
|
|
{
|
|
"limits": {
|
|
"cpu": "1",
|
|
"memory": "1Gi"
|
|
},
|
|
"requests": {}
|
|
}
|
|
],
|
|
"startup_probe": [
|
|
{
|
|
"failure_threshold": 6,
|
|
"grpc": [],
|
|
"http_get": [
|
|
{
|
|
"http_headers": [],
|
|
"path": "/health",
|
|
"port": 8000
|
|
}
|
|
],
|
|
"initial_delay_seconds": 30,
|
|
"period_seconds": 10,
|
|
"tcp_socket": [],
|
|
"timeout_seconds": 5
|
|
}
|
|
],
|
|
"volume_mounts": [],
|
|
"working_dir": ""
|
|
}
|
|
],
|
|
"node_selector": {},
|
|
"service_account_name": "761163285547-compute@developer.gserviceaccount.com",
|
|
"serving_state": "",
|
|
"timeout_seconds": 300,
|
|
"volumes": []
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"timeouts": null,
|
|
"traffic": [
|
|
{
|
|
"latest_revision": true,
|
|
"percent": 100,
|
|
"revision_name": "",
|
|
"tag": "",
|
|
"url": ""
|
|
}
|
|
]
|
|
},
|
|
"sensitive_attributes": [
|
|
[
|
|
{
|
|
"type": "get_attr",
|
|
"value": "template"
|
|
},
|
|
{
|
|
"type": "index",
|
|
"value": {
|
|
"value": 0,
|
|
"type": "number"
|
|
}
|
|
},
|
|
{
|
|
"type": "get_attr",
|
|
"value": "spec"
|
|
},
|
|
{
|
|
"type": "index",
|
|
"value": {
|
|
"value": 0,
|
|
"type": "number"
|
|
}
|
|
},
|
|
{
|
|
"type": "get_attr",
|
|
"value": "containers"
|
|
},
|
|
{
|
|
"type": "index",
|
|
"value": {
|
|
"value": 0,
|
|
"type": "number"
|
|
}
|
|
},
|
|
{
|
|
"type": "get_attr",
|
|
"value": "env"
|
|
}
|
|
]
|
|
],
|
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMiJ9",
|
|
"dependencies": [
|
|
"google_compute_address.vector_db_static_ip",
|
|
"google_compute_instance.vector_db_vm",
|
|
"google_project_service.services",
|
|
"google_service_account.vector_db_sa"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"mode": "managed",
|
|
"type": "google_cloud_run_service_iam_member",
|
|
"name": "public_access",
|
|
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
|
|
"instances": [
|
|
{
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"condition": [],
|
|
"etag": "BwY15bNaQMM=",
|
|
"id": "v1/projects/gen-lang-client-0424120530/locations/us-central1/services/sereact/roles/run.invoker/allUsers",
|
|
"location": "us-central1",
|
|
"member": "allUsers",
|
|
"project": "gen-lang-client-0424120530",
|
|
"role": "roles/run.invoker",
|
|
"service": "v1/projects/gen-lang-client-0424120530/locations/us-central1/services/sereact"
|
|
},
|
|
"sensitive_attributes": [],
|
|
"private": "bnVsbA==",
|
|
"dependencies": [
|
|
"google_cloud_run_service.sereact",
|
|
"google_compute_address.vector_db_static_ip",
|
|
"google_compute_instance.vector_db_vm",
|
|
"google_project_service.services",
|
|
"google_service_account.vector_db_sa"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"mode": "managed",
|
|
"type": "google_compute_address",
|
|
"name": "vector_db_static_ip",
|
|
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
|
|
"instances": []
|
|
},
|
|
{
|
|
"mode": "managed",
|
|
"type": "google_compute_firewall",
|
|
"name": "qdrant_firewall",
|
|
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
|
|
"instances": [
|
|
{
|
|
"schema_version": 1,
|
|
"attributes": {
|
|
"allow": [
|
|
{
|
|
"ports": [
|
|
"6333",
|
|
"6334"
|
|
],
|
|
"protocol": "tcp"
|
|
}
|
|
],
|
|
"creation_timestamp": "2025-05-24T10:57:27.640-07:00",
|
|
"deny": [],
|
|
"description": "",
|
|
"destination_ranges": [],
|
|
"direction": "INGRESS",
|
|
"disabled": false,
|
|
"enable_logging": null,
|
|
"id": "projects/gen-lang-client-0424120530/global/firewalls/allow-qdrant",
|
|
"log_config": [],
|
|
"name": "allow-qdrant",
|
|
"network": "https://www.googleapis.com/compute/v1/projects/gen-lang-client-0424120530/global/networks/default",
|
|
"priority": 1000,
|
|
"project": "gen-lang-client-0424120530",
|
|
"self_link": "https://www.googleapis.com/compute/v1/projects/gen-lang-client-0424120530/global/firewalls/allow-qdrant",
|
|
"source_ranges": [
|
|
"0.0.0.0/0",
|
|
"10.0.0.0/8"
|
|
],
|
|
"source_service_accounts": [],
|
|
"source_tags": [],
|
|
"target_service_accounts": [],
|
|
"target_tags": [
|
|
"qdrant"
|
|
],
|
|
"timeouts": null
|
|
},
|
|
"sensitive_attributes": [],
|
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"mode": "managed",
|
|
"type": "google_compute_instance",
|
|
"name": "vector_db_vm",
|
|
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
|
|
"instances": [
|
|
{
|
|
"schema_version": 6,
|
|
"attributes": {
|
|
"advanced_machine_features": [],
|
|
"allow_stopping_for_update": null,
|
|
"attached_disk": [],
|
|
"boot_disk": [
|
|
{
|
|
"auto_delete": true,
|
|
"device_name": "persistent-disk-0",
|
|
"disk_encryption_key_raw": "",
|
|
"disk_encryption_key_rsa": "",
|
|
"disk_encryption_key_sha256": "",
|
|
"disk_encryption_service_account": "",
|
|
"force_attach": false,
|
|
"guest_os_features": [
|
|
"VIRTIO_SCSI_MULTIQUEUE",
|
|
"SEV_CAPABLE",
|
|
"SEV_SNP_CAPABLE",
|
|
"SEV_LIVE_MIGRATABLE",
|
|
"SEV_LIVE_MIGRATABLE_V2",
|
|
"IDPF",
|
|
"TDX_CAPABLE",
|
|
"UEFI_COMPATIBLE",
|
|
"GVNIC"
|
|
],
|
|
"initialize_params": [
|
|
{
|
|
"architecture": "X86_64",
|
|
"enable_confidential_compute": false,
|
|
"image": "https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/images/ubuntu-2204-jammy-v20250523",
|
|
"labels": {},
|
|
"provisioned_iops": 0,
|
|
"provisioned_throughput": 0,
|
|
"resource_manager_tags": {},
|
|
"resource_policies": [],
|
|
"size": 50,
|
|
"snapshot": "",
|
|
"source_image_encryption_key": [],
|
|
"source_snapshot_encryption_key": [],
|
|
"storage_pool": "",
|
|
"type": "pd-standard"
|
|
}
|
|
],
|
|
"interface": "",
|
|
"kms_key_self_link": "",
|
|
"mode": "READ_WRITE",
|
|
"source": "https://www.googleapis.com/compute/v1/projects/gen-lang-client-0424120530/zones/us-central1-a/disks/sereact-vector-db"
|
|
}
|
|
],
|
|
"can_ip_forward": false,
|
|
"confidential_instance_config": [],
|
|
"cpu_platform": "Intel Broadwell",
|
|
"creation_timestamp": "2025-05-24T10:57:41.174-07:00",
|
|
"current_status": "RUNNING",
|
|
"deletion_protection": false,
|
|
"description": "",
|
|
"desired_status": null,
|
|
"effective_labels": {
|
|
"goog-terraform-provisioned": "true"
|
|
},
|
|
"enable_display": false,
|
|
"guest_accelerator": [],
|
|
"hostname": "",
|
|
"id": "projects/gen-lang-client-0424120530/zones/us-central1-a/instances/sereact-vector-db",
|
|
"instance_encryption_key": [],
|
|
"instance_id": "8076617322369889915",
|
|
"key_revocation_action_type": "",
|
|
"label_fingerprint": "vezUS-42LLM=",
|
|
"labels": {},
|
|
"machine_type": "e2-standard-2",
|
|
"metadata": {},
|
|
"metadata_fingerprint": "cE8FbgySELs=",
|
|
"metadata_startup_script": "#!/bin/bash\n\n# Qdrant Vector Database Installation Script\n# This script installs and configures Qdrant on Ubuntu 22.04\n\nset -e\n\n# Update system packages\napt-get update\napt-get upgrade -y\n\n# Install required packages\napt-get install -y curl wget gnupg2 software-properties-common apt-transport-https ca-certificates\n\n# Install Docker\ncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg\necho \"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable\" | tee /etc/apt/sources.list.d/docker.list \u003e /dev/null\napt-get update\napt-get install -y docker-ce docker-ce-cli containerd.io\n\n# Start and enable Docker\nsystemctl start docker\nsystemctl enable docker\n\n# Create qdrant user and directories\nuseradd -r -s /bin/false qdrant || true\nmkdir -p /opt/qdrant/storage\nmkdir -p /opt/qdrant/config\nchown -R qdrant:qdrant /opt/qdrant\n\n# Create Qdrant configuration file\ncat \u003e /opt/qdrant/config/config.yaml \u003c\u003c EOF\nservice:\n host: 0.0.0.0\n http_port: 6333\n grpc_port: 6334\n enable_cors: true\n\nstorage:\n storage_path: /qdrant/storage\n snapshots_path: /qdrant/snapshots\n on_disk_payload: true\n\ncluster:\n enabled: false\n\ntelemetry:\n disabled: true\n\nlog_level: INFO\nEOF\n\n# Create API key configuration if provided\nif [ -n \"\" ] \u0026\u0026 [ \"\" != \"\" ]; then\ncat \u003e\u003e /opt/qdrant/config/config.yaml \u003c\u003c EOF\n\nservice:\n api_key: \"\"\nEOF\nfi\n\n# Create systemd service for Qdrant\ncat \u003e /etc/systemd/system/qdrant.service \u003c\u003c EOF\n[Unit]\nDescription=Qdrant Vector Database\nAfter=docker.service\nRequires=docker.service\n\n[Service]\nType=simple\nUser=root\nExecStartPre=-/usr/bin/docker stop qdrant\nExecStartPre=-/usr/bin/docker rm qdrant\nExecStart=/usr/bin/docker run --name qdrant \\\n -p 6333:6333 \\\n -p 6334:6334 \\\n -v /opt/qdrant/storage:/qdrant/storage:z \\\n -v /opt/qdrant/config/config.yaml:/qdrant/config/production.yaml:z \\\n qdrant/qdrant:latest\nExecStop=/usr/bin/docker stop qdrant\nRestart=always\nRestartSec=10\n\n[Install]\nWantedBy=multi-user.target\nEOF\n\n# Pull Qdrant Docker image\ndocker pull qdrant/qdrant:latest\n\n# Enable and start Qdrant service\nsystemctl daemon-reload\nsystemctl enable qdrant\nsystemctl start qdrant\n\n# Install monitoring tools\napt-get install -y htop iotop nethogs\n\n# Create a simple health check script\ncat \u003e /opt/qdrant/health_check.sh \u003c\u003c 'EOF'\n#!/bin/bash\nresponse=$(curl -s -o /dev/null -w \"%{http_code}\" http://localhost:6333/health)\nif [ \"$response\" = \"200\" ]; then\n echo \"Qdrant is healthy\"\n exit 0\nelse\n echo \"Qdrant is not responding properly (HTTP $response)\"\n exit 1\nfi\nEOF\n\nchmod +x /opt/qdrant/health_check.sh\n\n# Set up log rotation for Docker logs\ncat \u003e /etc/logrotate.d/docker \u003c\u003c EOF\n/var/lib/docker/containers/*/*.log {\n rotate 7\n daily\n compress\n size=1M\n missingok\n delaycompress\n copytruncate\n}\nEOF\n\n# Configure firewall (ufw)\nufw --force enable\nufw allow ssh\nufw allow 6333/tcp # Qdrant HTTP API\nufw allow 6334/tcp # Qdrant gRPC API\n\n# Create a simple backup script\ncat \u003e /opt/qdrant/backup.sh \u003c\u003c 'EOF'\n#!/bin/bash\nBACKUP_DIR=\"/opt/qdrant/backups\"\nDATE=$(date +%Y%m%d_%H%M%S)\nmkdir -p $BACKUP_DIR\n\n# Create snapshot via API\ncurl -X POST \"http://localhost:6333/snapshots\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"snapshot_name\": \"backup_'$DATE'\"}'\n\n# Copy storage directory\ntar -czf $BACKUP_DIR/qdrant_storage_$DATE.tar.gz -C /opt/qdrant storage/\n\n# Keep only last 7 backups\nfind $BACKUP_DIR -name \"*.tar.gz\" -mtime +7 -delete\n\necho \"Backup completed: $DATE\"\nEOF\n\nchmod +x /opt/qdrant/backup.sh\n\n# Set up daily backup cron job\necho \"0 2 * * * root /opt/qdrant/backup.sh \u003e\u003e /var/log/qdrant_backup.log 2\u003e\u00261\" \u003e\u003e /etc/crontab\n\n# Wait for Qdrant to be ready\necho \"Waiting for Qdrant to start...\"\nfor i in {1..30}; do\n if curl -s http://localhost:6333/health \u003e /dev/null; then\n echo \"Qdrant is ready!\"\n break\n fi\n echo \"Waiting... ($i/30)\"\n sleep 10\ndone\n\n# Create a default collection for image vectors\ncurl -X PUT \"http://localhost:6333/collections/image_vectors\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"vectors\": {\n \"size\": 512,\n \"distance\": \"Cosine\"\n },\n \"optimizers_config\": {\n \"default_segment_number\": 2\n },\n \"replication_factor\": 1\n }'\n\necho \"Qdrant installation and configuration completed!\"\necho \"Qdrant is accessible at:\"\necho \" HTTP API: http://$(curl -s ifconfig.me):6333\"\necho \" gRPC API: http://$(curl -s ifconfig.me):6334\"\necho \"Health check: /opt/qdrant/health_check.sh\"\necho \"Backup script: /opt/qdrant/backup.sh\" ",
|
|
"min_cpu_platform": "",
|
|
"name": "sereact-vector-db",
|
|
"network_interface": [
|
|
{
|
|
"access_config": [
|
|
{
|
|
"nat_ip": "34.71.6.1",
|
|
"network_tier": "PREMIUM",
|
|
"public_ptr_domain_name": ""
|
|
}
|
|
],
|
|
"alias_ip_range": [],
|
|
"internal_ipv6_prefix_length": 0,
|
|
"ipv6_access_config": [],
|
|
"ipv6_access_type": "",
|
|
"ipv6_address": "",
|
|
"name": "nic0",
|
|
"network": "https://www.googleapis.com/compute/v1/projects/gen-lang-client-0424120530/global/networks/default",
|
|
"network_attachment": "",
|
|
"network_ip": "10.128.0.4",
|
|
"nic_type": "",
|
|
"queue_count": 0,
|
|
"stack_type": "IPV4_ONLY",
|
|
"subnetwork": "https://www.googleapis.com/compute/v1/projects/gen-lang-client-0424120530/regions/us-central1/subnetworks/default",
|
|
"subnetwork_project": "gen-lang-client-0424120530"
|
|
}
|
|
],
|
|
"network_performance_config": [],
|
|
"params": [],
|
|
"project": "gen-lang-client-0424120530",
|
|
"reservation_affinity": [],
|
|
"resource_policies": [],
|
|
"scheduling": [
|
|
{
|
|
"automatic_restart": true,
|
|
"availability_domain": 0,
|
|
"instance_termination_action": "",
|
|
"local_ssd_recovery_timeout": [],
|
|
"max_run_duration": [],
|
|
"min_node_cpus": 0,
|
|
"node_affinities": [],
|
|
"on_host_maintenance": "MIGRATE",
|
|
"on_instance_stop_action": [],
|
|
"preemptible": false,
|
|
"provisioning_model": "STANDARD",
|
|
"termination_time": ""
|
|
}
|
|
],
|
|
"scratch_disk": [],
|
|
"self_link": "https://www.googleapis.com/compute/v1/projects/gen-lang-client-0424120530/zones/us-central1-a/instances/sereact-vector-db",
|
|
"service_account": [
|
|
{
|
|
"email": "vector-db-sa@gen-lang-client-0424120530.iam.gserviceaccount.com",
|
|
"scopes": [
|
|
"https://www.googleapis.com/auth/cloud-platform"
|
|
]
|
|
}
|
|
],
|
|
"shielded_instance_config": [
|
|
{
|
|
"enable_integrity_monitoring": true,
|
|
"enable_secure_boot": false,
|
|
"enable_vtpm": true
|
|
}
|
|
],
|
|
"tags": [
|
|
"qdrant",
|
|
"vector-db"
|
|
],
|
|
"tags_fingerprint": "SoSixaaHMG4=",
|
|
"terraform_labels": {
|
|
"goog-terraform-provisioned": "true"
|
|
},
|
|
"timeouts": null,
|
|
"zone": "us-central1-a"
|
|
},
|
|
"sensitive_attributes": [
|
|
[
|
|
{
|
|
"type": "get_attr",
|
|
"value": "metadata_startup_script"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "get_attr",
|
|
"value": "boot_disk"
|
|
},
|
|
{
|
|
"type": "index",
|
|
"value": {
|
|
"value": 0,
|
|
"type": "number"
|
|
}
|
|
},
|
|
{
|
|
"type": "get_attr",
|
|
"value": "disk_encryption_key_raw"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "get_attr",
|
|
"value": "boot_disk"
|
|
},
|
|
{
|
|
"type": "index",
|
|
"value": {
|
|
"value": 0,
|
|
"type": "number"
|
|
}
|
|
},
|
|
{
|
|
"type": "get_attr",
|
|
"value": "disk_encryption_key_rsa"
|
|
}
|
|
]
|
|
],
|
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiNiJ9",
|
|
"dependencies": [
|
|
"google_compute_address.vector_db_static_ip",
|
|
"google_project_service.services",
|
|
"google_service_account.vector_db_sa"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"mode": "managed",
|
|
"type": "google_firestore_database",
|
|
"name": "database",
|
|
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
|
|
"instances": [
|
|
{
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"app_engine_integration_mode": "DISABLED",
|
|
"cmek_config": [],
|
|
"concurrency_mode": "PESSIMISTIC",
|
|
"create_time": "",
|
|
"database_edition": "STANDARD",
|
|
"delete_protection_state": "DELETE_PROTECTION_DISABLED",
|
|
"deletion_policy": "ABANDON",
|
|
"earliest_version_time": "2025-05-24T19:50:07.050995Z",
|
|
"etag": "IKWD/+D9vI0DMLa2lbPIvI0D",
|
|
"id": "projects/gen-lang-client-0424120530/databases/sereact-imagedb",
|
|
"key_prefix": "",
|
|
"location_id": "us-central1",
|
|
"name": "sereact-imagedb",
|
|
"point_in_time_recovery_enablement": "POINT_IN_TIME_RECOVERY_DISABLED",
|
|
"project": "gen-lang-client-0424120530",
|
|
"timeouts": null,
|
|
"type": "FIRESTORE_NATIVE",
|
|
"uid": "30634721-c8c7-4673-b605-c1a91dff3eab",
|
|
"update_time": "",
|
|
"version_retention_period": "3600s"
|
|
},
|
|
"sensitive_attributes": [],
|
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMCJ9",
|
|
"dependencies": [
|
|
"google_project_service.services"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"mode": "managed",
|
|
"type": "google_project_service",
|
|
"name": "services",
|
|
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
|
|
"instances": [
|
|
{
|
|
"index_key": "cloudresourcemanager.googleapis.com",
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"disable_dependent_services": null,
|
|
"disable_on_destroy": false,
|
|
"id": "gen-lang-client-0424120530/cloudresourcemanager.googleapis.com",
|
|
"project": "gen-lang-client-0424120530",
|
|
"service": "cloudresourcemanager.googleapis.com",
|
|
"timeouts": null
|
|
},
|
|
"sensitive_attributes": [],
|
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInJlYWQiOjYwMDAwMDAwMDAwMCwidXBkYXRlIjoxMjAwMDAwMDAwMDAwfX0="
|
|
},
|
|
{
|
|
"index_key": "compute.googleapis.com",
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"disable_dependent_services": null,
|
|
"disable_on_destroy": false,
|
|
"id": "gen-lang-client-0424120530/compute.googleapis.com",
|
|
"project": "gen-lang-client-0424120530",
|
|
"service": "compute.googleapis.com",
|
|
"timeouts": null
|
|
},
|
|
"sensitive_attributes": [],
|
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInJlYWQiOjYwMDAwMDAwMDAwMCwidXBkYXRlIjoxMjAwMDAwMDAwMDAwfX0="
|
|
},
|
|
{
|
|
"index_key": "containerregistry.googleapis.com",
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"disable_dependent_services": null,
|
|
"disable_on_destroy": false,
|
|
"id": "gen-lang-client-0424120530/containerregistry.googleapis.com",
|
|
"project": "gen-lang-client-0424120530",
|
|
"service": "containerregistry.googleapis.com",
|
|
"timeouts": null
|
|
},
|
|
"sensitive_attributes": [],
|
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInJlYWQiOjYwMDAwMDAwMDAwMCwidXBkYXRlIjoxMjAwMDAwMDAwMDAwfX0="
|
|
},
|
|
{
|
|
"index_key": "firestore.googleapis.com",
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"disable_dependent_services": null,
|
|
"disable_on_destroy": false,
|
|
"id": "gen-lang-client-0424120530/firestore.googleapis.com",
|
|
"project": "gen-lang-client-0424120530",
|
|
"service": "firestore.googleapis.com",
|
|
"timeouts": null
|
|
},
|
|
"sensitive_attributes": [],
|
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInJlYWQiOjYwMDAwMDAwMDAwMCwidXBkYXRlIjoxMjAwMDAwMDAwMDAwfX0="
|
|
},
|
|
{
|
|
"index_key": "run.googleapis.com",
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"disable_dependent_services": null,
|
|
"disable_on_destroy": false,
|
|
"id": "gen-lang-client-0424120530/run.googleapis.com",
|
|
"project": "gen-lang-client-0424120530",
|
|
"service": "run.googleapis.com",
|
|
"timeouts": null
|
|
},
|
|
"sensitive_attributes": [],
|
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInJlYWQiOjYwMDAwMDAwMDAwMCwidXBkYXRlIjoxMjAwMDAwMDAwMDAwfX0="
|
|
},
|
|
{
|
|
"index_key": "storage.googleapis.com",
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"disable_dependent_services": null,
|
|
"disable_on_destroy": false,
|
|
"id": "gen-lang-client-0424120530/storage.googleapis.com",
|
|
"project": "gen-lang-client-0424120530",
|
|
"service": "storage.googleapis.com",
|
|
"timeouts": null
|
|
},
|
|
"sensitive_attributes": [],
|
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInJlYWQiOjYwMDAwMDAwMDAwMCwidXBkYXRlIjoxMjAwMDAwMDAwMDAwfX0="
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"mode": "managed",
|
|
"type": "google_pubsub_subscription",
|
|
"name": "image_processing",
|
|
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
|
|
"instances": [
|
|
{
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"ack_deadline_seconds": 600,
|
|
"bigquery_config": [],
|
|
"cloud_storage_config": [],
|
|
"dead_letter_policy": [
|
|
{
|
|
"dead_letter_topic": "projects/gen-lang-client-0424120530/topics/image-processing-topic-dlq",
|
|
"max_delivery_attempts": 5
|
|
}
|
|
],
|
|
"effective_labels": {
|
|
"component": "image-processing",
|
|
"environment": "dev",
|
|
"goog-terraform-provisioned": "true",
|
|
"service": "sereact"
|
|
},
|
|
"enable_exactly_once_delivery": false,
|
|
"enable_message_ordering": false,
|
|
"expiration_policy": [
|
|
{
|
|
"ttl": "2678400s"
|
|
}
|
|
],
|
|
"filter": "",
|
|
"id": "projects/gen-lang-client-0424120530/subscriptions/image-processing-topic-subscription",
|
|
"labels": {
|
|
"component": "image-processing",
|
|
"environment": "dev",
|
|
"service": "sereact"
|
|
},
|
|
"message_retention_duration": "604800s",
|
|
"name": "image-processing-topic-subscription",
|
|
"project": "gen-lang-client-0424120530",
|
|
"push_config": [],
|
|
"retain_acked_messages": false,
|
|
"retry_policy": [
|
|
{
|
|
"maximum_backoff": "600s",
|
|
"minimum_backoff": "10s"
|
|
}
|
|
],
|
|
"terraform_labels": {
|
|
"component": "image-processing",
|
|
"environment": "dev",
|
|
"goog-terraform-provisioned": "true",
|
|
"service": "sereact"
|
|
},
|
|
"timeouts": null,
|
|
"topic": "projects/gen-lang-client-0424120530/topics/image-processing-topic"
|
|
},
|
|
"sensitive_attributes": [],
|
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19",
|
|
"dependencies": [
|
|
"google_pubsub_topic.image_processing",
|
|
"google_pubsub_topic.image_processing_dlq"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"mode": "managed",
|
|
"type": "google_pubsub_subscription",
|
|
"name": "image_processing_dlq",
|
|
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
|
|
"instances": [
|
|
{
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"ack_deadline_seconds": 10,
|
|
"bigquery_config": [],
|
|
"cloud_storage_config": [],
|
|
"dead_letter_policy": [],
|
|
"effective_labels": {
|
|
"component": "image-processing-dlq",
|
|
"environment": "dev",
|
|
"goog-terraform-provisioned": "true",
|
|
"service": "sereact"
|
|
},
|
|
"enable_exactly_once_delivery": false,
|
|
"enable_message_ordering": false,
|
|
"expiration_policy": [
|
|
{
|
|
"ttl": "2678400s"
|
|
}
|
|
],
|
|
"filter": "",
|
|
"id": "projects/gen-lang-client-0424120530/subscriptions/image-processing-topic-dlq-subscription",
|
|
"labels": {
|
|
"component": "image-processing-dlq",
|
|
"environment": "dev",
|
|
"service": "sereact"
|
|
},
|
|
"message_retention_duration": "2592000s",
|
|
"name": "image-processing-topic-dlq-subscription",
|
|
"project": "gen-lang-client-0424120530",
|
|
"push_config": [],
|
|
"retain_acked_messages": true,
|
|
"retry_policy": [],
|
|
"terraform_labels": {
|
|
"component": "image-processing-dlq",
|
|
"environment": "dev",
|
|
"goog-terraform-provisioned": "true",
|
|
"service": "sereact"
|
|
},
|
|
"timeouts": null,
|
|
"topic": "projects/gen-lang-client-0424120530/topics/image-processing-topic-dlq"
|
|
},
|
|
"sensitive_attributes": [],
|
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19",
|
|
"dependencies": [
|
|
"google_pubsub_topic.image_processing_dlq"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"mode": "managed",
|
|
"type": "google_pubsub_subscription_iam_binding",
|
|
"name": "image_processing_subscriber",
|
|
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
|
|
"instances": [
|
|
{
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"condition": [],
|
|
"etag": "BwY15XOdN50=",
|
|
"id": "projects/gen-lang-client-0424120530/subscriptions/image-processing-topic-subscription/roles/pubsub.subscriber",
|
|
"members": [
|
|
"serviceAccount:761163285547-compute@developer.gserviceaccount.com"
|
|
],
|
|
"project": null,
|
|
"role": "roles/pubsub.subscriber",
|
|
"subscription": "image-processing-topic-subscription"
|
|
},
|
|
"sensitive_attributes": [],
|
|
"private": "bnVsbA==",
|
|
"dependencies": [
|
|
"data.google_project.current",
|
|
"google_pubsub_subscription.image_processing",
|
|
"google_pubsub_topic.image_processing",
|
|
"google_pubsub_topic.image_processing_dlq"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"mode": "managed",
|
|
"type": "google_pubsub_topic",
|
|
"name": "image_processing",
|
|
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
|
|
"instances": [
|
|
{
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"effective_labels": {
|
|
"component": "image-processing",
|
|
"environment": "dev",
|
|
"goog-terraform-provisioned": "true",
|
|
"service": "sereact"
|
|
},
|
|
"id": "projects/gen-lang-client-0424120530/topics/image-processing-topic",
|
|
"ingestion_data_source_settings": [],
|
|
"kms_key_name": "",
|
|
"labels": {
|
|
"component": "image-processing",
|
|
"environment": "dev",
|
|
"service": "sereact"
|
|
},
|
|
"message_retention_duration": "",
|
|
"message_storage_policy": [],
|
|
"name": "image-processing-topic",
|
|
"project": "gen-lang-client-0424120530",
|
|
"schema_settings": [],
|
|
"terraform_labels": {
|
|
"component": "image-processing",
|
|
"environment": "dev",
|
|
"goog-terraform-provisioned": "true",
|
|
"service": "sereact"
|
|
},
|
|
"timeouts": null
|
|
},
|
|
"sensitive_attributes": [],
|
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"mode": "managed",
|
|
"type": "google_pubsub_topic",
|
|
"name": "image_processing_dlq",
|
|
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
|
|
"instances": [
|
|
{
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"effective_labels": {
|
|
"component": "image-processing-dlq",
|
|
"environment": "dev",
|
|
"goog-terraform-provisioned": "true",
|
|
"service": "sereact"
|
|
},
|
|
"id": "projects/gen-lang-client-0424120530/topics/image-processing-topic-dlq",
|
|
"ingestion_data_source_settings": [],
|
|
"kms_key_name": "",
|
|
"labels": {
|
|
"component": "image-processing-dlq",
|
|
"environment": "dev",
|
|
"service": "sereact"
|
|
},
|
|
"message_retention_duration": "",
|
|
"message_storage_policy": [],
|
|
"name": "image-processing-topic-dlq",
|
|
"project": "gen-lang-client-0424120530",
|
|
"schema_settings": [],
|
|
"terraform_labels": {
|
|
"component": "image-processing-dlq",
|
|
"environment": "dev",
|
|
"goog-terraform-provisioned": "true",
|
|
"service": "sereact"
|
|
},
|
|
"timeouts": null
|
|
},
|
|
"sensitive_attributes": [],
|
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"mode": "managed",
|
|
"type": "google_pubsub_topic_iam_binding",
|
|
"name": "image_processing_publisher",
|
|
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
|
|
"instances": [
|
|
{
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"condition": [],
|
|
"etag": "BwY15XMktMU=",
|
|
"id": "projects/gen-lang-client-0424120530/topics/image-processing-topic/roles/pubsub.publisher",
|
|
"members": [
|
|
"serviceAccount:761163285547-compute@developer.gserviceaccount.com"
|
|
],
|
|
"project": "gen-lang-client-0424120530",
|
|
"role": "roles/pubsub.publisher",
|
|
"topic": "projects/gen-lang-client-0424120530/topics/image-processing-topic"
|
|
},
|
|
"sensitive_attributes": [],
|
|
"private": "bnVsbA==",
|
|
"dependencies": [
|
|
"data.google_project.current",
|
|
"google_pubsub_topic.image_processing"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"mode": "managed",
|
|
"type": "google_service_account",
|
|
"name": "vector_db_sa",
|
|
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
|
|
"instances": [
|
|
{
|
|
"schema_version": 0,
|
|
"attributes": {
|
|
"account_id": "vector-db-sa",
|
|
"create_ignore_already_exists": null,
|
|
"description": "Service account for the vector database VM",
|
|
"disabled": false,
|
|
"display_name": "Vector Database Service Account",
|
|
"email": "vector-db-sa@gen-lang-client-0424120530.iam.gserviceaccount.com",
|
|
"id": "projects/gen-lang-client-0424120530/serviceAccounts/vector-db-sa@gen-lang-client-0424120530.iam.gserviceaccount.com",
|
|
"member": "serviceAccount:vector-db-sa@gen-lang-client-0424120530.iam.gserviceaccount.com",
|
|
"name": "projects/gen-lang-client-0424120530/serviceAccounts/vector-db-sa@gen-lang-client-0424120530.iam.gserviceaccount.com",
|
|
"project": "gen-lang-client-0424120530",
|
|
"timeouts": null,
|
|
"unique_id": "108486040628486621877"
|
|
},
|
|
"sensitive_attributes": [],
|
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMDB9fQ=="
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"mode": "managed",
|
|
"type": "google_storage_bucket",
|
|
"name": "app_bucket",
|
|
"provider": "provider[\"registry.terraform.io/hashicorp/google\"]",
|
|
"instances": [
|
|
{
|
|
"schema_version": 3,
|
|
"attributes": {
|
|
"autoclass": [],
|
|
"cors": [],
|
|
"custom_placement_config": [],
|
|
"default_event_based_hold": false,
|
|
"effective_labels": {
|
|
"goog-terraform-provisioned": "true"
|
|
},
|
|
"enable_object_retention": false,
|
|
"encryption": [],
|
|
"force_destroy": false,
|
|
"hierarchical_namespace": [
|
|
{
|
|
"enabled": false
|
|
}
|
|
],
|
|
"id": "sereact-images",
|
|
"labels": {},
|
|
"lifecycle_rule": [],
|
|
"location": "US-CENTRAL1",
|
|
"logging": [],
|
|
"name": "sereact-images",
|
|
"project": "gen-lang-client-0424120530",
|
|
"project_number": 761163285547,
|
|
"public_access_prevention": "inherited",
|
|
"requester_pays": false,
|
|
"retention_policy": [],
|
|
"rpo": null,
|
|
"self_link": "https://www.googleapis.com/storage/v1/b/sereact-images",
|
|
"soft_delete_policy": [
|
|
{
|
|
"effective_time": "2025-05-24T17:57:31.611Z",
|
|
"retention_duration_seconds": 604800
|
|
}
|
|
],
|
|
"storage_class": "STANDARD",
|
|
"terraform_labels": {
|
|
"goog-terraform-provisioned": "true"
|
|
},
|
|
"time_created": "2025-05-24T17:57:31.611Z",
|
|
"timeouts": null,
|
|
"uniform_bucket_level_access": true,
|
|
"updated": "2025-05-24T17:57:31.611Z",
|
|
"url": "gs://sereact-images",
|
|
"versioning": [],
|
|
"website": []
|
|
},
|
|
"sensitive_attributes": [],
|
|
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsInJlYWQiOjI0MDAwMDAwMDAwMCwidXBkYXRlIjoyNDAwMDAwMDAwMDB9LCJzY2hlbWFfdmVyc2lvbiI6IjMifQ==",
|
|
"dependencies": [
|
|
"google_project_service.services"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"check_results": null
|
|
}
|