Skip to content
This repository was archived by the owner on Mar 29, 2023. It is now read-only.

Commit ed2528a

Browse files
author
autero1
authored
Merge pull request #40 from gruntwork-io/service_catalog
README updates
2 parents 3b18b91 + 5d1ab21 commit ed2528a

File tree

5 files changed

+196
-106
lines changed

5 files changed

+196
-106
lines changed

README.md

Lines changed: 59 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,44 @@
1+
<!--
2+
:type: service
3+
:name: Google Cloud SQL
4+
:description: Run MySQL or PostgreSQL on Google's Cloud SQL Service. Supports read replicas, multi-zone automatic failover, and automatic backup.
5+
:icon: /_docs/cloud-sql-icon.png
6+
:category: database
7+
:cloud: gcp
8+
:tags: database, mysql, postgresql
9+
:license: open-source
10+
:built-with: terraform
11+
-->
12+
# Cloud SQL Modules
113
[![Maintained by Gruntwork.io](https://img.shields.io/badge/maintained%20by-gruntwork.io-%235849a6.svg)](https://gruntwork.io/?ref=repo_google_cloudsql)
214
[![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/gruntwork-io/terraform-google-sql.svg?label=latest)](http://github.com/gruntwork-io/terraform-google-sql/releases/latest)
315
![Terraform Version](https://img.shields.io/badge/tf-%3E%3D0.12.0-blue.svg)
416

5-
# Cloud SQL Modules
6-
7-
<!-- NOTE: We use absolute linking here instead of relative linking, because the terraform registry does not support
8-
relative linking correctly.
9-
-->
10-
1117
This repo contains modules for running relational databases such as MySQL and PostgreSQL on
1218
[Google Cloud Platform (GCP)](https://cloud.google.com/) using [Cloud SQL](https://cloud.google.com/sql/).
1319

14-
## Quickstart
20+
## Cloud SQL Architecture
21+
22+
![Cloud SQL Architecture](https://github.com/gruntwork-io/terraform-google-sql/blob/master/_docs/cloud-sql.png "Cloud SQL Architecture")
23+
24+
## Features
25+
26+
- Deploy a fully-managed relational database
27+
- Supports MySQL and PostgreSQL
28+
- Optional failover instances
29+
- Optional read replicas
1530

16-
If you want to quickly spin up a Cloud SQL database, you can run the example that is in the root of this repo. Check out
17-
[postgres-private-ip example documentation](https://github.com/gruntwork-io/terraform-google-sql/blob/master/examples/postgres-private-ip)
18-
for instructions.
31+
## Learn
1932

20-
## What's in this repo
33+
This repo is a part of [the Gruntwork Infrastructure as Code Library](https://gruntwork.io/infrastructure-as-code-library/), a collection of reusable, battle-tested, production ready infrastructure code. If you’ve never used the Infrastructure as Code Library before, make sure to read [How to use the Gruntwork Infrastructure as Code Library](https://gruntwork.io/guides/foundations/how-to-use-gruntwork-infrastructure-as-code-library/)!
34+
35+
### Core concepts
36+
37+
- [What is Cloud SQL](https://github.com/gruntwork-io/terraform-google-sql/blob/master/modules/cloud-sql/core-concepts.md#what-is-cloud-sql)
38+
- [Cloud SQL documentation](https://cloud.google.com/sql/docs/)
39+
- **[Designing Data Intensive Applications](https://dataintensive.net/)**: the best book we’ve found for understanding data systems, including relational databases, NoSQL, replication, sharding, consistency, and so on.
40+
41+
### Repo organisation
2142

2243
This repo has the following folder structure:
2344

@@ -30,68 +51,55 @@ This repo has the following folder structure:
3051

3152
The primary module is:
3253

33-
- [cloud-sql](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql): Deploy a Cloud SQL [MySQL](https://cloud.google.com/sql/docs/mysql/) or
34-
[PostgreSQL](https://cloud.google.com/sql/docs/postgres/) database.
35-
54+
- [cloud-sql](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql): Deploy a Cloud SQL [MySQL](https://cloud.google.com/sql/docs/mysql/) or [PostgreSQL](https://cloud.google.com/sql/docs/postgres/) database.
55+
3656
- [examples](https://github.com/gruntwork-io/terraform-google-sql/tree/master/examples): This folder contains
3757
examples of how to use the submodules.
3858

3959
- [test](https://github.com/gruntwork-io/terraform-google-sql/tree/master/test): Automated tests for the submodules
4060
and examples.
4161

42-
## What is Cloud SQL?
43-
44-
Cloud SQL is Google's fully-managed database service that makes it easy to set up, maintain, manage, and administer
45-
your relational databases on Google Cloud Platform. Cloud SQL automatically includes:
62+
## Deploy
4663

47-
- Data replication between multiple zones with automatic failover.
48-
- Automated and on-demand backups, and point-in-time recovery.
49-
- Data encryption on networks, database tables, temporary files, and backups.
50-
- Secure external connections with the [Cloud SQL Proxy](https://cloud.google.com/sql/docs/mysql/sql-proxy) or with the SSL/TLS protocol.
64+
### Non-production deployment (quick start for learning)
5165

52-
You can learn more about Cloud SQL from [the official documentation](https://cloud.google.com/sql/docs/).
66+
If you just want to try this repo out for experimenting and learning, check out the following resources:
5367

54-
## What's a Module?
68+
- [examples folder](https://github.com/gruntwork-io/terraform-google-sql/blob/master/examples): The `examples` folder contains sample code optimized for learning, experimenting, and testing (but not production usage).
5569

56-
A Module is a canonical, reusable, best-practices definition for how to run a single piece of infrastructure, such
57-
as a database or server cluster. Each Module is written using a combination of [Terraform](https://www.terraform.io/)
58-
and scripts (mostly bash) and include automated tests, documentation, and examples. It is maintained both by the open
59-
source community and companies that provide commercial support.
70+
### Production deployment
6071

61-
Instead of figuring out the details of how to run a piece of infrastructure from scratch, you can reuse
62-
existing code that has been proven in production. And instead of maintaining all that infrastructure code yourself,
63-
you can leverage the work of the Module community to pick up infrastructure improvements through
64-
a version number bump.
72+
If you want to deploy this repo in production, check out the following resources:
6573

66-
## Who maintains this Module?
74+
- [cloud-sql module in the GCP Reference Architecture](https://github.com/gruntwork-io/infrastructure-modules-google/tree/master/data-stores/cloud-sql):
75+
Production-ready sample code from the GCP Reference Architecture. Note that the repository is private and accessible only with
76+
Gruntwork subscription. To get access, [subscribe now](https://www.gruntwork.io/pricing/) or contact us at [support@gruntwork.io](mailto:support@gruntwork.io) for more information.
6777

68-
This Module and its Submodules are maintained by [Gruntwork](http://www.gruntwork.io/). Read the [Gruntwork Philosophy](https://github.com/gruntwork-io/terraform-google-sql/blob/master/GRUNTWORK_PHILOSOPHY.md) document to learn more about how Gruntwork builds production grade infrastructure code. If you are looking for help or
69-
commercial support, send an email to
70-
[support@gruntwork.io](mailto:support@gruntwork.io?Subject=Google%20SQL%20Module).
78+
## Manage
7179

72-
Gruntwork can help with:
80+
### Day-to-day operations
7381

74-
- Setup, customization, and support for this Module.
75-
- Modules and submodules for other types of infrastructure, such as VPCs, Docker clusters, databases, and continuous
76-
integration.
77-
- Modules and Submodules that meet compliance requirements, such as HIPAA.
78-
- Consulting & Training on GCP, AWS, Terraform, and DevOps.
82+
- [How to connect to a Cloud SQL instance](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql/core-concepts.md#how-do-you-connect-to-the-database)
83+
- [How to configure high availability](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql/core-concepts.md#how-do-you-configure-high-availability)
84+
- [How to secure the database instance](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql/core-concepts.md#how-do-you-secure-the-database)
85+
- [How to scale the database](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql/core-concepts.md#how-do-you-secure-the-database)
7986

80-
## How do I contribute to this Module?
87+
## Support
8188

82-
Contributions are very welcome! Check out the [Contribution Guidelines](https://github.com/gruntwork-io/terraform-google-sql/blob/master/CONTRIBUTING.md) for instructions.
89+
If you need help with this repo or anything else related to infrastructure or DevOps, Gruntwork offers [Commercial Support](https://gruntwork.io/support/) via Slack, email, and phone/video. If you’re already a Gruntwork customer, hop on Slack and ask away! If not, [subscribe now](https://www.gruntwork.io/pricing/). If you’re not sure, feel free to email us at [support@gruntwork.io](mailto:support@gruntwork.io).
8390

84-
## How is this Module versioned?
91+
## Contributions
8592

86-
This Module follows the principles of [Semantic Versioning](http://semver.org/). You can find each new release, along
87-
with the changelog, in the [Releases Page](https://github.com/gruntwork-io/terraform-google-sql/releases).
93+
Contributions to this repo are very welcome and appreciated! If you find a bug or want to add a new feature or even contribute an entirely new module, we are very happy to accept pull requests, provide feedback, and run your changes through our automated test suite.
8894

89-
During initial development, the major version will be 0 (e.g., `0.x.y`), which indicates the code does not yet have a
90-
stable API. Once we hit `1.0.0`, we will make every effort to maintain a backwards compatible API and use the MAJOR,
91-
MINOR, and PATCH versions on each release to indicate any incompatibilities.
95+
Please see [Contributing to the Gruntwork Infrastructure as Code Library](https://gruntwork.io/guides/foundations/how-to-use-gruntwork-infrastructure-as-code-library/#contributing-to-the-gruntwork-infrastructure-as-code-library) for instructions.
9296

9397
## License
9498

95-
Please see [LICENSE](https://github.com/gruntwork-io/terraform-google-sql/blob/master/LICENSE.txt) for how the code in this repo is licensed.
99+
Please see [LICENSE](https://github.com/gruntwork-io/terraform-google-sql/blob/master/LICENSE.txt) for details on how the code in this repo is licensed.
96100

97101
Copyright &copy; 2019 Gruntwork, Inc.
102+
103+
104+
105+

_docs/cloud-sql-icon.png

16.7 KB
Loading

_docs/cloud-sql.png

56.5 KB
Loading

0 commit comments

Comments
 (0)