Skip to content

benniemosher-dev/tfcloud-management

Repository files navigation

tfcloud-management

CI Terraform

☁️ TF managing our TF Cloud organization. ☁️

📜 Usage:

To retrieve secrets:

Reach out to @benniemosher on Keybase and get access to his secrets repo then:

git clone keybase://private/benniemosher/secrets
ln -s $HOME/Code/personal/secrets/tfcloud.auto.tfvars ./tfcloud.auto.tfvars
ln -s $HOME/Code/personal/secrets/cloudflare.auto.tfvars ./cloudflare.auto.tfvars
ln -s $HOME/Code/personal/secrets/github.auto.tfvars ./github.auto.tfvars
  • To install dependencies needed run:
    brew bundle install
  • To initialize Terraform in this folder:
    task infra:init
  • To update modules and providers in this folder:
    task init -- -upgrade
  • To validate the module in this folder:
    task infra:validate
  • To plan the infrastructure in this folder:
    task infra:plan
  • To plan specific resources of infrastructure in this folder:
    task infra:plan -- -target='cloudflare_record.this'
  • To apply the infrastructure in this folder:
    task infra:apply
  • To apply specific resources of infrastructure in this folder:
    task infra:apply -- -target='cloudflare_record.this'
  • To destroy the infrastructure in this folder:
    task infra:destroy
  • To destroy specific resources of infrastructure in this folder:
    task infra:destroy -- -target='cloudflare_record.this'

🆒 Extras:

  • To find all the automation available in this folder:
    task --list-all
  • To estimate the cost of the infrastructure in this folder:
    task infra:cost
  • To update the documentation in this folder:
    task infra:docs
  • To lint the Terraform in this folder:
    task infra:lint
  • To validate security in this folder:
    task infra:sec

📋 Documentation

Requirements

Name Version
terraform ~> 1.3
github ~> 5.0
tfe ~> 0.38

Providers

Name Version
github 5.12.0
tfe 0.40.0

Modules

No modules.

Resources

Name Type
github_actions_organization_secret.org-token resource
tfe_oauth_client.github resource
tfe_organization.organizations resource
tfe_organization_token.org-token resource
tfe_team.owners resource
tfe_team_token.owners resource
tfe_variable.variables resource
tfe_variable_set.variable-sets resource
tfe_workspace.workspaces resource
tfe_workspace_variable_set.workspace-variables resource

Inputs

Name Description Type Default Required
cloudflare-config The config to connect Terraform to Cloudflare
object({
account-id = optional(string, null)
api-token = string
cidrs = list(string)
})
n/a yes
config The config for your organization in TFCloud.
object({
domain = string
org-name = string
})
n/a yes
github-config The config for connecting to Github.
object({
token = string
})
n/a yes
tfcloud-config The config for connecting to TFCloud.
object({
token = string
})
n/a yes

Outputs

No outputs.

About

☁️ TF managing our TF Cloud organization. ☁️

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published