This terraform module allows you to deploy GraphDB instance in Google Compute Engine.
- About GraphDB
- Features
- Versioning
- Prerequisites
- Inputs
- Quick Start
- Metadata
- Resources
- Local Development
- Release History
- Contributing
- License
Ontotext GraphDB is a highly efficient, scalable and robust graph database with RDF and SPARQL support. With excellent enterprise features, integration with external search applications, compatibility with industry standards, and both community and commercial support, GraphDB is the preferred database choice of both small independent developers and big enterprises.
The module provides the building blocks of configuring, deploying and provisioning a single VM of GraphDB using Google Compute Engine. Key features of the module include:
- Google Cloud Compute Engine Instance
The Terraform module follows the Semantic Versioning 2.0.0 rules and has a release lifecycle separate from the GraphDB versions. The next table shows the version compatability between GraphDB, and the Terraform module.
GraphDB Terraform | GraphDB |
---|---|
Version 0.1.x | Version 10.7.x |
Version 0.2.x | Version 10.8.x |
You can track the particular version updates of GraphDB in the changelog. |
Before you begin using this Terraform module, ensure you meet the following prerequisites:
-
Google Cloud CLI: Google Cloud CLI
-
Terraform Installed: You should have Terraform installed on your local machine. You can download Terraform from the [https://developer.hashicorp.com/terraform/install?product_intent=terraform](Terraform website).
-
Google Cloud Credentials: Ensure that you have Google Cloud credentials configured on your machine. You can configure Google Cloud access keys and secret keys using the Google Cloud CLI.
-
Terraform Google Cloud Provider Configuration: Configure the Google Cloud provider in your Terraform project. You can add your Google Cloud access and secret keys as environment variables or use other methods for provider configuration.
Name | Description | Type | Default | Required |
---|---|---|---|---|
source_image | Defines the VM image passed from the GCP Marketplace | string |
"projects/graphdb-public/global/images/ontotext-graphdb-10-8-1-202412020843" |
no |
goog_cm_deployment_name | Deployment name | string |
"graphdb" |
no |
project_id | Project in which the VM will be created | string |
n/a | yes |
zone | The zone where the VM will be created | string |
"us-central1-a" |
no |
machine_type | Type of the VM that will be created | string |
"n2-highmem-8" |
no |
boot_disk_size | Boot disk size in GBs | number |
500 |
no |
boot_disk_type | Type of the boot disk | string |
"pd-ssd" |
no |
network_interface | The network interface to attach the VM to | string |
"default" |
no |
allowed_ingress_cidrs | CIDR blocks that are allowed to access the GraphDB port | list(string) |
[ "0.0.0.0/0" ] |
no |
terraform init
terraform apply
Additionally, to specify custom values for the variables, you can use a .tfvars
file, or specify individual
variables on the command line, e.g. -var project_id=<test-project>
.
To update and validate the metadata.yaml and metadata.display.yaml you can use Google's CFT tool https://pkg.go.dev/github.com/GoogleCloudPlatform/cloud-foundation-toolkit/cli/bpmetadata
Run the following command in the project directory to regenerate the metadata:
cft blueprint metadata -d -p .
Or simply to validate:
cft blueprint metadata -v -p .
- Examples for configuring Blueprint metadata
- Blueprint reference https://pkg.go.dev/github.com/GoogleCloudPlatform/cloud-foundation-toolkit/cli/bpmetadata
Instead of using the module dependency, you can create a local variables file named terraform.tfvars
and provide
configuration overrides there.
Here's an example of a terraform.tfvars
file:
project_id = "example-project-id"
zone = "us-central1-a"
machine_type = "n2-highmem-8"
boot_disk_size = "500"
boot_disk_type = "pd-ssd"
allowed_ingress_cidrs = ["0.0.0.0/0"]
All notable changes between version are tracked and documented at CHANGELOG.md.
Check out the contributors guide CONTRIBUTING.md.
This code is released under the Apache 2.0 License. See LICENSE for more details.