Giter Site home page Giter Site logo

osinfra-io / terraform-google-storage-bucket Goto Github PK

View Code? Open in Web Editor NEW
1.0 0.0 0.0 96 KB

Terraform example module for Google Cloud Platform Storage bucket.

Home Page: https://www.osinfra.io

License: GNU General Public License v2.0

HCL 100.00%
google-cloud-platform infrastructure-as-code terraform osinfra terraform-child-module

terraform-google-storage-bucket's Introduction

Google Cloud Platform - Storage Bucket Terraform Module

GitHub Actions:

Terraform Tests Dependabot

Infracost:

infracost

๐Ÿ’ต Monthly estimates based on Infracost baseline costs.

Repository Description

Terraform example module for a Google Cloud Platform storage bucket.

Note

We do not recommend consuming this module like you might a public module. It is a baseline, something you can fork, potentially maintain, and modify to fit your organization's needs. Using public modules vs. writing your own has various drivers and trade-offs that your organization should evaluate.

๐Ÿ”ฉ Usage

Tip

You can check the tests/fixtures directory for example configurations. These fixtures set up the system for testing by providing all the necessary initial code, thus creating good examples on which to base your configurations.

Development

Our focus is on the core fundamental practice of platform engineering, Infrastructure as Code.

Open Source Infrastructure (as Code) is a development model for infrastructure that focuses on open collaboration and applying relative lessons learned from software development practices that organizations can use internally at scale. - Open Source Infrastructure (as Code)

To avoid slowing down stream-aligned teams, we want to open up the possibility for contributions. The Open Source Infrastructure (as Code) model allows team members external to the platform team to contribute with only a slight increase in cognitive load. This section is for developers who want to contribute to this repository, describing the tools used, the skills, and the knowledge required, along with Terraform documentation.

See the documentation for setting up a local development environment here.

๐Ÿ› ๏ธ Tools

๐Ÿ“‹ Skills and Knowledge

Links to documentation and other resources required to develop and iterate in this repository successfully.

๐Ÿ” Tests

You'll need to be a member of the platform-contributors Google Group to run the tests. This group manages access to the resource hierarchy's Testing/Sandbox folder. You can request access to this group by opening an issue here.

cd fixtures/default
terraform init
terraform test

๐Ÿ““ Terraform Documentation

A child module automatically inherits default (un-aliased) provider configurations from its parent. The provider versions below are informational only and do not need to align with the provider configurations from its parent.

Requirements

No requirements.

Providers

Name Version
google 5.40.0

Modules

No modules.

Resources

Name Type
google_storage_bucket.this resource

Inputs

Name Description Type Default Required
default_kms_key_name The name of the Cloud KMS key that will be used to encrypt objects inserted into this bucket string null no
force_destroy When deleting a bucket, this boolean option will delete all contained objects bool false no
labels A map of key/value pairs to assign to the resources being created map(string) {} no
location The location the storage bucket will be created in string n/a yes
name The name of the storage bucket any n/a yes
project The ID of the project in which the resource belongs string n/a yes
public_access_prevention The public access prevention configuration for the bucket string "enforced" no
storage_class The Storage Class of the new bucket. Supported values include: STANDARD, MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE string "STANDARD" no
versioning The bucket's Versioning configuration bool true no

Outputs

Name Description
name Bucket name
project The ID of the project in which the resource belongs
url Bucket URL

terraform-google-storage-bucket's People

Contributors

brettcurtis avatar dependabot[bot] avatar osinfra-sa avatar

Stargazers

 avatar

terraform-google-storage-bucket's Issues

Deprecation of Kitchen-Terraform

The official announcement from Aaron Lane:

With the announcement of a native test framework with Terraform 1.6 on 2023-10-04, we are excited/saddened/relieved to announce the deprecation of Kitchen-Terraform ๐ŸŽ‰ The project will enter a maintenance-only period for about 1 year, after which time it will be archived.

Tasks

Setup Kitchen-Terraform workflow

Description

Kitchen-Terraform provides a set of Kitchen plugins that enable the use of Kitchen to converge a Terraform configuration and verify the resulting infrastructure systems with InSpec controls.

Acceptance

  • Kitchen-Terraform converge and verify runs on PR open and synchronize
  • Kitchen-Terraform destroy runs on PR close

Implementation Notes

This should use the following action:
https://github.com/osinfra-io/github-kitchen-terraform-action

Additional Context

Support for encryption

Description

We may want to use our own Cloud KMS crypto key.

Acceptance

  • Dynamic block for encryption

Implementation Notes

Additional Context

Initial development

Description

The initial build-out to support Terraform state backend.

Acceptance

  • Storage bucket with versioning support

Implementation Notes

Additional Context

Don't run Kitchen Test workflow if GitHub user is osinfra-sa

Dependabot manages dependencies for bundler and GitHub Actions. Dependabot opens the PR; however, the osinfra-sa users merges, triggering a workflow we do not want to run.

Tasks

Example PR:

if: GitHub.actor != 'dependabot[bot]' 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.