Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,4 @@ data "bytebase_setting" "environments" {
}
output "all_environments" {
value = data.bytebase_setting.environments
}

# List all instances
data "bytebase_instance_list" "all" {}
output "all_instances" {
value = data.bytebase_instance_list.all
}
17 changes: 0 additions & 17 deletions tutorials/1-1-env-alt.tf.alt

This file was deleted.

File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -28,26 +28,4 @@ resource "bytebase_policy" "rollout_policy_prod" {
"roles/CREATOR"
]
}
}

resource "bytebase_policy" "disable_copy_data_policy_prod" {
depends_on = [bytebase_setting.environments]
parent = bytebase_setting.environments.environment_setting[0].environment[1].name
type = "DISABLE_COPY_DATA"

disable_copy_data_policy {
enable = true
}
}

resource "bytebase_policy" "data_source_query_policy_prod" {
depends_on = [bytebase_setting.environments]
parent = bytebase_setting.environments.environment_setting[0].environment[1].name
type = "DATA_SOURCE_QUERY"

data_source_query_policy {
restriction = "RESTRICTION_UNSPECIFIED" # or DISALLOW or FALLBACK
disallow_ddl = true
disallow_dml = true
}
}
37 changes: 0 additions & 37 deletions tutorials/1-2-instances-alt.tf.alt

This file was deleted.

21 changes: 21 additions & 0 deletions tutorials/1-3-env-policy-data.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
resource "bytebase_policy" "disable_copy_data_policy_prod" {
depends_on = [bytebase_setting.environments]
parent = bytebase_setting.environments.environment_setting[0].environment[1].name
type = "DISABLE_COPY_DATA"

disable_copy_data_policy {
enable = true
}
}

resource "bytebase_policy" "data_source_query_policy_prod" {
depends_on = [bytebase_setting.environments]
parent = bytebase_setting.environments.environment_setting[0].environment[1].name
type = "DATA_SOURCE_QUERY"

data_source_query_policy {
restriction = "RESTRICTION_UNSPECIFIED" # or DISALLOW or FALLBACK
disallow_ddl = true
disallow_dml = true
}
}
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ resource "bytebase_setting" "workspace_profile" {
disallow_signup = true
domains = ["example.com"]
enforce_identity_domain = false
external_url = "https://valid-just-tadpole.ngrok-free.app"
external_url = "https://example.com"
}
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
54 changes: 54 additions & 0 deletions tutorials/6-1-users.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Create users and groups
resource "bytebase_user" "workspace_admin" {
email = "[email protected]"
title = "Workspace Admin"
type = "USER"
}

resource "bytebase_user" "tf_service_account" {
email = "[email protected]"
title = "Terraform Service Account"
type = "SERVICE_ACCOUNT"
}

resource "bytebase_user" "workspace_dba1" {
email = "[email protected]"
title = "Database Administrator 1"
type = "USER"
}

resource "bytebase_user" "workspace_dba2" {
email = "[email protected]"
title = "Database Administrator 2"
type = "USER"
}

resource "bytebase_user" "dev1" {
email = "[email protected]"
title = "Developer 1"
type = "USER"
}

resource "bytebase_user" "dev2" {
email = "[email protected]"
title = "Developer 2"
type = "USER"
}

resource "bytebase_user" "dev3" {
email = "[email protected]"
title = "Developer 3"
type = "USER"
}

resource "bytebase_user" "qa1" {
email = "[email protected]"
title = "QA Tester 1"
type = "USER"
}

resource "bytebase_user" "qa2" {
email = "[email protected]"
title = "QA Tester 2"
type = "USER"
}
36 changes: 36 additions & 0 deletions tutorials/6-2-groups.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
resource "bytebase_group" "developers" {
email = "[email protected]"
title = "Developer Team"
description = "Group for all developers"

members {
member = "users/${bytebase_user.dev1.email}"
role = "OWNER"
}

members {
member = "users/${bytebase_user.dev2.email}"
role = "MEMBER"
}

members {
member = "users/${bytebase_user.dev3.email}"
role = "MEMBER"
}
}

resource "bytebase_group" "qa" {
email = "[email protected]"
title = "QA Team"
description = "Group for all QA testers"

members {
member = "users/${bytebase_user.qa1.email}"
role = "OWNER"
}

members {
member = "users/${bytebase_user.qa2.email}"
role = "MEMBER"
}
}
93 changes: 0 additions & 93 deletions tutorials/5-user-iam.tf → tutorials/7-iam.tf
Original file line number Diff line number Diff line change
@@ -1,96 +1,3 @@
# Create users and groups
resource "bytebase_user" "workspace_admin" {
email = "[email protected]"
title = "Workspace Admin"
type = "USER"
}

resource "bytebase_user" "tf_service_account" {
email = "[email protected]"
title = "Terraform Service Account"
type = "SERVICE_ACCOUNT"
}

resource "bytebase_user" "workspace_dba1" {
email = "[email protected]"
title = "Database Administrator 1"
type = "USER"
}

resource "bytebase_user" "workspace_dba2" {
email = "[email protected]"
title = "Database Administrator 2"
type = "USER"
}

resource "bytebase_user" "dev1" {
email = "[email protected]"
title = "Developer 1"
type = "USER"
}

resource "bytebase_user" "dev2" {
email = "[email protected]"
title = "Developer 2"
type = "USER"
}

resource "bytebase_user" "dev3" {
email = "[email protected]"
title = "Developer 3"
type = "USER"
}

resource "bytebase_user" "qa1" {
email = "[email protected]"
title = "QA Tester 1"
type = "USER"
}

resource "bytebase_user" "qa2" {
email = "[email protected]"
title = "QA Tester 2"
type = "USER"
}

# Create groups
resource "bytebase_group" "developers" {
email = "[email protected]"
title = "Developer Team"
description = "Group for all developers"

members {
member = "users/${bytebase_user.dev1.email}"
role = "OWNER"
}

members {
member = "users/${bytebase_user.dev2.email}"
role = "MEMBER"
}

members {
member = "users/${bytebase_user.dev3.email}"
role = "MEMBER"
}
}

resource "bytebase_group" "qa" {
email = "[email protected]"
title = "QA Team"
description = "Group for all QA testers"

members {
member = "users/${bytebase_user.qa1.email}"
role = "OWNER"
}

members {
member = "users/${bytebase_user.qa2.email}"
role = "MEMBER"
}
}

resource "bytebase_iam_policy" "workspace_iam" {
depends_on = [
bytebase_user.workspace_admin,
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
10 changes: 10 additions & 0 deletions tutorials/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Corresponding Tutorials

- Part 1: [Manage Environments with Terraform](https://docs.bytebase.com/tutorials/manage-environments-in-bytebase-with-terraform) - Set up environments with policies
- Part 2: [Manage Databases with Terraform](https://docs.bytebase.com/tutorials/manage-databases-in-bytebase-with-terraform) - Register database instances
- Part 3: [Manage Projects with Terraform](https://docs.bytebase.com/tutorials/manage-projects-in-bytebase-with-terraform) - Organize databases into projects
- Part 4: [Manage Bytebase Settings with Terraform](https://docs.bytebase.com/tutorials/manage-bytebase-settings-with-terraform) - Configure workspace profile and approval policies
- Part 5: [Manage SQL Review Rules with Terraform](https://docs.bytebase.com/tutorials/manage-sql-review-rules-with-terraform) - Define SQL review policies
- Part 6: [Manage Users and Groups with Terraform](https://docs.bytebase.com/tutorials/manage-users-and-groups-with-terraform) - Set up dummy users and groups
- Part 7: [Manage Database Access Control with Terraform](https://docs.bytebase.com/tutorials/manage-database-access-control-with-terraform) - Define permissions
- Part 8: [Manage Data Masking with Terraform](https://docs.bytebase.com/tutorials/manage-data-masking-with-terraform) - Protect sensitive data