Skip to content

Comments

chore(deps): update terraform hcloud to v1.60.1#252

Open
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/hcloud-1.x-lockfile
Open

chore(deps): update terraform hcloud to v1.60.1#252
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/hcloud-1.x-lockfile

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Sep 6, 2024

This PR contains the following updates:

Package Type Update Change
hcloud (source) required_provider minor 1.48.01.60.1

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

hetznercloud/terraform-provider-hcloud (hcloud)

v1.60.1

Compare Source

Bug Fixes
  • storage-box: subaccount name was ignored (#​1344)

v1.60.0

Compare Source

Features
  • add zone_record resource (#​1228)
  • Storage Box support no longer experimental (#​1329)
  • floating-ip: unassign from server before deleting it (#​1335)

v1.59.0

Compare Source

Features
  • add name to Storage Box Subaccount (#​1323)
Bug Fixes
  • support importing storage box without forced replacement (#​1314)
  • panic on nil action in settle actions helper (#​1321)

v1.58.0

Compare Source

Breaking Change for the Storage Box resource

Previously the hcloud_storage_box resource ignored any changes to the ssh_keys attribute to avoid accidentally deleting the Storage Box (SSH Keys can not be changed through the API after the Storage Box is created).

This is changed in this release, we now mark the resource as "requires replacement" if the SSH Keys are changed. If you want to ignore changes and keep the previous behaviour, please add the attribute to lifecycle.ignore_changes:

resource "hcloud_storage_box" "example" {
  // Other attributes

  ssh_keys = [ "..." ]
  lifecycle {
    ignore_changes = [ ssh_keys ]
  }
}

We are releasing this breaking change in a minor version as the Storage Box support is marked as experimental.

Deprecation of datacenter attribute for Primary IPs and Servers

The datacenter attributes is deprecated in Primary IPs and Servers API resources and will be removed after 1 July 2026. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters for more details.

Therefore, datacenter attributes is deprecated in favour of the location attribute in the following Terraform resources/datasources:

  • hcloud_server
  • data.hcloud_server
  • data.hcloud_servers
  • hcloud_primary_ip
  • data.hcloud_primary_ip
  • data.hcloud_primary_ips

The location attribute already exists for Servers, and was added for Primary IPs.

The datacenter attribute will not be updated any more after it is no longer returned by the API. For existing resources this will keep the previous value, for new resources this will result in an empty string.

Please make sure to upgrade to v1.58.0+ before the removal date to avoid potential crashes in the provider.

Features
  • drop support for OpenTofu v1.8
  • add support for OpenTofu v1.11
  • storage-box: stop ignoring changes to ssh keys and replace resource instead (#​1296)
  • deprecate datacenter in primary ips and servers (#​1309)
Bug Fixes
  • storage-box: run actions serially (#​1294)
  • zone: using variable for primary nameservers causes error (#​1306)
  • storage-box: retry snapshot+subaccount create when locked (#​1307)

v1.57.0

Compare Source

Storage Box API Experimental

This release adds support for the Storage Box API.

The Storage Box integration will be introduced as an experimental feature. This experimental phase is expected to last until 2 January 2026. During this period, upcoming minor releases of the project may include breaking changes to features related to the Storage Box API. You can find out the current state of this in #​1285.

This release includes all changes from the recent Storage Box API changelog entry.

Examples
resource "hcloud_storage_box" "backups" {
  name             = "backups"
  storage_box_type = "bx21"
  location         = "hel1"
  password         = var.storage_box_password
}

resource "hcloud_storage_box_snapshot" "tool_xyz_migration" {
  storage_box_id = hcloud_storage_box.backups.id

  description = "Before Tool XYZ Migration"
  labels = {
    env = "production"
  }
}

resource "hcloud_storage_box_subaccount" "team_badger" {
  storage_box_id = hcloud_storage_box.backups.id

  home_directory = "teams/badger/"
  password       = var.team_badger_password
}
Features
  • drop builds for windows arm (32 bit) (#​1260)
  • drop support for terraform v1.11
  • drop support for terraform v1.12
  • add support for terraform v1.13
  • add support for terraform v1.14
  • add support for Storage Boxes (#​1166)
Bug Fixes
  • abort when data transformation errors (#​1253)
  • ensure partially created resources are tainted in the state (#​1257)
  • dns records order is not guaranteed (#​1259)

v1.56.0

Compare Source

DNS API is now generally available

The DNS API is now generally available, as well as support for features in this project that are related to the DNS API.

To migrate existing zones to the new DNS API, see the DNS migration guide.

See the changelog for more details.

Server and load balancer network attachment

With this release, the hcloud_server_network and hcloud_load_balancer_network resource now supports assigning a server or load balancer to a specific network subnet using the subnet_id attribute. The subnet_id attribute also validates that the network_id and ip attributes are consistent with the subnet_id. If they are not consistent, the resource will be replaced.

In the hcloud_server_network resource, the alias_ips attributes now defaults to an empty set when undefined.

Features
  • attach server to a specific network subnet (#​1217)
  • attach load balancer to a specific network subnet (#​1242)
  • DNS support is now generally available (#​1247)

v1.55.0

Compare Source

Features
  • support managing records of type SOA (#​1225)
  • firewall: importing firewall attachments (#​1231)
  • add txt_record helper function (#​1227)
Bug Fixes
  • load-balancer: mark health check retries as required (#​1232)

v1.54.0

Compare Source

DNS API Beta

This release adds support for the new DNS API.

The DNS API is currently in beta, which will likely end on 10 November 2025. After the beta ended, it will no longer be possible to create new zones in the old DNS system. See the DNS Beta FAQ for more details.

Future minor releases of this project may include breaking changes for features that are related to the DNS API.

See the DNS API Beta changelog for more details.

Examples

resource "hcloud_zone" "example" {
  name = "example.com"
  mode = "primary"
  labels = {
    key = "value"
  }
}

resource "hcloud_zone_rrset" "apex_a_example" {
  zone = hcloud_zone.example.name
  name = "@​"
  type = "A"
  records = [
    { value = "201.78.10.45", comment = "server1" },
  ]
}
Features

v1.53.1

Compare Source

Bug Fixes
  • show warnings using diagnostics instead of logs (#​1197)
  • also check server type deprecation after server creation (#​1201)

v1.53.0

Compare Source

Server Types now depend on Locations.

  • We added a new locations property to the Server Types resource. The new property defines a list of supported Locations and additional per Locations details such as deprecations information.

  • We deprecated the deprecation property from the Server Types resource. The property will gradually be phased out as per Locations deprecations are being announced. Please use the new per Locations deprecation information instead.

See our changelog for more details.

Upgrading

// Before
data "hcloud_server_type" "main" {
  name = "cx22"
}

check "server_type" {
  assert {
    condition     = !data.hcloud_server_type.main.is_deprecated
    error_message = "Server Type ${data.hcloud_server_type.main.name} is deprecated"
  }
}
// After
data "hcloud_location" "main" {
  name = "fsn1"
}

data "hcloud_server_type" "main" {
  name = "cx22"
}

locals {
  server_type_location = one([
    for o in data.hcloud_server_type.main.locations : o
    if o.name == data.hcloud_location.main.name
  ])
}

check "server_type_location" {
  assert {
    condition     = local.server_type_location != null
    error_message = "Server Type ${data.hcloud_server_type.main.name} does not exists in Location ${data.hcloud_location.main.name}"
  }
  assert {
    condition     = !local.server_type_location.is_deprecated
    error_message = "Server Type ${data.hcloud_server_type.main.name} is deprecated in Location ${data.hcloud_location.main.name}"
  }
}
Features
  • add category property to server type (#​1184)
  • per locations server types (#​1193)
Bug Fixes
  • ensure exponential poll backoff is configured (#​1160)
  • handle not found volume deletion (#​1189)
  • wait for floating_ip assign action to complete (#​1195)
  • add experimental features maturity (#​1191)

v1.52.0

Compare Source

Features
  • drop support for terraform v1.9 (#​1125)
  • drop support for terraform v1.10 (#​1126)
  • add support for terraform v1.11 (#​1127)
  • add support for terraform v1.12 (#​1128)
  • warn when experimental features are used (#​1155)
  • drop support for opentofu v1.7 (#​1158)
  • add support for opentofu v1.10 (#​1159)

v1.51.0

Compare Source

Features
  • server: add private networks in data_source (#​1115)

v1.50.1

Compare Source

Bug Fixes
  • missing assignee_type in assign primary ip call (#​1117)

v1.50.0

Compare Source

In this release, we upgraded the underlying Hetzner Cloud API client (hcloud-go) for the entire provider, which involves risk of breakage. Please make sure to test this new version before using it on production environments.

Features
  • drop support for terraform v1.8 (#​1066)
  • add support for terraform v1.10 (#​1067)
  • add support for opentofu v1.9 (#​1071)
Bug Fixes

v1.49.1

Compare Source

Bug Fixes

v1.49.0

Compare Source

Features
Bug Fixes

v1.48.1

Compare Source

Bug Fixes
  • missing deprecation info in server type list data source (#​984) (c12560e)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot enabled auto-merge (rebase) September 6, 2024 15:03
@github-actions
Copy link

github-actions bot commented Sep 6, 2024

Terraform Format and Style 🖌success

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

terraform
Running plan in HCP Terraform. Output will stream here. Pressing Ctrl-C
will stop streaming the logs, but will not stop the plan running remotely.

Preparing the remote plan...

The remote workspace is configured to work with configuration at
infra relative to the target repository.

Terraform will upload the contents of the following directory,
excluding files or directories as defined by a .terraformignore file
at /home/runner/work/private_server/private_server/.terraformignore (if it is present),
in order to capture the filesystem context the remote workspace expects:
    /home/runner/work/private_server/private_server

To view this run in a browser, visit:
https://app.terraform.io/app/redline/private_server/runs/run-QPt6RuxSgYPvyy6F

Waiting for the plan to start...

Terraform v1.3.2
on linux_amd64
Initializing plugins and modules...
cloudflare_zone.personal_domain: Refreshing state... [id=cee2af2644f6a3325416173e2d4b44f7]
hcloud_ssh_key.ansible: Refreshing state... [id=8957821]
hcloud_firewall.web_firewall: Refreshing state... [id=603891]
cloudflare_record.aliases["auth"]: Refreshing state... [id=59a6c353a0138b64113ad34f046c17dc]
cloudflare_record.aliases["photoprism"]: Refreshing state... [id=6c61639959eeaf8d547dd411419bcf9a]
cloudflare_record.aliases["traefik"]: Refreshing state... [id=efbdd0b7c842cec43a43af72a450fcc0]
cloudflare_record.aliases["ldap"]: Refreshing state... [id=416e67a40f89597f342029d943e253ed]
cloudflare_record.aliases["grocy"]: Refreshing state... [id=1a98a4348007c72461ab6752f2c7f9df]
cloudflare_record.aliases["grafana"]: Refreshing state... [id=a63efd438a1e819f0e4215e4835a0f24]
hcloud_server.web: Refreshing state... [id=51760523]
hcloud_volume.data: Refreshing state... [id=24743811]
hcloud_firewall_attachment.firewall_assignments: Refreshing state... [id=603891]
cloudflare_record.a: Refreshing state... [id=a44b3519c0443db244e9f2dc5bba8a91]
cloudflare_record.aaaa: Refreshing state... [id=1f54f8a3794295291a1b5a18ed363416]
hcloud_firewall.web_firewall: Drift detected (update)
hcloud_server.web: Drift detected (update)

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.

Pushed by: @renovate[bot], Action: pull_request

auto-merge was automatically disabled September 6, 2024 15:04

Base branch requires signed commits

@renovate renovate bot enabled auto-merge (rebase) October 20, 2024 20:20
@renovate renovate bot force-pushed the renovate/hcloud-1.x-lockfile branch from c2c11d3 to d05825e Compare October 20, 2024 20:20
@github-actions
Copy link

Terraform Format and Style 🖌success

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

terraform
Running plan in HCP Terraform. Output will stream here. Pressing Ctrl-C
will stop streaming the logs, but will not stop the plan running remotely.

Preparing the remote plan...

The remote workspace is configured to work with configuration at
infra relative to the target repository.

Terraform will upload the contents of the following directory,
excluding files or directories as defined by a .terraformignore file
at /home/runner/work/private_server/private_server/.terraformignore (if it is present),
in order to capture the filesystem context the remote workspace expects:
    /home/runner/work/private_server/private_server

To view this run in a browser, visit:
https://app.terraform.io/app/redline/private_server/runs/run-ceFhUBJDnVR1vaY2

Waiting for the plan to start...

Terraform v1.3.2
on linux_amd64
Initializing plugins and modules...
hcloud_ssh_key.ansible: Refreshing state... [id=8957821]
hcloud_firewall.web_firewall: Refreshing state... [id=603891]
cloudflare_zone.personal_domain: Refreshing state... [id=cee2af2644f6a3325416173e2d4b44f7]
cloudflare_record.aliases["grocy"]: Refreshing state... [id=1a98a4348007c72461ab6752f2c7f9df]
cloudflare_record.aliases["traefik"]: Refreshing state... [id=efbdd0b7c842cec43a43af72a450fcc0]
cloudflare_record.aliases["ldap"]: Refreshing state... [id=416e67a40f89597f342029d943e253ed]
cloudflare_record.aliases["grafana"]: Refreshing state... [id=a63efd438a1e819f0e4215e4835a0f24]
cloudflare_record.aliases["auth"]: Refreshing state... [id=59a6c353a0138b64113ad34f046c17dc]
cloudflare_record.aliases["photoprism"]: Refreshing state... [id=6c61639959eeaf8d547dd411419bcf9a]
hcloud_server.web: Refreshing state... [id=51760523]
hcloud_firewall_attachment.firewall_assignments: Refreshing state... [id=603891]
hcloud_volume.data: Refreshing state... [id=24743811]
cloudflare_record.aaaa: Refreshing state... [id=1f54f8a3794295291a1b5a18ed363416]
cloudflare_record.a: Refreshing state... [id=a44b3519c0443db244e9f2dc5bba8a91]
hcloud_server.web: Drift detected (update)
hcloud_firewall.web_firewall: Drift detected (update)

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.

Pushed by: @renovate[bot], Action: pull_request

auto-merge was automatically disabled October 20, 2024 20:21

Base branch requires signed commits

@renovate renovate bot force-pushed the renovate/hcloud-1.x-lockfile branch from d05825e to 725c46e Compare November 7, 2024 12:28
@renovate renovate bot changed the title chore(deps): update terraform hcloud to v1.48.1 chore(deps): update terraform hcloud to v1.49.0 Nov 7, 2024
@github-actions
Copy link

github-actions bot commented Nov 7, 2024

Terraform Format and Style 🖌success

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

terraform
Running plan in HCP Terraform. Output will stream here. Pressing Ctrl-C
will stop streaming the logs, but will not stop the plan running remotely.

Preparing the remote plan...

The remote workspace is configured to work with configuration at
infra relative to the target repository.

Terraform will upload the contents of the following directory,
excluding files or directories as defined by a .terraformignore file
at /home/runner/work/private_server/private_server/.terraformignore (if it is present),
in order to capture the filesystem context the remote workspace expects:
    /home/runner/work/private_server/private_server

To view this run in a browser, visit:
https://app.terraform.io/app/redline/private_server/runs/run-1kPjiWavrAyon3Sx

Waiting for the plan to start...

Terraform v1.3.2
on linux_amd64
Initializing plugins and modules...
cloudflare_zone.personal_domain: Refreshing state... [id=cee2af2644f6a3325416173e2d4b44f7]
hcloud_ssh_key.ansible: Refreshing state... [id=8957821]
hcloud_firewall.web_firewall: Refreshing state... [id=603891]
cloudflare_record.aliases["traefik"]: Refreshing state... [id=efbdd0b7c842cec43a43af72a450fcc0]
cloudflare_record.aliases["ldap"]: Refreshing state... [id=416e67a40f89597f342029d943e253ed]
cloudflare_record.aliases["auth"]: Refreshing state... [id=59a6c353a0138b64113ad34f046c17dc]
cloudflare_record.aliases["photoprism"]: Refreshing state... [id=6c61639959eeaf8d547dd411419bcf9a]
cloudflare_record.aliases["grocy"]: Refreshing state... [id=1a98a4348007c72461ab6752f2c7f9df]
cloudflare_record.aliases["grafana"]: Refreshing state... [id=a63efd438a1e819f0e4215e4835a0f24]
hcloud_server.web: Refreshing state... [id=51760523]
hcloud_firewall_attachment.firewall_assignments: Refreshing state... [id=603891]
hcloud_volume.data: Refreshing state... [id=24743811]
cloudflare_record.a: Refreshing state... [id=a44b3519c0443db244e9f2dc5bba8a91]
cloudflare_record.aaaa: Refreshing state... [id=1f54f8a3794295291a1b5a18ed363416]
hcloud_firewall.web_firewall: Drift detected (update)
hcloud_server.web: Drift detected (update)

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.

Pushed by: @renovate[bot], Action: pull_request

@renovate renovate bot force-pushed the renovate/hcloud-1.x-lockfile branch from 725c46e to 3dbae8d Compare November 21, 2024 16:17
@renovate renovate bot changed the title chore(deps): update terraform hcloud to v1.49.0 chore(deps): update terraform hcloud to v1.49.1 Nov 21, 2024
@github-actions
Copy link

Terraform Format and Style 🖌success

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

terraform
Running plan in HCP Terraform. Output will stream here. Pressing Ctrl-C
will stop streaming the logs, but will not stop the plan running remotely.

Preparing the remote plan...

The remote workspace is configured to work with configuration at
infra relative to the target repository.

Terraform will upload the contents of the following directory,
excluding files or directories as defined by a .terraformignore file
at /home/runner/work/private_server/private_server/.terraformignore (if it is present),
in order to capture the filesystem context the remote workspace expects:
    /home/runner/work/private_server/private_server

To view this run in a browser, visit:
https://app.terraform.io/app/redline/private_server/runs/run-jUhj1Yz4Q61mgfyr

Waiting for the plan to start...

Terraform v1.3.2
on linux_amd64
Initializing plugins and modules...
cloudflare_zone.personal_domain: Refreshing state... [id=cee2af2644f6a3325416173e2d4b44f7]
hcloud_ssh_key.ansible: Refreshing state... [id=8957821]
hcloud_firewall.web_firewall: Refreshing state... [id=603891]
hcloud_server.web: Refreshing state... [id=51760523]
cloudflare_record.aliases["photoprism"]: Refreshing state... [id=6c61639959eeaf8d547dd411419bcf9a]
cloudflare_record.aliases["grocy"]: Refreshing state... [id=1a98a4348007c72461ab6752f2c7f9df]
cloudflare_record.aliases["auth"]: Refreshing state... [id=59a6c353a0138b64113ad34f046c17dc]
cloudflare_record.aliases["grafana"]: Refreshing state... [id=a63efd438a1e819f0e4215e4835a0f24]
cloudflare_record.aliases["traefik"]: Refreshing state... [id=efbdd0b7c842cec43a43af72a450fcc0]
cloudflare_record.aliases["ldap"]: Refreshing state... [id=416e67a40f89597f342029d943e253ed]
hcloud_volume.data: Refreshing state... [id=24743811]
cloudflare_record.a: Refreshing state... [id=a44b3519c0443db244e9f2dc5bba8a91]
cloudflare_record.aaaa: Refreshing state... [id=1f54f8a3794295291a1b5a18ed363416]
hcloud_firewall_attachment.firewall_assignments: Refreshing state... [id=603891]
hcloud_firewall.web_firewall: Drift detected (update)
hcloud_server.web: Drift detected (update)

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.

Pushed by: @renovate[bot], Action: pull_request

@renovate renovate bot force-pushed the renovate/hcloud-1.x-lockfile branch from 3dbae8d to 8707481 Compare February 25, 2025 19:35
@renovate renovate bot changed the title chore(deps): update terraform hcloud to v1.49.1 chore(deps): update terraform hcloud to v1.50.0 Feb 25, 2025
@github-actions
Copy link

Terraform Format and Style 🖌success

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

terraform
Running plan in HCP Terraform. Output will stream here. Pressing Ctrl-C
will stop streaming the logs, but will not stop the plan running remotely.

Preparing the remote plan...

The remote workspace is configured to work with configuration at
infra relative to the target repository.

Terraform will upload the contents of the following directory,
excluding files or directories as defined by a .terraformignore file
at /home/runner/work/private_server/private_server/.terraformignore (if it is present),
in order to capture the filesystem context the remote workspace expects:
    /home/runner/work/private_server/private_server

To view this run in a browser, visit:
https://app.terraform.io/app/redline/private_server/runs/run-2w7gHS3QP2CxhDtS

Waiting for the plan to start...

Terraform v1.3.2
on linux_amd64
Initializing plugins and modules...
cloudflare_zone.personal_domain: Refreshing state... [id=cee2af2644f6a3325416173e2d4b44f7]
hcloud_ssh_key.ansible: Refreshing state... [id=8957821]
hcloud_firewall.web_firewall: Refreshing state... [id=603891]
cloudflare_record.aliases["auth"]: Refreshing state... [id=59a6c353a0138b64113ad34f046c17dc]
cloudflare_record.aliases["grafana"]: Refreshing state... [id=a63efd438a1e819f0e4215e4835a0f24]
cloudflare_record.aliases["grocy"]: Refreshing state... [id=1a98a4348007c72461ab6752f2c7f9df]
cloudflare_record.aliases["traefik"]: Refreshing state... [id=efbdd0b7c842cec43a43af72a450fcc0]
cloudflare_record.aliases["ldap"]: Refreshing state... [id=416e67a40f89597f342029d943e253ed]
cloudflare_record.aliases["photoprism"]: Refreshing state... [id=6c61639959eeaf8d547dd411419bcf9a]
hcloud_server.web: Refreshing state... [id=51760523]
cloudflare_record.aaaa: Refreshing state... [id=1f54f8a3794295291a1b5a18ed363416]
hcloud_firewall_attachment.firewall_assignments: Refreshing state... [id=603891]
cloudflare_record.a: Refreshing state... [id=a44b3519c0443db244e9f2dc5bba8a91]
hcloud_volume.data: Refreshing state... [id=24743811]
cloudflare_record.a: Drift detected (update)
hcloud_firewall.web_firewall: Drift detected (update)
cloudflare_record.aaaa: Drift detected (update)
hcloud_server.web: Drift detected (update)
cloudflare_record.aliases["grafana"]: Drift detected (update)
cloudflare_record.aliases["grocy"]: Drift detected (update)
cloudflare_record.aliases["ldap"]: Drift detected (update)
cloudflare_record.aliases["photoprism"]: Drift detected (update)
cloudflare_record.aliases["traefik"]: Drift detected (update)
cloudflare_record.aliases["auth"]: Drift detected (update)

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.

Pushed by: @renovate[bot], Action: pull_request

@renovate renovate bot force-pushed the renovate/hcloud-1.x-lockfile branch from 8707481 to e2e2a84 Compare April 24, 2025 15:04
@renovate renovate bot changed the title chore(deps): update terraform hcloud to v1.50.0 chore(deps): update terraform hcloud to v1.50.1 Apr 24, 2025
@github-actions
Copy link

Terraform Format and Style 🖌success

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

terraform
Running plan in HCP Terraform. Output will stream here. Pressing Ctrl-C
will stop streaming the logs, but will not stop the plan running remotely.

Preparing the remote plan...

The remote workspace is configured to work with configuration at
infra relative to the target repository.

Terraform will upload the contents of the following directory,
excluding files or directories as defined by a .terraformignore file
at /home/runner/work/private_server/private_server/.terraformignore (if it is present),
in order to capture the filesystem context the remote workspace expects:
    /home/runner/work/private_server/private_server

To view this run in a browser, visit:
https://app.terraform.io/app/redline/private_server/runs/run-CVrfkWApDyBrsxyM

Waiting for the plan to start...

Terraform v1.3.2
on linux_amd64
Initializing plugins and modules...
cloudflare_zone.personal_domain: Refreshing state... [id=cee2af2644f6a3325416173e2d4b44f7]
hcloud_ssh_key.ansible: Refreshing state... [id=8957821]
hcloud_firewall.web_firewall: Refreshing state... [id=603891]
cloudflare_record.aliases["auth"]: Refreshing state... [id=59a6c353a0138b64113ad34f046c17dc]
cloudflare_record.aliases["grafana"]: Refreshing state... [id=a63efd438a1e819f0e4215e4835a0f24]
cloudflare_record.aliases["photoprism"]: Refreshing state... [id=6c61639959eeaf8d547dd411419bcf9a]
cloudflare_record.aliases["ldap"]: Refreshing state... [id=416e67a40f89597f342029d943e253ed]
cloudflare_record.aliases["grocy"]: Refreshing state... [id=1a98a4348007c72461ab6752f2c7f9df]
cloudflare_record.aliases["traefik"]: Refreshing state... [id=efbdd0b7c842cec43a43af72a450fcc0]
hcloud_server.web: Refreshing state... [id=51760523]
hcloud_volume.data: Refreshing state... [id=24743811]
hcloud_firewall_attachment.firewall_assignments: Refreshing state... [id=603891]
cloudflare_record.aaaa: Refreshing state... [id=1f54f8a3794295291a1b5a18ed363416]
cloudflare_record.a: Refreshing state... [id=a44b3519c0443db244e9f2dc5bba8a91]
hcloud_firewall.web_firewall: Drift detected (update)
cloudflare_record.aliases["ldap"]: Drift detected (update)
cloudflare_record.aliases["photoprism"]: Drift detected (update)
cloudflare_record.aliases["traefik"]: Drift detected (update)
cloudflare_record.aliases["auth"]: Drift detected (update)
cloudflare_record.aliases["grafana"]: Drift detected (update)
cloudflare_record.aliases["grocy"]: Drift detected (update)
hcloud_server.web: Drift detected (update)
cloudflare_record.a: Drift detected (update)
cloudflare_record.aaaa: Drift detected (update)

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.

Pushed by: @renovate[bot], Action: pull_request

@renovate renovate bot force-pushed the renovate/hcloud-1.x-lockfile branch from e2e2a84 to 3697ca9 Compare May 20, 2025 13:31
@renovate renovate bot changed the title chore(deps): update terraform hcloud to v1.50.1 chore(deps): update terraform hcloud to v1.51.0 May 20, 2025
@renovate renovate bot temporarily deployed to production May 20, 2025 13:31 Inactive
@github-actions
Copy link

Terraform Format and Style 🖌success

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

terraform
Running plan in HCP Terraform. Output will stream here. Pressing Ctrl-C
will stop streaming the logs, but will not stop the plan running remotely.

Preparing the remote plan...

The remote workspace is configured to work with configuration at
infra relative to the target repository.

Terraform will upload the contents of the following directory,
excluding files or directories as defined by a .terraformignore file
at /home/runner/work/private_server/private_server/.terraformignore (if it is present),
in order to capture the filesystem context the remote workspace expects:
    /home/runner/work/private_server/private_server

To view this run in a browser, visit:
https://app.terraform.io/app/redline/private_server/runs/run-rTanm7NDCJENbDr3

Waiting for the plan to start...

Terraform v1.3.2
on linux_amd64
Initializing plugins and modules...
cloudflare_zone.personal_domain: Refreshing state... [id=cee2af2644f6a3325416173e2d4b44f7]
hcloud_ssh_key.ansible: Refreshing state... [id=8957821]
hcloud_firewall.web_firewall: Refreshing state... [id=603891]
hcloud_server.web: Refreshing state... [id=51760523]
cloudflare_record.aliases["grocy"]: Refreshing state... [id=1a98a4348007c72461ab6752f2c7f9df]
cloudflare_record.aliases["ldap"]: Refreshing state... [id=416e67a40f89597f342029d943e253ed]
cloudflare_record.aliases["photoprism"]: Refreshing state... [id=6c61639959eeaf8d547dd411419bcf9a]
cloudflare_record.aliases["auth"]: Refreshing state... [id=59a6c353a0138b64113ad34f046c17dc]
cloudflare_record.aliases["grafana"]: Refreshing state... [id=a63efd438a1e819f0e4215e4835a0f24]
cloudflare_record.aliases["traefik"]: Refreshing state... [id=efbdd0b7c842cec43a43af72a450fcc0]
hcloud_firewall_attachment.firewall_assignments: Refreshing state... [id=603891]
hcloud_volume.data: Refreshing state... [id=24743811]
cloudflare_record.a: Refreshing state... [id=a44b3519c0443db244e9f2dc5bba8a91]
cloudflare_record.aaaa: Refreshing state... [id=1f54f8a3794295291a1b5a18ed363416]
hcloud_firewall.web_firewall: Drift detected (update)
cloudflare_record.aaaa: Drift detected (update)
hcloud_server.web: Drift detected (update)
cloudflare_record.a: Drift detected (update)
cloudflare_record.aliases["traefik"]: Drift detected (update)
cloudflare_record.aliases["auth"]: Drift detected (update)
cloudflare_record.aliases["grafana"]: Drift detected (update)
cloudflare_record.aliases["grocy"]: Drift detected (update)
cloudflare_record.aliases["ldap"]: Drift detected (update)
cloudflare_record.aliases["photoprism"]: Drift detected (update)

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.

Pushed by: @renovate[bot], Action: pull_request

@renovate renovate bot force-pushed the renovate/hcloud-1.x-lockfile branch from 3697ca9 to c987547 Compare July 28, 2025 09:05
@github-actions
Copy link

github-actions bot commented Oct 7, 2025

Terraform Format and Style 🖌success

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

terraform
Running plan in HCP Terraform. Output will stream here. Pressing Ctrl-C
will stop streaming the logs, but will not stop the plan running remotely.

Preparing the remote plan...

The remote workspace is configured to work with configuration at
infra relative to the target repository.

Terraform will upload the contents of the following directory,
excluding files or directories as defined by a .terraformignore file
at /home/runner/work/private_server/private_server/.terraformignore (if it is present),
in order to capture the filesystem context the remote workspace expects:
    /home/runner/work/private_server/private_server

To view this run in a browser, visit:
https://app.terraform.io/app/redline/private_server/runs/run-PaGrTcwAbJj7u55Y

Waiting for the plan to start...

Terraform v1.3.2
on linux_amd64
Initializing plugins and modules...
cloudflare_zone.personal_domain: Refreshing state... [id=cee2af2644f6a3325416173e2d4b44f7]
hcloud_ssh_key.ansible: Refreshing state... [id=8957821]
hcloud_firewall.web_firewall: Refreshing state... [id=603891]
cloudflare_record.aliases["photoprism"]: Refreshing state... [id=6c61639959eeaf8d547dd411419bcf9a]
cloudflare_record.aliases["traefik"]: Refreshing state... [id=efbdd0b7c842cec43a43af72a450fcc0]
cloudflare_record.aliases["ldap"]: Refreshing state... [id=416e67a40f89597f342029d943e253ed]
cloudflare_record.aliases["auth"]: Refreshing state... [id=59a6c353a0138b64113ad34f046c17dc]
cloudflare_record.aliases["grafana"]: Refreshing state... [id=a63efd438a1e819f0e4215e4835a0f24]
cloudflare_record.aliases["grocy"]: Refreshing state... [id=1a98a4348007c72461ab6752f2c7f9df]
hcloud_server.web: Refreshing state... [id=51760523]
hcloud_volume.data: Refreshing state... [id=24743811]
hcloud_firewall_attachment.firewall_assignments: Refreshing state... [id=603891]
cloudflare_record.aaaa: Refreshing state... [id=1f54f8a3794295291a1b5a18ed363416]
cloudflare_record.a: Refreshing state... [id=a44b3519c0443db244e9f2dc5bba8a91]
cloudflare_record.aaaa: Drift detected (update)
hcloud_firewall.web_firewall: Drift detected (update)
cloudflare_record.a: Drift detected (update)
cloudflare_record.aliases["auth"]: Drift detected (update)
cloudflare_record.aliases["grafana"]: Drift detected (update)
cloudflare_record.aliases["grocy"]: Drift detected (update)
cloudflare_record.aliases["ldap"]: Drift detected (update)
cloudflare_record.aliases["photoprism"]: Drift detected (update)
cloudflare_record.aliases["traefik"]: Drift detected (update)
hcloud_server.web: Drift detected (update)

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.

Pushed by: @renovate[bot], Action: pull_request

@renovate renovate bot force-pushed the renovate/hcloud-1.x-lockfile branch from 76974b0 to 805a07e Compare November 7, 2025 16:13
@renovate renovate bot changed the title chore(deps): update terraform hcloud to v1.54.0 chore(deps): update terraform hcloud to v1.55.0 Nov 7, 2025
@github-actions
Copy link

github-actions bot commented Nov 7, 2025

Terraform Format and Style 🖌success

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

terraform
Running plan in HCP Terraform. Output will stream here. Pressing Ctrl-C
will stop streaming the logs, but will not stop the plan running remotely.

Preparing the remote plan...

The remote workspace is configured to work with configuration at
infra relative to the target repository.

Terraform will upload the contents of the following directory,
excluding files or directories as defined by a .terraformignore file
at /home/runner/work/private_server/private_server/.terraformignore (if it is present),
in order to capture the filesystem context the remote workspace expects:
    /home/runner/work/private_server/private_server

To view this run in a browser, visit:
https://app.terraform.io/app/redline/private_server/runs/run-jwzT18eW9Lh6UiR1

Waiting for the plan to start...

Terraform v1.3.2
on linux_amd64
Initializing plugins and modules...
cloudflare_zone.personal_domain: Refreshing state... [id=cee2af2644f6a3325416173e2d4b44f7]
hcloud_ssh_key.ansible: Refreshing state... [id=8957821]
hcloud_firewall.web_firewall: Refreshing state... [id=603891]
hcloud_server.web: Refreshing state... [id=51760523]
hcloud_firewall_attachment.firewall_assignments: Refreshing state... [id=603891]
hcloud_volume.data: Refreshing state... [id=24743811]
cloudflare_record.aaaa: Refreshing state... [id=1f54f8a3794295291a1b5a18ed363416]
cloudflare_record.a: Refreshing state... [id=a44b3519c0443db244e9f2dc5bba8a91]
cloudflare_record.aliases["grocy"]: Refreshing state... [id=1a98a4348007c72461ab6752f2c7f9df]
cloudflare_record.aliases["ldap"]: Refreshing state... [id=416e67a40f89597f342029d943e253ed]
cloudflare_record.aliases["grafana"]: Refreshing state... [id=a63efd438a1e819f0e4215e4835a0f24]
cloudflare_record.aliases["photoprism"]: Refreshing state... [id=6c61639959eeaf8d547dd411419bcf9a]
cloudflare_record.aliases["auth"]: Refreshing state... [id=59a6c353a0138b64113ad34f046c17dc]
cloudflare_record.aliases["traefik"]: Refreshing state... [id=efbdd0b7c842cec43a43af72a450fcc0]
hcloud_firewall.web_firewall: Drift detected (update)
hcloud_server.web: Drift detected (update)
cloudflare_record.a: Drift detected (delete)
cloudflare_record.aliases["traefik"]: Drift detected (delete)
cloudflare_record.aliases["auth"]: Drift detected (delete)
cloudflare_record.aliases["grafana"]: Drift detected (delete)
cloudflare_record.aliases["grocy"]: Drift detected (delete)
cloudflare_record.aliases["ldap"]: Drift detected (delete)
cloudflare_record.aliases["photoprism"]: Drift detected (delete)
cloudflare_record.aaaa: Drift detected (delete)

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # cloudflare_record.a will be created
  + resource "cloudflare_record" "a" {
      + allow_overwrite = false
      + content         = "78.47.192.97"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "pascal.build"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "A"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aaaa will be created
  + resource "cloudflare_record" "aaaa" {
      + allow_overwrite = false
      + content         = "2a01:4f8:c2c:1ff1::1"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "pascal.build"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "AAAA"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["auth"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "auth"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["grafana"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "grafana"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["grocy"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "grocy"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["ldap"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "ldap"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["photoprism"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "photoprism"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["traefik"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "traefik"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

Plan: 8 to add, 0 to change, 0 to destroy.

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.

Pushed by: @renovate[bot], Action: pull_request

@renovate renovate bot force-pushed the renovate/hcloud-1.x-lockfile branch from 805a07e to 45cf672 Compare November 10, 2025 19:47
@renovate renovate bot changed the title chore(deps): update terraform hcloud to v1.55.0 chore(deps): update terraform hcloud to v1.56.0 Nov 10, 2025
@github-actions
Copy link

Terraform Format and Style 🖌success

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

terraform
Running plan in HCP Terraform. Output will stream here. Pressing Ctrl-C
will stop streaming the logs, but will not stop the plan running remotely.

Preparing the remote plan...

The remote workspace is configured to work with configuration at
infra relative to the target repository.

Terraform will upload the contents of the following directory,
excluding files or directories as defined by a .terraformignore file
at /home/runner/work/private_server/private_server/.terraformignore (if it is present),
in order to capture the filesystem context the remote workspace expects:
    /home/runner/work/private_server/private_server

To view this run in a browser, visit:
https://app.terraform.io/app/redline/private_server/runs/run-B6foiw8NM5tFU4M6

Waiting for the plan to start...

Terraform v1.3.2
on linux_amd64
Initializing plugins and modules...
cloudflare_zone.personal_domain: Refreshing state... [id=cee2af2644f6a3325416173e2d4b44f7]
hcloud_ssh_key.ansible: Refreshing state... [id=8957821]
hcloud_firewall.web_firewall: Refreshing state... [id=603891]
cloudflare_record.aliases["grafana"]: Refreshing state... [id=a63efd438a1e819f0e4215e4835a0f24]
cloudflare_record.aliases["traefik"]: Refreshing state... [id=efbdd0b7c842cec43a43af72a450fcc0]
cloudflare_record.aliases["photoprism"]: Refreshing state... [id=6c61639959eeaf8d547dd411419bcf9a]
cloudflare_record.aliases["ldap"]: Refreshing state... [id=416e67a40f89597f342029d943e253ed]
cloudflare_record.aliases["grocy"]: Refreshing state... [id=1a98a4348007c72461ab6752f2c7f9df]
cloudflare_record.aliases["auth"]: Refreshing state... [id=59a6c353a0138b64113ad34f046c17dc]
hcloud_server.web: Refreshing state... [id=51760523]
hcloud_volume.data: Refreshing state... [id=24743811]
hcloud_firewall_attachment.firewall_assignments: Refreshing state... [id=603891]
cloudflare_record.a: Refreshing state... [id=a44b3519c0443db244e9f2dc5bba8a91]
cloudflare_record.aaaa: Refreshing state... [id=1f54f8a3794295291a1b5a18ed363416]
cloudflare_record.aaaa: Drift detected (delete)
cloudflare_record.a: Drift detected (delete)
cloudflare_record.aliases["grocy"]: Drift detected (delete)
cloudflare_record.aliases["ldap"]: Drift detected (delete)
cloudflare_record.aliases["photoprism"]: Drift detected (delete)
cloudflare_record.aliases["traefik"]: Drift detected (delete)
cloudflare_record.aliases["auth"]: Drift detected (delete)
cloudflare_record.aliases["grafana"]: Drift detected (delete)
hcloud_firewall.web_firewall: Drift detected (update)
hcloud_server.web: Drift detected (update)

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # cloudflare_record.a will be created
  + resource "cloudflare_record" "a" {
      + allow_overwrite = false
      + content         = "78.47.192.97"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "pascal.build"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "A"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aaaa will be created
  + resource "cloudflare_record" "aaaa" {
      + allow_overwrite = false
      + content         = "2a01:4f8:c2c:1ff1::1"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "pascal.build"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "AAAA"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["auth"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "auth"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["grafana"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "grafana"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["grocy"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "grocy"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["ldap"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "ldap"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["photoprism"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "photoprism"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["traefik"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "traefik"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

Plan: 8 to add, 0 to change, 0 to destroy.

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.

Pushed by: @renovate[bot], Action: pull_request

@renovate renovate bot force-pushed the renovate/hcloud-1.x-lockfile branch from 45cf672 to 0d0cb9f Compare November 28, 2025 12:55
@renovate renovate bot changed the title chore(deps): update terraform hcloud to v1.56.0 chore(deps): update terraform hcloud to v1.57.0 Nov 28, 2025
@github-actions
Copy link

Terraform Format and Style 🖌success

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

terraform
Running plan in HCP Terraform. Output will stream here. Pressing Ctrl-C
will stop streaming the logs, but will not stop the plan running remotely.

Preparing the remote plan...

The remote workspace is configured to work with configuration at
infra relative to the target repository.

Terraform will upload the contents of the following directory,
excluding files or directories as defined by a .terraformignore file
at /home/runner/work/private_server/private_server/.terraformignore (if it is present),
in order to capture the filesystem context the remote workspace expects:
    /home/runner/work/private_server/private_server

To view this run in a browser, visit:
https://app.terraform.io/app/redline/private_server/runs/run-bnJ2A6SyKdd7vuqm

Waiting for the plan to start...

Terraform v1.3.2
on linux_amd64
Initializing plugins and modules...
hcloud_ssh_key.ansible: Refreshing state... [id=8957821]
hcloud_firewall.web_firewall: Refreshing state... [id=603891]
cloudflare_zone.personal_domain: Refreshing state... [id=cee2af2644f6a3325416173e2d4b44f7]
cloudflare_record.aliases["grafana"]: Refreshing state... [id=a63efd438a1e819f0e4215e4835a0f24]
cloudflare_record.aliases["photoprism"]: Refreshing state... [id=6c61639959eeaf8d547dd411419bcf9a]
cloudflare_record.aliases["ldap"]: Refreshing state... [id=416e67a40f89597f342029d943e253ed]
cloudflare_record.aliases["traefik"]: Refreshing state... [id=efbdd0b7c842cec43a43af72a450fcc0]
cloudflare_record.aliases["grocy"]: Refreshing state... [id=1a98a4348007c72461ab6752f2c7f9df]
cloudflare_record.aliases["auth"]: Refreshing state... [id=59a6c353a0138b64113ad34f046c17dc]
hcloud_server.web: Refreshing state... [id=51760523]
hcloud_volume.data: Refreshing state... [id=24743811]
hcloud_firewall_attachment.firewall_assignments: Refreshing state... [id=603891]
cloudflare_record.a: Refreshing state... [id=a44b3519c0443db244e9f2dc5bba8a91]
cloudflare_record.aaaa: Refreshing state... [id=1f54f8a3794295291a1b5a18ed363416]
hcloud_firewall.web_firewall: Drift detected (update)
hcloud_server.web: Drift detected (update)
cloudflare_record.a: Drift detected (delete)
cloudflare_record.aaaa: Drift detected (delete)
cloudflare_record.aliases["ldap"]: Drift detected (delete)
cloudflare_record.aliases["photoprism"]: Drift detected (delete)
cloudflare_record.aliases["traefik"]: Drift detected (delete)
cloudflare_record.aliases["auth"]: Drift detected (delete)
cloudflare_record.aliases["grafana"]: Drift detected (delete)
cloudflare_record.aliases["grocy"]: Drift detected (delete)

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # cloudflare_record.a will be created
  + resource "cloudflare_record" "a" {
      + allow_overwrite = false
      + content         = "78.47.192.97"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "pascal.build"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "A"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aaaa will be created
  + resource "cloudflare_record" "aaaa" {
      + allow_overwrite = false
      + content         = "2a01:4f8:c2c:1ff1::1"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "pascal.build"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "AAAA"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["auth"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "auth"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["grafana"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "grafana"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["grocy"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "grocy"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["ldap"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "ldap"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["photoprism"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "photoprism"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["traefik"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "traefik"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

Plan: 8 to add, 0 to change, 0 to destroy.

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.

Pushed by: @renovate[bot], Action: pull_request

@renovate renovate bot force-pushed the renovate/hcloud-1.x-lockfile branch from 0d0cb9f to 167370a Compare January 5, 2026 16:35
@renovate renovate bot changed the title chore(deps): update terraform hcloud to v1.57.0 chore(deps): update terraform hcloud to v1.58.0 Jan 5, 2026
@github-actions
Copy link

github-actions bot commented Jan 5, 2026

Terraform Format and Style 🖌success

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

terraform
Running plan in HCP Terraform. Output will stream here. Pressing Ctrl-C
will stop streaming the logs, but will not stop the plan running remotely.

Preparing the remote plan...

The remote workspace is configured to work with configuration at
infra relative to the target repository.

Terraform will upload the contents of the following directory,
excluding files or directories as defined by a .terraformignore file
at /home/runner/work/private_server/private_server/.terraformignore (if it is present),
in order to capture the filesystem context the remote workspace expects:
    /home/runner/work/private_server/private_server

To view this run in a browser, visit:
https://app.terraform.io/app/redline/private_server/runs/run-VhwjKvE6jPZpBFKk

Waiting for the plan to start...

Terraform v1.3.2
on linux_amd64
Initializing plugins and modules...
cloudflare_zone.personal_domain: Refreshing state... [id=cee2af2644f6a3325416173e2d4b44f7]
hcloud_ssh_key.ansible: Refreshing state... [id=8957821]
hcloud_firewall.web_firewall: Refreshing state... [id=603891]
cloudflare_record.aliases["grafana"]: Refreshing state... [id=a63efd438a1e819f0e4215e4835a0f24]
cloudflare_record.aliases["photoprism"]: Refreshing state... [id=6c61639959eeaf8d547dd411419bcf9a]
cloudflare_record.aliases["traefik"]: Refreshing state... [id=efbdd0b7c842cec43a43af72a450fcc0]
cloudflare_record.aliases["ldap"]: Refreshing state... [id=416e67a40f89597f342029d943e253ed]
cloudflare_record.aliases["auth"]: Refreshing state... [id=59a6c353a0138b64113ad34f046c17dc]
cloudflare_record.aliases["grocy"]: Refreshing state... [id=1a98a4348007c72461ab6752f2c7f9df]
hcloud_server.web: Refreshing state... [id=51760523]
hcloud_volume.data: Refreshing state... [id=24743811]
cloudflare_record.aaaa: Refreshing state... [id=1f54f8a3794295291a1b5a18ed363416]
hcloud_firewall_attachment.firewall_assignments: Refreshing state... [id=603891]
cloudflare_record.a: Refreshing state... [id=a44b3519c0443db244e9f2dc5bba8a91]
cloudflare_record.a: Drift detected (delete)
hcloud_firewall.web_firewall: Drift detected (update)
cloudflare_record.aliases["grafana"]: Drift detected (delete)
cloudflare_record.aliases["grocy"]: Drift detected (delete)
cloudflare_record.aliases["ldap"]: Drift detected (delete)
cloudflare_record.aliases["photoprism"]: Drift detected (delete)
cloudflare_record.aliases["traefik"]: Drift detected (delete)
cloudflare_record.aliases["auth"]: Drift detected (delete)
cloudflare_record.aaaa: Drift detected (delete)
hcloud_server.web: Drift detected (update)

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # cloudflare_record.a will be created
  + resource "cloudflare_record" "a" {
      + allow_overwrite = false
      + content         = "78.47.192.97"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "pascal.build"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "A"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aaaa will be created
  + resource "cloudflare_record" "aaaa" {
      + allow_overwrite = false
      + content         = "2a01:4f8:c2c:1ff1::1"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "pascal.build"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "AAAA"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["auth"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "auth"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["grafana"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "grafana"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["grocy"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "grocy"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["ldap"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "ldap"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["photoprism"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "photoprism"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["traefik"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "traefik"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

Plan: 8 to add, 0 to change, 0 to destroy.

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.

Pushed by: @renovate[bot], Action: pull_request

@renovate renovate bot force-pushed the renovate/hcloud-1.x-lockfile branch from 167370a to 3616653 Compare January 16, 2026 16:11
@renovate renovate bot changed the title chore(deps): update terraform hcloud to v1.58.0 chore(deps): update terraform hcloud to v1.59.0 Jan 16, 2026
@github-actions
Copy link

Terraform Format and Style 🖌success

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

terraform
Running plan in HCP Terraform. Output will stream here. Pressing Ctrl-C
will stop streaming the logs, but will not stop the plan running remotely.

Preparing the remote plan...

The remote workspace is configured to work with configuration at
infra relative to the target repository.

Terraform will upload the contents of the following directory,
excluding files or directories as defined by a .terraformignore file
at /home/runner/work/private_server/private_server/.terraformignore (if it is present),
in order to capture the filesystem context the remote workspace expects:
    /home/runner/work/private_server/private_server

To view this run in a browser, visit:
https://app.terraform.io/app/redline/private_server/runs/run-cdYxqhZcTmaLQsGq

Waiting for the plan to start...

Terraform v1.3.2
on linux_amd64
Initializing plugins and modules...
cloudflare_zone.personal_domain: Refreshing state... [id=cee2af2644f6a3325416173e2d4b44f7]
hcloud_ssh_key.ansible: Refreshing state... [id=8957821]
hcloud_firewall.web_firewall: Refreshing state... [id=603891]
cloudflare_record.aliases["photoprism"]: Refreshing state... [id=6c61639959eeaf8d547dd411419bcf9a]
cloudflare_record.aliases["ldap"]: Refreshing state... [id=416e67a40f89597f342029d943e253ed]
cloudflare_record.aliases["grocy"]: Refreshing state... [id=1a98a4348007c72461ab6752f2c7f9df]
cloudflare_record.aliases["grafana"]: Refreshing state... [id=a63efd438a1e819f0e4215e4835a0f24]
cloudflare_record.aliases["traefik"]: Refreshing state... [id=efbdd0b7c842cec43a43af72a450fcc0]
cloudflare_record.aliases["auth"]: Refreshing state... [id=59a6c353a0138b64113ad34f046c17dc]
hcloud_server.web: Refreshing state... [id=51760523]
hcloud_volume.data: Refreshing state... [id=24743811]
hcloud_firewall_attachment.firewall_assignments: Refreshing state... [id=603891]
cloudflare_record.aaaa: Refreshing state... [id=1f54f8a3794295291a1b5a18ed363416]
cloudflare_record.a: Refreshing state... [id=a44b3519c0443db244e9f2dc5bba8a91]
cloudflare_record.aaaa: Drift detected (delete)
hcloud_firewall.web_firewall: Drift detected (update)
cloudflare_record.aliases["photoprism"]: Drift detected (delete)
cloudflare_record.aliases["traefik"]: Drift detected (delete)
cloudflare_record.aliases["auth"]: Drift detected (delete)
cloudflare_record.aliases["grafana"]: Drift detected (delete)
cloudflare_record.aliases["grocy"]: Drift detected (delete)
cloudflare_record.aliases["ldap"]: Drift detected (delete)
cloudflare_record.a: Drift detected (delete)
hcloud_server.web: Drift detected (update)

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # cloudflare_record.a will be created
  + resource "cloudflare_record" "a" {
      + allow_overwrite = false
      + content         = "78.47.192.97"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "pascal.build"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "A"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aaaa will be created
  + resource "cloudflare_record" "aaaa" {
      + allow_overwrite = false
      + content         = "2a01:4f8:c2c:1ff1::1"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "pascal.build"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "AAAA"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["auth"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "auth"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["grafana"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "grafana"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["grocy"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "grocy"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["ldap"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "ldap"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["photoprism"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "photoprism"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["traefik"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "traefik"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

Plan: 8 to add, 0 to change, 0 to destroy.

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.

Pushed by: @renovate[bot], Action: pull_request

@renovate renovate bot force-pushed the renovate/hcloud-1.x-lockfile branch from 3616653 to e7978fe Compare January 29, 2026 12:47
@renovate renovate bot changed the title chore(deps): update terraform hcloud to v1.59.0 chore(deps): update terraform hcloud to v1.60.0 Jan 29, 2026
@github-actions
Copy link

Terraform Format and Style 🖌success

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

terraform
Running plan in HCP Terraform. Output will stream here. Pressing Ctrl-C
will stop streaming the logs, but will not stop the plan running remotely.

Preparing the remote plan...

The remote workspace is configured to work with configuration at
infra relative to the target repository.

Terraform will upload the contents of the following directory,
excluding files or directories as defined by a .terraformignore file
at /home/runner/work/private_server/private_server/.terraformignore (if it is present),
in order to capture the filesystem context the remote workspace expects:
    /home/runner/work/private_server/private_server

To view this run in a browser, visit:
https://app.terraform.io/app/redline/private_server/runs/run-BMeLEpsxKzinqM1c

Waiting for the plan to start...

Terraform v1.3.2
on linux_amd64
Initializing plugins and modules...
hcloud_ssh_key.ansible: Refreshing state... [id=8957821]
hcloud_firewall.web_firewall: Refreshing state... [id=603891]
cloudflare_zone.personal_domain: Refreshing state... [id=cee2af2644f6a3325416173e2d4b44f7]
cloudflare_record.aliases["grocy"]: Refreshing state... [id=1a98a4348007c72461ab6752f2c7f9df]
cloudflare_record.aliases["grafana"]: Refreshing state... [id=a63efd438a1e819f0e4215e4835a0f24]
cloudflare_record.aliases["traefik"]: Refreshing state... [id=efbdd0b7c842cec43a43af72a450fcc0]
cloudflare_record.aliases["photoprism"]: Refreshing state... [id=6c61639959eeaf8d547dd411419bcf9a]
cloudflare_record.aliases["ldap"]: Refreshing state... [id=416e67a40f89597f342029d943e253ed]
cloudflare_record.aliases["auth"]: Refreshing state... [id=59a6c353a0138b64113ad34f046c17dc]
hcloud_server.web: Refreshing state... [id=51760523]
hcloud_firewall_attachment.firewall_assignments: Refreshing state... [id=603891]
hcloud_volume.data: Refreshing state... [id=24743811]
cloudflare_record.a: Refreshing state... [id=a44b3519c0443db244e9f2dc5bba8a91]
cloudflare_record.aaaa: Refreshing state... [id=1f54f8a3794295291a1b5a18ed363416]
cloudflare_record.a: Drift detected (delete)
cloudflare_record.aaaa: Drift detected (delete)
hcloud_server.web: Drift detected (update)
cloudflare_record.aliases["grocy"]: Drift detected (delete)
cloudflare_record.aliases["ldap"]: Drift detected (delete)
cloudflare_record.aliases["photoprism"]: Drift detected (delete)
cloudflare_record.aliases["traefik"]: Drift detected (delete)
cloudflare_record.aliases["auth"]: Drift detected (delete)
cloudflare_record.aliases["grafana"]: Drift detected (delete)
hcloud_firewall.web_firewall: Drift detected (update)

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # cloudflare_record.a will be created
  + resource "cloudflare_record" "a" {
      + allow_overwrite = false
      + content         = "78.47.192.97"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "pascal.build"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "A"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aaaa will be created
  + resource "cloudflare_record" "aaaa" {
      + allow_overwrite = false
      + content         = "2a01:4f8:c2c:1ff1::1"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "pascal.build"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "AAAA"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["auth"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "auth"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["grafana"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "grafana"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["grocy"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "grocy"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["ldap"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "ldap"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["photoprism"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "photoprism"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["traefik"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "traefik"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

Plan: 8 to add, 0 to change, 0 to destroy.

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.

Pushed by: @renovate[bot], Action: pull_request

@renovate renovate bot force-pushed the renovate/hcloud-1.x-lockfile branch from e7978fe to 31e2475 Compare February 16, 2026 17:13
@renovate renovate bot changed the title chore(deps): update terraform hcloud to v1.60.0 chore(deps): update terraform hcloud to v1.60.1 Feb 16, 2026
@github-actions
Copy link

Terraform Format and Style 🖌success

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

terraform
Running plan in HCP Terraform. Output will stream here. Pressing Ctrl-C
will stop streaming the logs, but will not stop the plan running remotely.

Preparing the remote plan...

The remote workspace is configured to work with configuration at
infra relative to the target repository.

Terraform will upload the contents of the following directory,
excluding files or directories as defined by a .terraformignore file
at /home/runner/work/private_server/private_server/.terraformignore (if it is present),
in order to capture the filesystem context the remote workspace expects:
    /home/runner/work/private_server/private_server

To view this run in a browser, visit:
https://app.terraform.io/app/redline/private_server/runs/run-HG6NbSbKcJXEjNtH

Waiting for the plan to start...

Terraform v1.3.2
on linux_amd64
Initializing plugins and modules...
cloudflare_zone.personal_domain: Refreshing state... [id=cee2af2644f6a3325416173e2d4b44f7]
hcloud_ssh_key.ansible: Refreshing state... [id=8957821]
hcloud_firewall.web_firewall: Refreshing state... [id=603891]
hcloud_server.web: Refreshing state... [id=51760523]
hcloud_firewall_attachment.firewall_assignments: Refreshing state... [id=603891]
hcloud_volume.data: Refreshing state... [id=24743811]
cloudflare_record.aaaa: Refreshing state... [id=1f54f8a3794295291a1b5a18ed363416]
cloudflare_record.aliases["photoprism"]: Refreshing state... [id=6c61639959eeaf8d547dd411419bcf9a]
cloudflare_record.aliases["grocy"]: Refreshing state... [id=1a98a4348007c72461ab6752f2c7f9df]
cloudflare_record.aliases["auth"]: Refreshing state... [id=59a6c353a0138b64113ad34f046c17dc]
cloudflare_record.a: Refreshing state... [id=a44b3519c0443db244e9f2dc5bba8a91]
cloudflare_record.aliases["grafana"]: Refreshing state... [id=a63efd438a1e819f0e4215e4835a0f24]
cloudflare_record.aliases["traefik"]: Refreshing state... [id=efbdd0b7c842cec43a43af72a450fcc0]
cloudflare_record.aliases["ldap"]: Refreshing state... [id=416e67a40f89597f342029d943e253ed]
cloudflare_record.a: Drift detected (delete)
cloudflare_record.aaaa: Drift detected (delete)
cloudflare_record.aliases["grafana"]: Drift detected (delete)
cloudflare_record.aliases["grocy"]: Drift detected (delete)
cloudflare_record.aliases["ldap"]: Drift detected (delete)
cloudflare_record.aliases["photoprism"]: Drift detected (delete)
cloudflare_record.aliases["traefik"]: Drift detected (delete)
cloudflare_record.aliases["auth"]: Drift detected (delete)
hcloud_firewall.web_firewall: Drift detected (update)
hcloud_server.web: Drift detected (update)

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # cloudflare_record.a will be created
  + resource "cloudflare_record" "a" {
      + allow_overwrite = false
      + content         = "78.47.192.97"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "pascal.build"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "A"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aaaa will be created
  + resource "cloudflare_record" "aaaa" {
      + allow_overwrite = false
      + content         = "2a01:4f8:c2c:1ff1::1"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "pascal.build"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "AAAA"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["auth"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "auth"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["grafana"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "grafana"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["grocy"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "grocy"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["ldap"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "ldap"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["photoprism"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "photoprism"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

  # cloudflare_record.aliases["traefik"] will be created
  + resource "cloudflare_record" "aliases" {
      + allow_overwrite = false
      + content         = "pascal.build"
      + created_on      = (known after apply)
      + hostname        = (known after apply)
      + id              = (known after apply)
      + metadata        = (known after apply)
      + modified_on     = (known after apply)
      + name            = "traefik"
      + proxiable       = (known after apply)
      + ttl             = 300
      + type            = "CNAME"
      + value           = (known after apply)
      + zone_id         = "cee2af2644f6a3325416173e2d4b44f7"
    }

Plan: 8 to add, 0 to change, 0 to destroy.

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.

Pushed by: @renovate[bot], Action: pull_request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants