Skip to content

Commit

Permalink
chore: update tests to use 1.0 image and update compat note (#48)
Browse files Browse the repository at this point in the history
  • Loading branch information
cloud-foundation-bot authored Oct 28, 2021
1 parent a4cea33 commit f13dc30
Show file tree
Hide file tree
Showing 14 changed files with 97 additions and 9 deletions.
14 changes: 14 additions & 0 deletions .github/release-please.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,16 @@
# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

releaseType: terraform-module
handleGHRelease: true
14 changes: 14 additions & 0 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name: "Close stale issues"
on:
schedule:
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,6 @@ credentials.json

# Test files
.kitchen/

# tf lock file
.terraform.lock.hcl
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
# Make will use bash instead of sh
SHELL := /usr/bin/env bash

DOCKER_TAG_VERSION_DEVELOPER_TOOLS := 0.13
DOCKER_TAG_VERSION_DEVELOPER_TOOLS := 1.0
DOCKER_IMAGE_DEVELOPER_TOOLS := cft/developer-tools
REGISTRY_URL := gcr.io/cloud-foundation-cicd

Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
This Terraform module makes it easier to manage [organization policies](https://cloud.google.com/resource-manager/docs/organization-policy/overview) for your Google Cloud environment, particularly when you want to have exclusion rules. This module will allow you to set a top-level org policy and then disable it on individual projects or folders easily.

## Compatibility
This module is meant for use with Terraform 0.13. If you haven't
This module is meant for use with Terraform 0.13+ and tested using Terraform 1.0+. If you find incompatibilities using Terraform >=0.13, please open an issue.
If you haven't
[upgraded](https://www.terraform.io/upgrade-guides/0-13.html) and need a Terraform
0.12.x-compatible version of this module, the last released version
intended for Terraform 0.12.x is [v4.0.0](https://registry.terraform.io/modules/terraform-google-modules/-org-policy/google/v4.0.0).
Expand Down
4 changes: 2 additions & 2 deletions boolean_constraints.tf
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ resource "google_project_organization_policy" "project_policy_boolean" {
Exclude folders from policy (boolean constraint)
*****************************************/
resource "google_folder_organization_policy" "policy_boolean_exclude_folders" {
for_each = (local.boolean_policy && ! local.project) ? var.exclude_folders : []
for_each = (local.boolean_policy && !local.project) ? var.exclude_folders : []

folder = each.value
constraint = var.constraint
Expand All @@ -74,7 +74,7 @@ resource "google_folder_organization_policy" "policy_boolean_exclude_folders" {
Exclude projects from policy (boolean constraint)
*****************************************/
resource "google_project_organization_policy" "policy_boolean_exclude_projects" {
for_each = (local.boolean_policy && ! local.project) ? var.exclude_projects : []
for_each = (local.boolean_policy && !local.project) ? var.exclude_projects : []

project = each.value
constraint = var.constraint
Expand Down
2 changes: 1 addition & 1 deletion build/int.cloudbuild.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,4 @@ tags:
- 'integration'
substitutions:
_DOCKER_IMAGE_DEVELOPER_TOOLS: 'cft/developer-tools'
_DOCKER_TAG_VERSION_DEVELOPER_TOOLS: '0.13'
_DOCKER_TAG_VERSION_DEVELOPER_TOOLS: '1.0'
2 changes: 1 addition & 1 deletion build/lint.cloudbuild.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ tags:
- 'lint'
substitutions:
_DOCKER_IMAGE_DEVELOPER_TOOLS: 'cft/developer-tools'
_DOCKER_TAG_VERSION_DEVELOPER_TOOLS: '0.13'
_DOCKER_TAG_VERSION_DEVELOPER_TOOLS: '1.0'
4 changes: 2 additions & 2 deletions list_constraints.tf
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ resource "google_project_organization_policy" "project_policy_list_allow_values"
Exclude folders from policy (list constraint)
*****************************************/
resource "google_folder_organization_policy" "folder_policy_list_exclude_folders" {
for_each = (local.list_policy && ! local.project) ? var.exclude_folders : []
for_each = (local.list_policy && !local.project) ? var.exclude_folders : []

folder = each.value
constraint = var.constraint
Expand All @@ -224,7 +224,7 @@ resource "google_folder_organization_policy" "folder_policy_list_exclude_folders
Exclude projects from policy (list constraint)
*****************************************/
resource "google_project_organization_policy" "project_policy_list_exclude_projects" {
for_each = (local.list_policy && ! local.project) ? var.exclude_projects : []
for_each = (local.list_policy && !local.project) ? var.exclude_projects : []

project = each.value
constraint = var.constraint
Expand Down
2 changes: 1 addition & 1 deletion main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ locals {
folder = var.policy_for == "folder"
project = var.policy_for == "project"
boolean_policy = var.policy_type == "boolean"
list_policy = var.policy_type == "list" && ! local.invalid_config
list_policy = var.policy_type == "list" && !local.invalid_config

// If allow/deny list empty and enforce is not set, enforce is set to true
enforce = var.allow_list_length > 0 || var.deny_list_length > 0 ? null : var.enforce != false
Expand Down
14 changes: 14 additions & 0 deletions test/integration/boolean_org_exclude/inspec.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


name: boolean_org_exclude
attributes:
Expand Down
14 changes: 14 additions & 0 deletions test/integration/boolean_project_allow/inspec.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


name: boolean_project_allow
attributes:
Expand Down
14 changes: 14 additions & 0 deletions test/integration/list_folder_deny/inspec.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


name: list_folder_deny
attributes:
Expand Down
14 changes: 14 additions & 0 deletions test/integration/list_org_exclude/inspec.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


name: boolean_org_exclude
attributes:
Expand Down

0 comments on commit f13dc30

Please sign in to comment.