|
1 | 1 | # GraphDB deployment package on GCP
|
2 | 2 |
|
| 3 | +This terraform module allows you to deploy GraphDB instance in Google Compute Engine. |
| 4 | + |
| 5 | +## Table of contents |
| 6 | + |
| 7 | +- [About GraphDB](#about-graphdb) |
| 8 | +- [Features](#features) |
| 9 | +- [Versioning](#versioning) |
| 10 | +- [Prerequisites](#prerequisites) |
| 11 | +- [Inputs](#inputs) |
| 12 | +- [Quick Start](#quickstart) |
| 13 | +- [Metadata](#metadata) |
| 14 | +- [Resources](#resources) |
| 15 | +- [Local Development](#local-development) |
| 16 | +- [Release History](#release-history) |
| 17 | +- [Contributing](#contributing) |
| 18 | +- [License](#license) |
| 19 | + |
| 20 | +## About GraphDB |
| 21 | + |
| 22 | +<p align="center"> |
| 23 | + <a href="https://www.ontotext.com/products/graphdb/"> |
| 24 | + <picture> |
| 25 | + <img src="https://www.ontotext.com/wp-content/uploads/2022/09/Logo-GraphDB.svg" alt="GraphDB logo" title="GraphDB" |
| 26 | + height="75"> |
| 27 | + </picture> |
| 28 | + </a> |
| 29 | +</p> |
| 30 | + |
| 31 | +Ontotext GraphDB is a highly efficient, scalable and robust graph database with RDF and SPARQL support. With excellent |
| 32 | +enterprise features, |
| 33 | +integration with external search applications, compatibility with industry standards, and both community and commercial |
| 34 | +support, GraphDB is the |
| 35 | +preferred database choice of both small independent developers and big enterprises. |
| 36 | + |
| 37 | +## Features |
| 38 | + |
| 39 | +The module provides the building blocks of configuring, deploying and provisioning a single VM of GraphDB |
| 40 | +using Google Compute Engine. Key features of the module include: |
| 41 | + |
| 42 | +- Google Cloud Compute Engine Instance |
| 43 | + |
| 44 | +## Versioning |
| 45 | + |
| 46 | +The Terraform module follows the Semantic Versioning 2.0.0 rules and has a release lifecycle separate from the GraphDB |
| 47 | +versions. The next table shows the version compatability between GraphDB, and the Terraform module. |
| 48 | + |
| 49 | +| GraphDB Terraform | GraphDB | |
| 50 | +|--------------------------------------------------------------------------------|--------------------------------------------------------------------------------------| |
| 51 | +| [Version 0.0.1](https://github.com/Ontotext-AD/terraform-gcp-graphdb/releases) | [Version 10.7.x](https://graphdb.ontotext.com/documentation/10.7/release-notes.html) | |
| 52 | + |
| 53 | +You can track the particular version updates of GraphDB in the [changelog](CHANGELOG.md). |
| 54 | + |
| 55 | +## Prerequisites |
| 56 | + |
| 57 | +Before you begin using this Terraform module, ensure you meet the following prerequisites: |
| 58 | + |
| 59 | +- **Google Cloud CLI**: |
| 60 | + [Google Cloud CLI](https://cloud.google.com/sdk/docs/install) |
| 61 | + |
| 62 | +- **Terraform Installed**: You should have Terraform installed on your local machine. You can download Terraform from |
| 63 | + the [https://developer.hashicorp.com/terraform/install?product_intent=terraform](Terraform website). |
| 64 | + |
| 65 | +- **Google Cloud Credentials**: Ensure that you have Google Cloud credentials configured on your machine. You can configure Google Cloud access |
| 66 | + keys and secret keys using the [Google Cloud CLI](https://cloud.google.com/docs/authentication/gcloud). |
| 67 | + |
| 68 | +- **Terraform Google Cloud Provider Configuration**: Configure the Google Cloud provider in your Terraform project. You can add your Google Cloud |
| 69 | + access and secret keys as environment variables or use other methods for provider configuration. |
| 70 | + |
| 71 | +<!-- BEGIN_TF_DOCS --> |
| 72 | +## Inputs |
| 73 | + |
| 74 | +| Name | Description | Type | Default | Required | |
| 75 | +|------|-------------|------|---------|:--------:| |
| 76 | +| source\_image | Defines the VM image passed from the GCP Marketplace | `string` | `"projects/graphdb-public/global/images/ontotext-graphdb-10-7-3-202409031355"` | no | |
| 77 | +| goog\_cm\_deployment\_name | Deployment name | `string` | `"graphdb"` | no | |
| 78 | +| project\_id | Project in which the VM will be created | `string` | n/a | yes | |
| 79 | +| zone | The zone where the VM will be created | `string` | `"us-central1-a"` | no | |
| 80 | +| machine\_type | Type of the VM that will be created | `string` | `"n2-highmem-8"` | no | |
| 81 | +| boot\_disk\_size | Boot disk size in GBs | `number` | `500` | no | |
| 82 | +| boot\_disk\_type | Type of the boot disk | `string` | `"pd-ssd"` | no | |
| 83 | +| network\_interface | The network interface to attach the VM to | `string` | `"default"` | no | |
| 84 | +| allowed\_ingress\_cidrs | CIDR blocks that are allowed to access the GraphDB port | `list(string)` | ```[ "0.0.0.0/0" ]``` | no | |
| 85 | +<!-- END_TF_DOCS --> |
| 86 | + |
3 | 87 | ## Quickstart
|
4 | 88 |
|
5 | 89 | ```shell
|
@@ -33,3 +117,37 @@ cft blueprint metadata -v -p .
|
33 | 117 | - https://github.com/GoogleCloudPlatform/marketplace-tools/blob/master/examples/terraform/wordpress/metadata.display.yaml
|
34 | 118 | - https://github.com/g-awmalik/terraform-google-canonical-mp/blob/main/metadata.display.yaml
|
35 | 119 | - Blueprint reference https://pkg.go.dev/github.com/GoogleCloudPlatform/cloud-foundation-toolkit/cli/bpmetadata
|
| 120 | + |
| 121 | +## Local Development |
| 122 | + |
| 123 | +Instead of using the module dependency, you can create a local variables file named `terraform.tfvars` and provide |
| 124 | +configuration overrides there. |
| 125 | +Here's an example of a `terraform.tfvars` file: |
| 126 | + |
| 127 | +```hcl |
| 128 | +
|
| 129 | +project_id = "example-project-id" |
| 130 | +
|
| 131 | +zone = "us-central1-a" |
| 132 | +
|
| 133 | +machine_type = "n2-highmem-8" |
| 134 | +
|
| 135 | +boot_disk_size = "500" |
| 136 | +
|
| 137 | +boot_disk_type = "pd-ssd" |
| 138 | +
|
| 139 | +allowed_ingress_cidrs = ["0.0.0.0/0"] |
| 140 | +
|
| 141 | +``` |
| 142 | + |
| 143 | +## Release History |
| 144 | + |
| 145 | +All notable changes between version are tracked and documented at [CHANGELOG.md](CHANGELOG.md). |
| 146 | + |
| 147 | +## Contributing |
| 148 | + |
| 149 | +Check out the contributors guide [CONTRIBUTING.md](CONTRIBUTING.md). |
| 150 | + |
| 151 | +## License |
| 152 | + |
| 153 | +This code is released under the Apache 2.0 License. See [LICENSE](LICENSE) for more details. |
0 commit comments