Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Terraform helm to v2.16.1 #52

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Feb 14, 2023

This PR contains the following updates:

Package Type Update Change
helm (source) required_provider minor =2.8.0 -> 2.16.1

Release Notes

hashicorp/terraform-provider-helm (helm)

v2.16.1

Compare Source

BUG FIXES:

  • helm_release: Fix nil pointer deref panic on destroy when helm release is not found [GH-1501]

v2.16.0

Compare Source

BUG FIXES:

  • helm_release: On destroy, do not error when release is not found [GH-1487]
  • resource/helm_release: Fix: only recompute metadata when the version in the metadata changes [GH-1458]

v2.15.0

Compare Source

ENHANCEMENT:

  • resource/helm_release: add upgrade_install boolean attribute to enable idempotent release installation, addressing components of GH-425 [GH-1247]

v2.14.1

Compare Source

DEPENDENCIES:

  • Bump golang.org/x/crypto from v0.23.0 to v0.25.0 [GH-1399]
  • Bump k8s.io/api from v0.30.0 to v0.30.3 [GH-1436]
  • Bump k8s.io/apimachinery from v0.30.0 to v0.30.3 [GH-1436]
  • Bump k8s.io/client-go from v0.30.0 to v0.30.3 [GH-1436]
  • Bump helm.sh/helm/v3 from v3.13.2 to v3.15.3 [GH-1422]

v2.14.0

Compare Source

ENHANCEMENT:

  • Add support for Terraform's experimental deferred actions [GH-1377]
  • helm_release: add new attributes metadata.last_deployed, metadata.first_deployed, metadata.notes [GH-1380]

v2.13.2

Compare Source

DEPENDENCIES:

  • Bump github.com/docker/docker from 24.0.7 to 24.0.9
  • Bump golang.org/x/net from 0.21.0 to 0.23.0
  • Bundle license file with TF provider release artifacts

v2.13.1

Compare Source

HOTFIX:

  • helm_release: Fix regression causing errors at plan time.

v2.13.0

Compare Source

BUG FIXES:

  • provider: Fix manifest diff rendering for OCI charts. [GH-1326]

DOCS:

  • docs: Use templatefile() instead of "template_file" provider in GKE example. [GH-1329]

v2.12.1

Compare Source

DEPENDENCIES:

  • Bump Golang from 1.20 to 1.21. [GH-1300]
  • Bump github.com/hashicorp/go-cty from v1.4.1-0.20200414143053-d3edf31b6320 to v1.4.1-0.20200723130312-85980079f637. [GH-1300]
  • Bump github.com/hashicorp/terraform-plugin-docs from v0.14.1 to v0.16.0. [GH-1300]
  • Bump github.com/hashicorp/terraform-plugin-sdk/v2 from v2.26.1 to v2.30.0. [GH-1300]
  • Bump golang.org/x/crypto from v0.14.0 to v0.16.0. [GH-1300]
  • Bump helm.sh/helm/v3 from v3.13.1 to v3.13.2. [GH-1300]
  • Bump k8s.io/api from v0.28.3 to v0.28.4. [GH-1300]
  • Bump k8s.io/apimachinery from v0.28.3 to v0.28.4. [GH-1300]
  • Bump k8s.io/client-go from v0.28.3 to v0.28.4. [GH-1300]
  • Bump sigs.k8s.io/yaml from v1.3.0 to v1.4.0. [GH-1300]

v2.12.0

Compare Source

BUG FIXES:

  • helm_release: Fix perpetual diff when version attribute is an empty string [GH-1246]

DEPENDENCIES:

  • Bump helm.sh/helm/v3 from 3.12.0 to 3.13.1

v2.11.0

Compare Source

ENHANCEMENT:

  • kubernetes/provider.go: Add tls_server_name kubernetes provider options. [GH-839]
  • resource/helm_release: add name field validation to be limited to 53 characters. [GH-1228]

BUG FIXES:

  • helm/resource_release.go: Fix: version conflicts when using local chart [GH-1176]
  • resource/helm_release: Add nil check for set_list.value to prevent provider ChartPathOptions [GH-1231]

v2.10.1

Compare Source

HOTFIX:

  • helm_release: Fix: Only recompute metadata if version actually changes. [GH-1150]

v2.10.0

Compare Source

FEATURES:

  • helm_release: Add set_list attribute [GH-1071]

BUG FIXES:

  • helm_release: Always recompute metadata when a release is updated [GH-1097]

DEPENDENCIES:

  • Bump helm.sh/helm/v3 from 3.11.2 to 3.12.0 [GH-1143]

v2.9.0

Compare Source

FEATURES:

  • provider: Add a new attribute burst_limit for client-side throttling limit configuration. [GH-1012]

ENHANCEMENT:

  • data_source/helm_template: Add a new attribute crds which when include_crds is set to true will be populated with a list of the manifests from the crds/ folder of the chart. [GH-1050]

BUG FIXES:

  • resource/helm_release: Fix an issue when the provider crashes with the error message Provider produced inconsistent final plan after upgrading from v2.5.1 to v2.6.0 and higher. That happened due to changes in the provider schema and the introduction of a new attribute pass_credentials that was not properly handled. [GH-982]

DOCS:

  • data_source/helm_template: Add a new attribute crds [GH-1050]
  • data_source/helm_template: Correct some errors in examples. [GH-1027]
  • provider: Add a new attribute burst_limit. [GH-1012]
  • provider: Add a note regarding the KUBECONFIG environment variable. [GH-1051]
  • resource/helm_release: Add usage example for OCI repositories. [GH-1030]
  • resource/helm_release: Add usage examples for GCS and S3 plugins. [GH-1026]

DEPENDENCIES:

  • Bump github.com/containerd/containerd from 1.6.6 to 1.6.12 [GH-1029]
  • Bump golang.org/x/crypto from 0.5.0 to 0.6.0 [GH-1055]
  • Bump helm.sh/helm/v3 from 3.9.4 to 3.11.1 [GH-1036] [GH-1054]
  • Bump k8s.io/client-go from 0.24.2 to 0.26.1 [GH-1037]

NOTES:

  • provider: kubernetes.exec.api_version no longer supports client.authentication.k8s.io/v1alpha1. Please, switch to client.authentication.k8s.io/v1beta1 or client.authentication.k8s.io/v1. [GH-1037]

Configuration

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

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, 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.

@github-actions
Copy link

Terraform Format and Style 🖌``

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

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

Preparing the remote plan...

To view this run in a browser, visit:
https://app.terraform.io/app/jameswcurtin/do-k8s-cluster/runs/run-pW9R3oJEY7WoAFmF

Waiting for the plan to start...

Terraform v1.1.8
on linux_amd64
Initializing plugins and modules...

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:

  # digitalocean_kubernetes_cluster.this will be created
  + resource "digitalocean_kubernetes_cluster" "this" {
      + auto_upgrade   = true
      + cluster_subnet = (known after apply)
      + created_at     = (known after apply)
      + endpoint       = (known after apply)
      + ha             = false
      + id             = (known after apply)
      + ipv4_address   = (known after apply)
      + kube_config    = (sensitive value)
      + name           = (known after apply)
      + region         = "nyc3"
      + service_subnet = (known after apply)
      + status         = (known after apply)
      + surge_upgrade  = true
      + updated_at     = (known after apply)
      + urn            = (known after apply)
      + version        = "1.25.4-do.0"
      + vpc_uuid       = (known after apply)

      + maintenance_policy {
          + day        = "friday"
          + duration   = (known after apply)
          + start_time = "03:00"
        }

      + node_pool {
          + actual_node_count = (known after apply)
          + auto_scale        = true
          + id                = (known after apply)
          + max_nodes         = 2
          + min_nodes         = 1
          + name              = "worker-pool"
          + nodes             = (known after apply)
          + size              = "s-1vcpu-2gb"
        }
    }

  # digitalocean_loadbalancer.this will be created
  + resource "digitalocean_loadbalancer" "this" {
      + algorithm                        = "round_robin"
      + disable_lets_encrypt_dns_records = false
      + droplet_ids                      = (known after apply)
      + enable_backend_keepalive         = false
      + enable_proxy_protocol            = true
      + http_idle_timeout_seconds        = (known after apply)
      + id                               = (known after apply)
      + ip                               = (known after apply)
      + name                             = (known after apply)
      + project_id                       = (known after apply)
      + redirect_http_to_https           = false
      + region                           = "nyc3"
      + size_unit                        = (known after apply)
      + status                           = (known after apply)
      + urn                              = (known after apply)
      + vpc_uuid                         = (known after apply)

      + firewall {
          + allow = (known after apply)
          + deny  = (known after apply)
        }

      + forwarding_rule {
          + certificate_id   = (known after apply)
          + certificate_name = (known after apply)
          + entry_port       = 80
          + entry_protocol   = "http"
          + target_port      = 80
          + target_protocol  = "http"
          + tls_passthrough  = false
        }

      + healthcheck {
          + check_interval_seconds   = (known after apply)
          + healthy_threshold        = (known after apply)
          + path                     = (known after apply)
          + port                     = (known after apply)
          + protocol                 = (known after apply)
          + response_timeout_seconds = (known after apply)
          + unhealthy_threshold      = (known after apply)
        }

      + sticky_sessions {
          + cookie_name        = (known after apply)
          + cookie_ttl_seconds = (known after apply)
          + type               = (known after apply)
        }
    }

  # digitalocean_record.loadbalancer_subdomain will be created
  + resource "digitalocean_record" "loadbalancer_subdomain" {
      + domain = (sensitive)
      + fqdn   = (known after apply)
      + id     = (known after apply)
      + name   = "kube"
      + ttl    = 60
      + type   = "A"
      + value  = (known after apply)
    }

  # random_id.cluster_id will be created
  + resource "random_id" "cluster_id" {
      + b64_std     = (known after apply)
      + b64_url     = (known after apply)
      + byte_length = 4
      + dec         = (known after apply)
      + hex         = (known after apply)
      + id          = (known after apply)
    }

  # module.cert_automation.helm_release.cert_manager will be created
  + resource "helm_release" "cert_manager" {
      + atomic                     = false
      + chart                      = "cert-manager"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cert-manager"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.jetstack.io"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://artifacthub.io/packages/helm/cert-manager/cert-manager
                resources:
                  requests:
                    cpu: 10m
                    memory: 32Mi
                cainjector:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                startupapicheck:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                webhook:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
            EOT,
        ]
      + verify                     = false
      + version                    = "v1.11.0"
      + wait                       = true
      + wait_for_jobs              = false

      + set {
          + name  = "createCustomResource"
          + value = "true"
        }
      + set {
          + name  = "installCRDs"
          + value = "true"
        }
    }

  # module.cert_automation.helm_release.cluster_issuer will be created
  + resource "helm_release" "cluster_issuer" {
      + atomic                     = false
      + chart                      = "modules/cert-automation/charts/cert-automation"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cluster-issuer"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false

      + set_sensitive {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
    }

  # module.external_dns.helm_release.external_dns will be created
  + resource "helm_release" "external_dns" {
      + atomic                     = false
      + chart                      = "external-dns"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "external-dns"
      + namespace                  = "external-dns"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.bitnami.com/bitnami"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/bitnami/charts/tree/master/bitnami/external-dns
                digitalocean:
                  secretName: "digital-ocean-token"
                interval: "15s"
                provider: "digitalocean"
                policy: "sync"
                txtPrefix: "xdns-"
                resources:
                  requests:
                    memory: "64Mi"
                    cpu: "100m"
            EOT,
        ]
      + verify                     = false
      + version                    = "6.13.3"
      + wait                       = true
      + wait_for_jobs              = false

      + set_sensitive {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
    }

  # module.external_dns.kubernetes_namespace.external_dns will be created
  + resource "kubernetes_namespace" "external_dns" {
      + id = (known after apply)

      + metadata {
          + generation       = (known after apply)
          + name             = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.external_dns.kubernetes_secret.digital_ocean_token will be created
  + resource "kubernetes_secret" "digital_ocean_token" {
      + data                           = (sensitive value)
      + id                             = (known after apply)
      + type                           = "Opaque"
      + wait_for_service_account_token = true

      + metadata {
          + generation       = (known after apply)
          + labels           = {
              + "sensitive" = "true"
            }
          + name             = "digital-ocean-token"
          + namespace        = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.ingress_controller.helm_release.ingress_nginx will be created
  + resource "helm_release" "ingress_nginx" {
      + atomic                     = false
      + chart                      = "ingress-nginx"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ingress-nginx"
      + namespace                  = "ingress-nginx"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://kubernetes.github.io/ingress-nginx"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx
                controller:
                  config:
                    use-proxy-protocol: true
                  service:
                    annotations:
                      "service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol": "true"
                    externalTrafficPolicy: "Cluster"
                    type: "LoadBalancer"
            EOT,
        ]
      + verify                     = false
      + version                    = "4.5.0"
      + wait                       = true
      + wait_for_jobs              = false

      + set_sensitive {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
    }

  # module.ntfy.helm_release.nfty will be created
  + resource "helm_release" "nfty" {
      + atomic                     = false
      + chart                      = "modules/ntfy/charts/ntfy"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ntfy"
      + namespace                  = "ntfy"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false

      + set_sensitive {
          # At least one attribute in this block is (or was) sensitive,
          # so its contents will not be displayed.
        }
    }

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

Changes to Outputs:
  + cluster_name = (known after apply)

Pusher: @renovate[bot], Action: pull_request

@renovate renovate bot changed the title Update Terraform helm to v2.9.0 Update Terraform helm to v2.10.0 Jun 1, 2023
@github-actions
Copy link

github-actions bot commented Jun 1, 2023

Terraform Format and Style 🖌``

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

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

Preparing the remote plan...

To view this run in a browser, visit:
https://app.terraform.io/app/jameswcurtin/do-k8s-cluster/runs/run-tohT6h7Z3y2BJTTn

Waiting for the plan to start...

Terraform v1.1.8
on linux_amd64
Initializing plugins and modules...

Warning: This plan was generated using a different version of Terraform, the
diff presented here may be missing representations of recent features.

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:

  # digitalocean_kubernetes_cluster.this will be created
  + resource "digitalocean_kubernetes_cluster" "this" {
      + auto_upgrade   = true
      + cluster_subnet = (known after apply)
      + created_at     = (known after apply)
      + endpoint       = (known after apply)
      + ha             = false
      + id             = (known after apply)
      + ipv4_address   = (known after apply)
      + kube_config    = (sensitive value)
      + name           = (known after apply)
      + region         = "nyc3"
      + service_subnet = (known after apply)
      + status         = (known after apply)
      + surge_upgrade  = true
      + updated_at     = (known after apply)
      + urn            = (known after apply)
      + version        = "1.27.2-do.0"
      + vpc_uuid       = (known after apply)

      + maintenance_policy {
          + day        = "friday"
          + duration   = (known after apply)
          + start_time = "03:00"
        }

      + node_pool {
          + actual_node_count = (known after apply)
          + auto_scale        = true
          + id                = (known after apply)
          + max_nodes         = 2
          + min_nodes         = 1
          + name              = "worker-pool"
          + nodes             = (known after apply)
          + size              = "s-1vcpu-2gb"
        }
    }

  # digitalocean_loadbalancer.this will be created
  + resource "digitalocean_loadbalancer" "this" {
      + algorithm                        = "round_robin"
      + disable_lets_encrypt_dns_records = false
      + droplet_ids                      = (known after apply)
      + enable_backend_keepalive         = false
      + enable_proxy_protocol            = true
      + http_idle_timeout_seconds        = (known after apply)
      + id                               = (known after apply)
      + ip                               = (known after apply)
      + name                             = (known after apply)
      + project_id                       = (known after apply)
      + redirect_http_to_https           = false
      + region                           = "nyc3"
      + size_unit                        = (known after apply)
      + status                           = (known after apply)
      + urn                              = (known after apply)
      + vpc_uuid                         = (known after apply)

      + forwarding_rule {
          + certificate_id   = (known after apply)
          + certificate_name = (known after apply)
          + entry_port       = 80
          + entry_protocol   = "http"
          + target_port      = 80
          + target_protocol  = "http"
          + tls_passthrough  = false
        }
    }

  # digitalocean_record.loadbalancer_subdomain will be created
  + resource "digitalocean_record" "loadbalancer_subdomain" {
      + domain = (sensitive value)
      + fqdn   = (known after apply)
      + id     = (known after apply)
      + name   = "kube"
      + ttl    = 60
      + type   = "A"
      + value  = (known after apply)
    }

  # module.cert_automation.helm_release.cert_manager will be created
  + resource "helm_release" "cert_manager" {
      + atomic                     = false
      + chart                      = "cert-manager"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cert-manager"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.jetstack.io"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://artifacthub.io/packages/helm/cert-manager/cert-manager
                resources:
                  requests:
                    cpu: 10m
                    memory: 32Mi
                cainjector:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                startupapicheck:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                webhook:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
            EOT,
        ]
      + verify                     = false
      + version                    = "v1.12.1"
      + wait                       = true
      + wait_for_jobs              = false

      + set {
          + name  = "createCustomResource"
          + value = "true"
        }
      + set {
          + name  = "installCRDs"
          + value = "true"
        }
    }

  # module.cert_automation.helm_release.cluster_issuer will be created
  + resource "helm_release" "cluster_issuer" {
      + atomic                     = false
      + chart                      = "modules/cert-automation/charts/cert-automation"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cluster-issuer"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.helm_release.external_dns will be created
  + resource "helm_release" "external_dns" {
      + atomic                     = false
      + chart                      = "external-dns"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "external-dns"
      + namespace                  = "external-dns"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.bitnami.com/bitnami"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/bitnami/charts/tree/master/bitnami/external-dns
                digitalocean:
                  secretName: "digital-ocean-token"
                interval: "15s"
                provider: "digitalocean"
                policy: "sync"
                txtPrefix: "xdns-"
                resources:
                  requests:
                    memory: "64Mi"
                    cpu: "100m"
            EOT,
        ]
      + verify                     = false
      + version                    = "6.20.3"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.kubernetes_namespace.external_dns will be created
  + resource "kubernetes_namespace" "external_dns" {
      + id = (known after apply)

      + metadata {
          + generation       = (known after apply)
          + name             = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.external_dns.kubernetes_secret.digital_ocean_token will be created
  + resource "kubernetes_secret" "digital_ocean_token" {
      # Warning: this attribute value will be marked as sensitive and will not
      # display in UI output after applying this change. The value is unchanged.
      ~ data                           = (sensitive value)
      + id                             = (known after apply)
      + type                           = "Opaque"
      + wait_for_service_account_token = true

      + metadata {
          + generation       = (known after apply)
          + labels           = {
              + "sensitive" = "true"
            }
          + name             = "digital-ocean-token"
          + namespace        = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.ingress_controller.helm_release.ingress_nginx will be created
  + resource "helm_release" "ingress_nginx" {
      + atomic                     = false
      + chart                      = "ingress-nginx"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ingress-nginx"
      + namespace                  = "ingress-nginx"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://kubernetes.github.io/ingress-nginx"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx
                controller:
                  config:
                    use-proxy-protocol: true
                  service:
                    annotations:
                      "service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol": "true"
                    externalTrafficPolicy: "Cluster"
                    type: "LoadBalancer"
            EOT,
        ]
      + verify                     = false
      + version                    = "4.7.0"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.ntfy.helm_release.nfty will be created
  + resource "helm_release" "nfty" {
      + atomic                     = false
      + chart                      = "modules/ntfy/charts/ntfy"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ntfy"
      + namespace                  = "ntfy"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # random_id.cluster_id will be created
  + resource "random_id" "cluster_id" {
      + b64_std     = (known after apply)
      + b64_url     = (known after apply)
      + byte_length = 4
      + dec         = (known after apply)
      + hex         = (known after apply)
      + id          = (known after apply)
    }

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

Changes to Outputs:
  + cluster_name = (known after apply)

Pusher: @renovate[bot], Action: pull_request

@renovate renovate bot changed the title Update Terraform helm to v2.10.0 Update Terraform helm to v2.10.1 Jun 5, 2023
@github-actions
Copy link

github-actions bot commented Jun 5, 2023

Terraform Format and Style 🖌``

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

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

Preparing the remote plan...

To view this run in a browser, visit:
https://app.terraform.io/app/jameswcurtin/do-k8s-cluster/runs/run-y4sKVUhnvxXmz46T

Waiting for the plan to start...

Terraform v1.1.8
on linux_amd64
Initializing plugins and modules...

Warning: This plan was generated using a different version of Terraform, the
diff presented here may be missing representations of recent features.

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:

  # digitalocean_kubernetes_cluster.this will be created
  + resource "digitalocean_kubernetes_cluster" "this" {
      + auto_upgrade   = true
      + cluster_subnet = (known after apply)
      + created_at     = (known after apply)
      + endpoint       = (known after apply)
      + ha             = false
      + id             = (known after apply)
      + ipv4_address   = (known after apply)
      + kube_config    = (sensitive value)
      + name           = (known after apply)
      + region         = "nyc3"
      + service_subnet = (known after apply)
      + status         = (known after apply)
      + surge_upgrade  = true
      + updated_at     = (known after apply)
      + urn            = (known after apply)
      + version        = "1.27.2-do.0"
      + vpc_uuid       = (known after apply)

      + maintenance_policy {
          + day        = "friday"
          + duration   = (known after apply)
          + start_time = "03:00"
        }

      + node_pool {
          + actual_node_count = (known after apply)
          + auto_scale        = true
          + id                = (known after apply)
          + max_nodes         = 2
          + min_nodes         = 1
          + name              = "worker-pool"
          + nodes             = (known after apply)
          + size              = "s-1vcpu-2gb"
        }
    }

  # digitalocean_loadbalancer.this will be created
  + resource "digitalocean_loadbalancer" "this" {
      + algorithm                        = "round_robin"
      + disable_lets_encrypt_dns_records = false
      + droplet_ids                      = (known after apply)
      + enable_backend_keepalive         = false
      + enable_proxy_protocol            = true
      + http_idle_timeout_seconds        = (known after apply)
      + id                               = (known after apply)
      + ip                               = (known after apply)
      + name                             = (known after apply)
      + project_id                       = (known after apply)
      + redirect_http_to_https           = false
      + region                           = "nyc3"
      + size_unit                        = (known after apply)
      + status                           = (known after apply)
      + urn                              = (known after apply)
      + vpc_uuid                         = (known after apply)

      + forwarding_rule {
          + certificate_id   = (known after apply)
          + certificate_name = (known after apply)
          + entry_port       = 80
          + entry_protocol   = "http"
          + target_port      = 80
          + target_protocol  = "http"
          + tls_passthrough  = false
        }
    }

  # digitalocean_record.loadbalancer_subdomain will be created
  + resource "digitalocean_record" "loadbalancer_subdomain" {
      + domain = (sensitive value)
      + fqdn   = (known after apply)
      + id     = (known after apply)
      + name   = "kube"
      + ttl    = 60
      + type   = "A"
      + value  = (known after apply)
    }

  # module.cert_automation.helm_release.cert_manager will be created
  + resource "helm_release" "cert_manager" {
      + atomic                     = false
      + chart                      = "cert-manager"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cert-manager"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.jetstack.io"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://artifacthub.io/packages/helm/cert-manager/cert-manager
                resources:
                  requests:
                    cpu: 10m
                    memory: 32Mi
                cainjector:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                startupapicheck:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                webhook:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
            EOT,
        ]
      + verify                     = false
      + version                    = "v1.12.1"
      + wait                       = true
      + wait_for_jobs              = false

      + set {
          + name  = "createCustomResource"
          + value = "true"
        }
      + set {
          + name  = "installCRDs"
          + value = "true"
        }
    }

  # module.cert_automation.helm_release.cluster_issuer will be created
  + resource "helm_release" "cluster_issuer" {
      + atomic                     = false
      + chart                      = "modules/cert-automation/charts/cert-automation"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cluster-issuer"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.helm_release.external_dns will be created
  + resource "helm_release" "external_dns" {
      + atomic                     = false
      + chart                      = "external-dns"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "external-dns"
      + namespace                  = "external-dns"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.bitnami.com/bitnami"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/bitnami/charts/tree/master/bitnami/external-dns
                digitalocean:
                  secretName: "digital-ocean-token"
                interval: "15s"
                provider: "digitalocean"
                policy: "sync"
                txtPrefix: "xdns-"
                resources:
                  requests:
                    memory: "64Mi"
                    cpu: "100m"
            EOT,
        ]
      + verify                     = false
      + version                    = "6.20.3"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.kubernetes_namespace.external_dns will be created
  + resource "kubernetes_namespace" "external_dns" {
      + id = (known after apply)

      + metadata {
          + generation       = (known after apply)
          + name             = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.external_dns.kubernetes_secret.digital_ocean_token will be created
  + resource "kubernetes_secret" "digital_ocean_token" {
      # Warning: this attribute value will be marked as sensitive and will not
      # display in UI output after applying this change. The value is unchanged.
      ~ data                           = (sensitive value)
      + id                             = (known after apply)
      + type                           = "Opaque"
      + wait_for_service_account_token = true

      + metadata {
          + generation       = (known after apply)
          + labels           = {
              + "sensitive" = "true"
            }
          + name             = "digital-ocean-token"
          + namespace        = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.ingress_controller.helm_release.ingress_nginx will be created
  + resource "helm_release" "ingress_nginx" {
      + atomic                     = false
      + chart                      = "ingress-nginx"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ingress-nginx"
      + namespace                  = "ingress-nginx"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://kubernetes.github.io/ingress-nginx"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx
                controller:
                  config:
                    use-proxy-protocol: true
                  service:
                    annotations:
                      "service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol": "true"
                    externalTrafficPolicy: "Cluster"
                    type: "LoadBalancer"
            EOT,
        ]
      + verify                     = false
      + version                    = "4.7.0"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.ntfy.helm_release.nfty will be created
  + resource "helm_release" "nfty" {
      + atomic                     = false
      + chart                      = "modules/ntfy/charts/ntfy"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ntfy"
      + namespace                  = "ntfy"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # random_id.cluster_id will be created
  + resource "random_id" "cluster_id" {
      + b64_std     = (known after apply)
      + b64_url     = (known after apply)
      + byte_length = 4
      + dec         = (known after apply)
      + hex         = (known after apply)
      + id          = (known after apply)
    }

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

Changes to Outputs:
  + cluster_name = (known after apply)

Pusher: @renovate[bot], Action: pull_request

@renovate renovate bot changed the title Update Terraform helm to v2.10.1 Update Terraform helm to v2.11.0 Aug 24, 2023
@github-actions
Copy link

Terraform Format and Style 🖌``

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖failure

Show Plan

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

Preparing the remote plan...

To view this run in a browser, visit:
https://app.terraform.io/app/jameswcurtin/do-k8s-cluster/runs/run-1ZgNkBSYxUU3CJeJ

Waiting for the plan to start...

Terraform v1.1.8
on linux_amd64
Initializing plugins and modules...
Failed generating plan JSON
Exit code: 1

�[31m�[31m╷�[0m�[0m
�[31m│�[0m �[0m�[1m�[31mError: �[0m�[0m�[1mFailed to request discovery document: Get "https://app.terraform.io/.well-known/terraform.json": net/http: request canceled (Client.Timeout exceeded while awaiting headers)�[0m
�[31m│�[0m �[0m
�[31m│�[0m �[0m�[0m
�[31m╵�[0m�[0m
�[0m�[0m

Operation failed: failed generating plan JSON: failed running command (exit 1)

Pusher: @renovate[bot], Action: pull_request

@renovate renovate bot changed the title Update Terraform helm to v2.11.0 Update Terraform helm to v2.12.0 Nov 28, 2023
Copy link

Terraform Format and Style 🖌``

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

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

Preparing the remote plan...

To view this run in a browser, visit:
https://app.terraform.io/app/jameswcurtin/do-k8s-cluster/runs/run-5aTC7br5iPavytpj

Waiting for the plan to start...

Terraform v1.1.8
on linux_amd64
Initializing plugins and modules...

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:

  # digitalocean_kubernetes_cluster.this will be created
  + resource "digitalocean_kubernetes_cluster" "this" {
      + auto_upgrade   = true
      + cluster_subnet = (known after apply)
      + created_at     = (known after apply)
      + endpoint       = (known after apply)
      + ha             = false
      + id             = (known after apply)
      + ipv4_address   = (known after apply)
      + kube_config    = (sensitive value)
      + name           = (known after apply)
      + region         = "nyc3"
      + service_subnet = (known after apply)
      + status         = (known after apply)
      + surge_upgrade  = true
      + updated_at     = (known after apply)
      + urn            = (known after apply)
      + version        = "1.28.2-do.0"
      + vpc_uuid       = (known after apply)

      + maintenance_policy {
          + day        = "friday"
          + duration   = (known after apply)
          + start_time = "03:00"
        }

      + node_pool {
          + actual_node_count = (known after apply)
          + auto_scale        = true
          + id                = (known after apply)
          + max_nodes         = 2
          + min_nodes         = 1
          + name              = "worker-pool"
          + nodes             = (known after apply)
          + size              = "s-1vcpu-2gb"
        }
    }

  # digitalocean_loadbalancer.this will be created
  + resource "digitalocean_loadbalancer" "this" {
      + algorithm                        = "round_robin"
      + disable_lets_encrypt_dns_records = false
      + droplet_ids                      = (known after apply)
      + enable_backend_keepalive         = false
      + enable_proxy_protocol            = true
      + http_idle_timeout_seconds        = (known after apply)
      + id                               = (known after apply)
      + ip                               = (known after apply)
      + name                             = (known after apply)
      + project_id                       = (known after apply)
      + redirect_http_to_https           = false
      + region                           = "nyc3"
      + size_unit                        = (known after apply)
      + status                           = (known after apply)
      + urn                              = (known after apply)
      + vpc_uuid                         = (known after apply)

      + forwarding_rule {
          + certificate_id   = (known after apply)
          + certificate_name = (known after apply)
          + entry_port       = 80
          + entry_protocol   = "http"
          + target_port      = 80
          + target_protocol  = "http"
          + tls_passthrough  = false
        }
    }

  # digitalocean_record.loadbalancer_subdomain will be created
  + resource "digitalocean_record" "loadbalancer_subdomain" {
      + domain = (sensitive value)
      + fqdn   = (known after apply)
      + id     = (known after apply)
      + name   = "kube"
      + ttl    = 60
      + type   = "A"
      + value  = (known after apply)
    }

  # module.cert_automation.helm_release.cert_manager will be created
  + resource "helm_release" "cert_manager" {
      + atomic                     = false
      + chart                      = "cert-manager"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cert-manager"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.jetstack.io"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://artifacthub.io/packages/helm/cert-manager/cert-manager
                resources:
                  requests:
                    cpu: 10m
                    memory: 32Mi
                cainjector:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                startupapicheck:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                webhook:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
            EOT,
        ]
      + verify                     = false
      + version                    = "v1.13.2"
      + wait                       = true
      + wait_for_jobs              = false

      + set {
          + name  = "createCustomResource"
          + value = "true"
        }
      + set {
          + name  = "installCRDs"
          + value = "true"
        }
    }

  # module.cert_automation.helm_release.cluster_issuer will be created
  + resource "helm_release" "cluster_issuer" {
      + atomic                     = false
      + chart                      = "modules/cert-automation/charts/cert-automation"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cluster-issuer"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.helm_release.external_dns will be created
  + resource "helm_release" "external_dns" {
      + atomic                     = false
      + chart                      = "external-dns"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "external-dns"
      + namespace                  = "external-dns"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.bitnami.com/bitnami"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/bitnami/charts/tree/master/bitnami/external-dns
                digitalocean:
                  secretName: "digital-ocean-token"
                interval: "15s"
                provider: "digitalocean"
                policy: "sync"
                txtPrefix: "xdns-"
                resources:
                  requests:
                    memory: "64Mi"
                    cpu: "100m"
            EOT,
        ]
      + verify                     = false
      + version                    = "6.28.5"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.kubernetes_namespace.external_dns will be created
  + resource "kubernetes_namespace" "external_dns" {
      + id = (known after apply)

      + metadata {
          + generation       = (known after apply)
          + name             = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.external_dns.kubernetes_secret.digital_ocean_token will be created
  + resource "kubernetes_secret" "digital_ocean_token" {
      # Warning: this attribute value will be marked as sensitive and will not
      # display in UI output after applying this change. The value is unchanged.
      ~ data                           = (sensitive value)
      + id                             = (known after apply)
      + type                           = "Opaque"
      + wait_for_service_account_token = true

      + metadata {
          + generation       = (known after apply)
          + labels           = {
              + "sensitive" = "true"
            }
          + name             = "digital-ocean-token"
          + namespace        = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.ingress_controller.helm_release.ingress_nginx will be created
  + resource "helm_release" "ingress_nginx" {
      + atomic                     = false
      + chart                      = "ingress-nginx"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ingress-nginx"
      + namespace                  = "ingress-nginx"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://kubernetes.github.io/ingress-nginx"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx
                controller:
                  config:
                    use-proxy-protocol: true
                  service:
                    annotations:
                      "service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol": "true"
                    externalTrafficPolicy: "Cluster"
                    type: "LoadBalancer"
            EOT,
        ]
      + verify                     = false
      + version                    = "4.8.3"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.ntfy.helm_release.nfty will be created
  + resource "helm_release" "nfty" {
      + atomic                     = false
      + chart                      = "modules/ntfy/charts/ntfy"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ntfy"
      + namespace                  = "ntfy"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # random_id.cluster_id will be created
  + resource "random_id" "cluster_id" {
      + b64_std     = (known after apply)
      + b64_url     = (known after apply)
      + byte_length = 4
      + dec         = (known after apply)
      + hex         = (known after apply)
      + id          = (known after apply)
    }

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

Changes to Outputs:
  + cluster_name = (known after apply)

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

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.

Pusher: @renovate[bot], Action: pull_request

@renovate renovate bot changed the title Update Terraform helm to v2.12.0 Update Terraform helm to v2.12.1 Nov 30, 2023
Copy link

Terraform Format and Style 🖌``

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

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

Preparing the remote plan...

To view this run in a browser, visit:
https://app.terraform.io/app/jameswcurtin/do-k8s-cluster/runs/run-ZqCmGXsRzSEceUNx

Waiting for the plan to start...

Terraform v1.1.8
on linux_amd64
Initializing plugins and modules...

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:

  # digitalocean_kubernetes_cluster.this will be created
  + resource "digitalocean_kubernetes_cluster" "this" {
      + auto_upgrade   = true
      + cluster_subnet = (known after apply)
      + created_at     = (known after apply)
      + endpoint       = (known after apply)
      + ha             = false
      + id             = (known after apply)
      + ipv4_address   = (known after apply)
      + kube_config    = (sensitive value)
      + name           = (known after apply)
      + region         = "nyc3"
      + service_subnet = (known after apply)
      + status         = (known after apply)
      + surge_upgrade  = true
      + updated_at     = (known after apply)
      + urn            = (known after apply)
      + version        = "1.28.2-do.0"
      + vpc_uuid       = (known after apply)

      + maintenance_policy {
          + day        = "friday"
          + duration   = (known after apply)
          + start_time = "03:00"
        }

      + node_pool {
          + actual_node_count = (known after apply)
          + auto_scale        = true
          + id                = (known after apply)
          + max_nodes         = 2
          + min_nodes         = 1
          + name              = "worker-pool"
          + nodes             = (known after apply)
          + size              = "s-1vcpu-2gb"
        }
    }

  # digitalocean_loadbalancer.this will be created
  + resource "digitalocean_loadbalancer" "this" {
      + algorithm                        = "round_robin"
      + disable_lets_encrypt_dns_records = false
      + droplet_ids                      = (known after apply)
      + enable_backend_keepalive         = false
      + enable_proxy_protocol            = true
      + http_idle_timeout_seconds        = (known after apply)
      + id                               = (known after apply)
      + ip                               = (known after apply)
      + name                             = (known after apply)
      + project_id                       = (known after apply)
      + redirect_http_to_https           = false
      + region                           = "nyc3"
      + size_unit                        = (known after apply)
      + status                           = (known after apply)
      + urn                              = (known after apply)
      + vpc_uuid                         = (known after apply)

      + forwarding_rule {
          + certificate_id   = (known after apply)
          + certificate_name = (known after apply)
          + entry_port       = 80
          + entry_protocol   = "http"
          + target_port      = 80
          + target_protocol  = "http"
          + tls_passthrough  = false
        }
    }

  # digitalocean_record.loadbalancer_subdomain will be created
  + resource "digitalocean_record" "loadbalancer_subdomain" {
      + domain = (sensitive value)
      + fqdn   = (known after apply)
      + id     = (known after apply)
      + name   = "kube"
      + ttl    = 60
      + type   = "A"
      + value  = (known after apply)
    }

  # module.cert_automation.helm_release.cert_manager will be created
  + resource "helm_release" "cert_manager" {
      + atomic                     = false
      + chart                      = "cert-manager"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cert-manager"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.jetstack.io"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://artifacthub.io/packages/helm/cert-manager/cert-manager
                resources:
                  requests:
                    cpu: 10m
                    memory: 32Mi
                cainjector:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                startupapicheck:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                webhook:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
            EOT,
        ]
      + verify                     = false
      + version                    = "v1.13.2"
      + wait                       = true
      + wait_for_jobs              = false

      + set {
          + name  = "createCustomResource"
          + value = "true"
        }
      + set {
          + name  = "installCRDs"
          + value = "true"
        }
    }

  # module.cert_automation.helm_release.cluster_issuer will be created
  + resource "helm_release" "cluster_issuer" {
      + atomic                     = false
      + chart                      = "modules/cert-automation/charts/cert-automation"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cluster-issuer"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.helm_release.external_dns will be created
  + resource "helm_release" "external_dns" {
      + atomic                     = false
      + chart                      = "external-dns"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "external-dns"
      + namespace                  = "external-dns"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.bitnami.com/bitnami"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/bitnami/charts/tree/master/bitnami/external-dns
                digitalocean:
                  secretName: "digital-ocean-token"
                interval: "15s"
                provider: "digitalocean"
                policy: "sync"
                txtPrefix: "xdns-"
                resources:
                  requests:
                    memory: "64Mi"
                    cpu: "100m"
            EOT,
        ]
      + verify                     = false
      + version                    = "6.28.5"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.kubernetes_namespace.external_dns will be created
  + resource "kubernetes_namespace" "external_dns" {
      + id = (known after apply)

      + metadata {
          + generation       = (known after apply)
          + name             = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.external_dns.kubernetes_secret.digital_ocean_token will be created
  + resource "kubernetes_secret" "digital_ocean_token" {
      # Warning: this attribute value will be marked as sensitive and will not
      # display in UI output after applying this change. The value is unchanged.
      ~ data                           = (sensitive value)
      + id                             = (known after apply)
      + type                           = "Opaque"
      + wait_for_service_account_token = true

      + metadata {
          + generation       = (known after apply)
          + labels           = {
              + "sensitive" = "true"
            }
          + name             = "digital-ocean-token"
          + namespace        = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.ingress_controller.helm_release.ingress_nginx will be created
  + resource "helm_release" "ingress_nginx" {
      + atomic                     = false
      + chart                      = "ingress-nginx"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ingress-nginx"
      + namespace                  = "ingress-nginx"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://kubernetes.github.io/ingress-nginx"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx
                controller:
                  config:
                    use-proxy-protocol: true
                  service:
                    annotations:
                      "service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol": "true"
                    externalTrafficPolicy: "Cluster"
                    type: "LoadBalancer"
            EOT,
        ]
      + verify                     = false
      + version                    = "4.8.3"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.ntfy.helm_release.nfty will be created
  + resource "helm_release" "nfty" {
      + atomic                     = false
      + chart                      = "modules/ntfy/charts/ntfy"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ntfy"
      + namespace                  = "ntfy"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # random_id.cluster_id will be created
  + resource "random_id" "cluster_id" {
      + b64_std     = (known after apply)
      + b64_url     = (known after apply)
      + byte_length = 4
      + dec         = (known after apply)
      + hex         = (known after apply)
      + id          = (known after apply)
    }

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

Changes to Outputs:
  + cluster_name = (known after apply)

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

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.

Pusher: @renovate[bot], Action: pull_request

@renovate renovate bot changed the title Update Terraform helm to v2.12.1 Update Terraform helm to v2.13.0 Apr 4, 2024
Copy link

github-actions bot commented Apr 4, 2024

Terraform Format and Style 🖌``

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

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

Preparing the remote plan...

To view this run in a browser, visit:
https://app.terraform.io/app/jameswcurtin/do-k8s-cluster/runs/run-tCfNUpufvUv1ZoL6

Waiting for the plan to start...

Terraform v1.1.8
on linux_amd64
Initializing plugins and modules...

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:

  # digitalocean_kubernetes_cluster.this will be created
  + resource "digitalocean_kubernetes_cluster" "this" {
      + auto_upgrade   = true
      + cluster_subnet = (known after apply)
      + created_at     = (known after apply)
      + endpoint       = (known after apply)
      + ha             = false
      + id             = (known after apply)
      + ipv4_address   = (known after apply)
      + kube_config    = (sensitive value)
      + name           = (known after apply)
      + region         = "nyc3"
      + service_subnet = (known after apply)
      + status         = (known after apply)
      + surge_upgrade  = true
      + updated_at     = (known after apply)
      + urn            = (known after apply)
      + version        = "1.29.1-do.0"
      + vpc_uuid       = (known after apply)

      + maintenance_policy {
          + day        = "friday"
          + duration   = (known after apply)
          + start_time = "03:00"
        }

      + node_pool {
          + actual_node_count = (known after apply)
          + auto_scale        = true
          + id                = (known after apply)
          + max_nodes         = 2
          + min_nodes         = 1
          + name              = "worker-pool"
          + nodes             = (known after apply)
          + size              = "s-1vcpu-2gb"
        }
    }

  # digitalocean_loadbalancer.this will be created
  + resource "digitalocean_loadbalancer" "this" {
      + algorithm                        = "round_robin"
      + disable_lets_encrypt_dns_records = false
      + droplet_ids                      = (known after apply)
      + enable_backend_keepalive         = false
      + enable_proxy_protocol            = true
      + http_idle_timeout_seconds        = (known after apply)
      + id                               = (known after apply)
      + ip                               = (known after apply)
      + name                             = (known after apply)
      + project_id                       = (known after apply)
      + redirect_http_to_https           = false
      + region                           = "nyc3"
      + size_unit                        = (known after apply)
      + status                           = (known after apply)
      + urn                              = (known after apply)
      + vpc_uuid                         = (known after apply)

      + forwarding_rule {
          + certificate_id   = (known after apply)
          + certificate_name = (known after apply)
          + entry_port       = 80
          + entry_protocol   = "http"
          + target_port      = 80
          + target_protocol  = "http"
          + tls_passthrough  = false
        }
    }

  # digitalocean_record.loadbalancer_subdomain will be created
  + resource "digitalocean_record" "loadbalancer_subdomain" {
      + domain = (sensitive value)
      + fqdn   = (known after apply)
      + id     = (known after apply)
      + name   = "kube"
      + ttl    = 60
      + type   = "A"
      + value  = (known after apply)
    }

  # module.cert_automation.helm_release.cert_manager will be created
  + resource "helm_release" "cert_manager" {
      + atomic                     = false
      + chart                      = "cert-manager"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cert-manager"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.jetstack.io"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://artifacthub.io/packages/helm/cert-manager/cert-manager
                resources:
                  requests:
                    cpu: 10m
                    memory: 32Mi
                cainjector:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                startupapicheck:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                webhook:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
            EOT,
        ]
      + verify                     = false
      + version                    = "v1.14.4"
      + wait                       = true
      + wait_for_jobs              = false

      + set {
          + name  = "createCustomResource"
          + value = "true"
        }
      + set {
          + name  = "installCRDs"
          + value = "true"
        }
    }

  # module.cert_automation.helm_release.cluster_issuer will be created
  + resource "helm_release" "cluster_issuer" {
      + atomic                     = false
      + chart                      = "modules/cert-automation/charts/cert-automation"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cluster-issuer"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.helm_release.external_dns will be created
  + resource "helm_release" "external_dns" {
      + atomic                     = false
      + chart                      = "external-dns"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "external-dns"
      + namespace                  = "external-dns"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.bitnami.com/bitnami"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/bitnami/charts/tree/master/bitnami/external-dns
                digitalocean:
                  secretName: "digital-ocean-token"
                interval: "15s"
                provider: "digitalocean"
                policy: "sync"
                txtPrefix: "xdns-"
                resources:
                  requests:
                    memory: "64Mi"
                    cpu: "100m"
            EOT,
        ]
      + verify                     = false
      + version                    = "7.1.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.kubernetes_namespace.external_dns will be created
  + resource "kubernetes_namespace" "external_dns" {
      + id = (known after apply)

      + metadata {
          + generation       = (known after apply)
          + name             = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.external_dns.kubernetes_secret.digital_ocean_token will be created
  + resource "kubernetes_secret" "digital_ocean_token" {
      # Warning: this attribute value will be marked as sensitive and will not
      # display in UI output after applying this change. The value is unchanged.
      ~ data                           = (sensitive value)
      + id                             = (known after apply)
      + type                           = "Opaque"
      + wait_for_service_account_token = true

      + metadata {
          + generation       = (known after apply)
          + labels           = {
              + "sensitive" = "true"
            }
          + name             = "digital-ocean-token"
          + namespace        = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.ingress_controller.helm_release.ingress_nginx will be created
  + resource "helm_release" "ingress_nginx" {
      + atomic                     = false
      + chart                      = "ingress-nginx"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ingress-nginx"
      + namespace                  = "ingress-nginx"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://kubernetes.github.io/ingress-nginx"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx
                controller:
                  config:
                    use-proxy-protocol: true
                  service:
                    annotations:
                      "service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol": "true"
                    externalTrafficPolicy: "Cluster"
                    type: "LoadBalancer"
            EOT,
        ]
      + verify                     = false
      + version                    = "4.10.0"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.ntfy.helm_release.nfty will be created
  + resource "helm_release" "nfty" {
      + atomic                     = false
      + chart                      = "modules/ntfy/charts/ntfy"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ntfy"
      + namespace                  = "ntfy"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # random_id.cluster_id will be created
  + resource "random_id" "cluster_id" {
      + b64_std     = (known after apply)
      + b64_url     = (known after apply)
      + byte_length = 4
      + dec         = (known after apply)
      + hex         = (known after apply)
      + id          = (known after apply)
    }

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

Changes to Outputs:
  + cluster_name = (known after apply)

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

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.

Pusher: @renovate[bot], Action: pull_request

@renovate renovate bot changed the title Update Terraform helm to v2.13.0 Update Terraform helm to v2.13.1 Apr 16, 2024
Copy link

Terraform Format and Style 🖌``

Terraform Initialization ⚙️success

Terraform Validation 🤖success

Terraform Plan 📖success

Show Plan

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

Preparing the remote plan...

To view this run in a browser, visit:
https://app.terraform.io/app/jameswcurtin/do-k8s-cluster/runs/run-k1wFhjWTridnStro

Waiting for the plan to start...

Terraform v1.1.8
on linux_amd64
Initializing plugins and modules...

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:

  # digitalocean_kubernetes_cluster.this will be created
  + resource "digitalocean_kubernetes_cluster" "this" {
      + auto_upgrade   = true
      + cluster_subnet = (known after apply)
      + created_at     = (known after apply)
      + endpoint       = (known after apply)
      + ha             = false
      + id             = (known after apply)
      + ipv4_address   = (known after apply)
      + kube_config    = (sensitive value)
      + name           = (known after apply)
      + region         = "nyc3"
      + service_subnet = (known after apply)
      + status         = (known after apply)
      + surge_upgrade  = true
      + updated_at     = (known after apply)
      + urn            = (known after apply)
      + version        = "1.29.1-do.0"
      + vpc_uuid       = (known after apply)

      + maintenance_policy {
          + day        = "friday"
          + duration   = (known after apply)
          + start_time = "03:00"
        }

      + node_pool {
          + actual_node_count = (known after apply)
          + auto_scale        = true
          + id                = (known after apply)
          + max_nodes         = 2
          + min_nodes         = 1
          + name              = "worker-pool"
          + nodes             = (known after apply)
          + size              = "s-1vcpu-2gb"
        }
    }

  # digitalocean_loadbalancer.this will be created
  + resource "digitalocean_loadbalancer" "this" {
      + algorithm                        = "round_robin"
      + disable_lets_encrypt_dns_records = false
      + droplet_ids                      = (known after apply)
      + enable_backend_keepalive         = false
      + enable_proxy_protocol            = true
      + http_idle_timeout_seconds        = (known after apply)
      + id                               = (known after apply)
      + ip                               = (known after apply)
      + name                             = (known after apply)
      + project_id                       = (known after apply)
      + redirect_http_to_https           = false
      + region                           = "nyc3"
      + size_unit                        = (known after apply)
      + status                           = (known after apply)
      + urn                              = (known after apply)
      + vpc_uuid                         = (known after apply)

      + forwarding_rule {
          + certificate_id   = (known after apply)
          + certificate_name = (known after apply)
          + entry_port       = 80
          + entry_protocol   = "http"
          + target_port      = 80
          + target_protocol  = "http"
          + tls_passthrough  = false
        }
    }

  # digitalocean_record.loadbalancer_subdomain will be created
  + resource "digitalocean_record" "loadbalancer_subdomain" {
      + domain = (sensitive value)
      + fqdn   = (known after apply)
      + id     = (known after apply)
      + name   = "kube"
      + ttl    = 60
      + type   = "A"
      + value  = (known after apply)
    }

  # module.cert_automation.helm_release.cert_manager will be created
  + resource "helm_release" "cert_manager" {
      + atomic                     = false
      + chart                      = "cert-manager"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cert-manager"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.jetstack.io"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://artifacthub.io/packages/helm/cert-manager/cert-manager
                resources:
                  requests:
                    cpu: 10m
                    memory: 32Mi
                cainjector:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                startupapicheck:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                webhook:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
            EOT,
        ]
      + verify                     = false
      + version                    = "v1.14.4"
      + wait                       = true
      + wait_for_jobs              = false

      + set {
          + name  = "createCustomResource"
          + value = "true"
            # (1 unchanged attribute hidden)
        }
      + set {
          + name  = "installCRDs"
          + value = "true"
            # (1 unchanged attribute hidden)
        }
    }

  # module.cert_automation.helm_release.cluster_issuer will be created
  + resource "helm_release" "cluster_issuer" {
      + atomic                     = false
      + chart                      = "modules/cert-automation/charts/cert-automation"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cluster-issuer"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.helm_release.external_dns will be created
  + resource "helm_release" "external_dns" {
      + atomic                     = false
      + chart                      = "external-dns"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "external-dns"
      + namespace                  = "external-dns"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.bitnami.com/bitnami"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/bitnami/charts/tree/master/bitnami/external-dns
                digitalocean:
                  secretName: "digital-ocean-token"
                interval: "15s"
                provider: "digitalocean"
                policy: "sync"
                txtPrefix: "xdns-"
                resources:
                  requests:
                    memory: "64Mi"
                    cpu: "100m"
            EOT,
        ]
      + verify                     = false
      + version                    = "7.2.0"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.kubernetes_namespace.external_dns will be created
  + resource "kubernetes_namespace" "external_dns" {
      + id = (known after apply)

      + metadata {
          + generation       = (known after apply)
          + name             = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.external_dns.kubernetes_secret.digital_ocean_token will be created
  + resource "kubernetes_secret" "digital_ocean_token" {
      # Warning: this attribute value will be marked as sensitive and will not
      # display in UI output after applying this change. The value is unchanged.
      ~ data                           = (sensitive value)
      + id                             = (known after apply)
      + type                           = "Opaque"
      + wait_for_service_account_token = true

      + metadata {
          + generation       = (known after apply)
          + labels           = {
              + "sensitive" = "true"
            }
          + name             = "digital-ocean-token"
          + namespace        = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.ingress_controller.helm_release.ingress_nginx will be created
  + resource "helm_release" "ingress_nginx" {
      + atomic                     = false
      + chart                      = "ingress-nginx"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ingress-nginx"
      + namespace                  = "ingress-nginx"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://kubernetes.github.io/ingress-nginx"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx
                controller:
                  config:
                    use-proxy-protocol: true
                  service:
                    annotations:
                      "service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol": "true"
                    externalTrafficPolicy: "Cluster"
                    type: "LoadBalancer"
            EOT,
        ]
      + verify                     = false
      + version                    = "4.10.0"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.ntfy.helm_release.nfty will be created
  + resource "helm_release" "nfty" {
      + atomic                     = false
      + chart                      = "modules/ntfy/charts/ntfy"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ntfy"
      + namespace                  = "ntfy"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # random_id.cluster_id will be created
  + resource "random_id" "cluster_id" {
      + b64_std     = (known after apply)
      + b64_url     = (known after apply)
      + byte_length = 4
      + dec         = (known after apply)
      + hex         = (known after apply)
      + id          = (known after apply)
    }

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

Changes to Outputs:
  + cluster_name = (known after apply)

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

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.

Pusher: @renovate[bot], Action: pull_request

@renovate renovate bot changed the title Update Terraform helm to v2.13.1 Update Terraform helm to v2.13.2 May 8, 2024
Copy link

github-actions bot commented May 8, 2024

Terraform Format and Style 🖌``

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...

To view this run in a browser, visit:
https://app.terraform.io/app/jameswcurtin/do-k8s-cluster/runs/run-nK9VTU9wGJtzjWMX

Waiting for the plan to start...

Terraform v1.1.8
on linux_amd64
Initializing plugins and modules...

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:

  # digitalocean_kubernetes_cluster.this will be created
  + resource "digitalocean_kubernetes_cluster" "this" {
      + auto_upgrade   = true
      + cluster_subnet = (known after apply)
      + created_at     = (known after apply)
      + endpoint       = (known after apply)
      + ha             = false
      + id             = (known after apply)
      + ipv4_address   = (known after apply)
      + kube_config    = (sensitive value)
      + name           = (known after apply)
      + region         = "nyc3"
      + service_subnet = (known after apply)
      + status         = (known after apply)
      + surge_upgrade  = true
      + updated_at     = (known after apply)
      + urn            = (known after apply)
      + version        = "1.29.1-do.0"
      + vpc_uuid       = (known after apply)

      + maintenance_policy {
          + day        = "friday"
          + duration   = (known after apply)
          + start_time = "03:00"
        }

      + node_pool {
          + actual_node_count = (known after apply)
          + auto_scale        = true
          + id                = (known after apply)
          + max_nodes         = 2
          + min_nodes         = 1
          + name              = "worker-pool"
          + nodes             = (known after apply)
          + size              = "s-1vcpu-2gb"
        }
    }

  # digitalocean_loadbalancer.this will be created
  + resource "digitalocean_loadbalancer" "this" {
      + algorithm                        = "round_robin"
      + disable_lets_encrypt_dns_records = false
      + droplet_ids                      = (known after apply)
      + enable_backend_keepalive         = false
      + enable_proxy_protocol            = true
      + http_idle_timeout_seconds        = (known after apply)
      + id                               = (known after apply)
      + ip                               = (known after apply)
      + name                             = (known after apply)
      + project_id                       = (known after apply)
      + redirect_http_to_https           = false
      + region                           = "nyc3"
      + size_unit                        = (known after apply)
      + status                           = (known after apply)
      + urn                              = (known after apply)
      + vpc_uuid                         = (known after apply)

      + forwarding_rule {
          + certificate_id   = (known after apply)
          + certificate_name = (known after apply)
          + entry_port       = 80
          + entry_protocol   = "http"
          + target_port      = 80
          + target_protocol  = "http"
          + tls_passthrough  = false
        }
    }

  # digitalocean_record.loadbalancer_subdomain will be created
  + resource "digitalocean_record" "loadbalancer_subdomain" {
      + domain = (sensitive value)
      + fqdn   = (known after apply)
      + id     = (known after apply)
      + name   = "kube"
      + ttl    = 60
      + type   = "A"
      + value  = (known after apply)
    }

  # module.cert_automation.helm_release.cert_manager will be created
  + resource "helm_release" "cert_manager" {
      + atomic                     = false
      + chart                      = "cert-manager"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cert-manager"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.jetstack.io"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://artifacthub.io/packages/helm/cert-manager/cert-manager
                resources:
                  requests:
                    cpu: 10m
                    memory: 32Mi
                cainjector:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                startupapicheck:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                webhook:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
            EOT,
        ]
      + verify                     = false
      + version                    = "v1.14.5"
      + wait                       = true
      + wait_for_jobs              = false

      + set {
          + name  = "createCustomResource"
          + value = "true"
            # (1 unchanged attribute hidden)
        }
      + set {
          + name  = "installCRDs"
          + value = "true"
            # (1 unchanged attribute hidden)
        }
    }

  # module.cert_automation.helm_release.cluster_issuer will be created
  + resource "helm_release" "cluster_issuer" {
      + atomic                     = false
      + chart                      = "modules/cert-automation/charts/cert-automation"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cluster-issuer"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.helm_release.external_dns will be created
  + resource "helm_release" "external_dns" {
      + atomic                     = false
      + chart                      = "external-dns"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "external-dns"
      + namespace                  = "external-dns"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.bitnami.com/bitnami"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/bitnami/charts/tree/master/bitnami/external-dns
                digitalocean:
                  secretName: "digital-ocean-token"
                interval: "15s"
                provider: "digitalocean"
                policy: "sync"
                txtPrefix: "xdns-"
                resources:
                  requests:
                    memory: "64Mi"
                    cpu: "100m"
            EOT,
        ]
      + verify                     = false
      + version                    = "7.3.0"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.kubernetes_namespace.external_dns will be created
  + resource "kubernetes_namespace" "external_dns" {
      + id = (known after apply)

      + metadata {
          + generation       = (known after apply)
          + name             = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.external_dns.kubernetes_secret.digital_ocean_token will be created
  + resource "kubernetes_secret" "digital_ocean_token" {
      # Warning: this attribute value will be marked as sensitive and will not
      # display in UI output after applying this change. The value is unchanged.
      ~ data                           = (sensitive value)
      + id                             = (known after apply)
      + type                           = "Opaque"
      + wait_for_service_account_token = true

      + metadata {
          + generation       = (known after apply)
          + labels           = {
              + "sensitive" = "true"
            }
          + name             = "digital-ocean-token"
          + namespace        = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.ingress_controller.helm_release.ingress_nginx will be created
  + resource "helm_release" "ingress_nginx" {
      + atomic                     = false
      + chart                      = "ingress-nginx"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ingress-nginx"
      + namespace                  = "ingress-nginx"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://kubernetes.github.io/ingress-nginx"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx
                controller:
                  config:
                    use-proxy-protocol: true
                  service:
                    annotations:
                      "service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol": "true"
                    externalTrafficPolicy: "Cluster"
                    type: "LoadBalancer"
            EOT,
        ]
      + verify                     = false
      + version                    = "4.10.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.ntfy.helm_release.nfty will be created
  + resource "helm_release" "nfty" {
      + atomic                     = false
      + chart                      = "modules/ntfy/charts/ntfy"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ntfy"
      + namespace                  = "ntfy"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # random_id.cluster_id will be created
  + resource "random_id" "cluster_id" {
      + b64_std     = (known after apply)
      + b64_url     = (known after apply)
      + byte_length = 4
      + dec         = (known after apply)
      + hex         = (known after apply)
      + id          = (known after apply)
    }

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

Changes to Outputs:
  + cluster_name = (known after apply)

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

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.

Pusher: @renovate[bot], Action: pull_request

@renovate renovate bot changed the title Update Terraform helm to v2.13.2 Update Terraform helm to v2.14.0 Jun 13, 2024
Copy link

Terraform Format and Style 🖌``

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...

To view this run in a browser, visit:
https://app.terraform.io/app/jameswcurtin/do-k8s-cluster/runs/run-dfRmHDTSZ5Nteh9Q

Waiting for the plan to start...

Terraform v1.1.8
on linux_amd64
Initializing plugins and modules...

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:

  # digitalocean_kubernetes_cluster.this will be created
  + resource "digitalocean_kubernetes_cluster" "this" {
      + auto_upgrade   = true
      + cluster_subnet = (known after apply)
      + created_at     = (known after apply)
      + endpoint       = (known after apply)
      + ha             = false
      + id             = (known after apply)
      + ipv4_address   = (known after apply)
      + kube_config    = (sensitive value)
      + name           = (known after apply)
      + region         = "nyc3"
      + service_subnet = (known after apply)
      + status         = (known after apply)
      + surge_upgrade  = true
      + updated_at     = (known after apply)
      + urn            = (known after apply)
      + version        = "1.30.1-do.0"
      + vpc_uuid       = (known after apply)

      + maintenance_policy {
          + day        = "friday"
          + duration   = (known after apply)
          + start_time = "03:00"
        }

      + node_pool {
          + actual_node_count = (known after apply)
          + auto_scale        = true
          + id                = (known after apply)
          + max_nodes         = 2
          + min_nodes         = 1
          + name              = "worker-pool"
          + nodes             = (known after apply)
          + size              = "s-1vcpu-2gb"
        }
    }

  # digitalocean_loadbalancer.this will be created
  + resource "digitalocean_loadbalancer" "this" {
      + algorithm                        = "round_robin"
      + disable_lets_encrypt_dns_records = false
      + droplet_ids                      = (known after apply)
      + enable_backend_keepalive         = false
      + enable_proxy_protocol            = true
      + http_idle_timeout_seconds        = (known after apply)
      + id                               = (known after apply)
      + ip                               = (known after apply)
      + name                             = (known after apply)
      + project_id                       = (known after apply)
      + redirect_http_to_https           = false
      + region                           = "nyc3"
      + size_unit                        = (known after apply)
      + status                           = (known after apply)
      + urn                              = (known after apply)
      + vpc_uuid                         = (known after apply)

      + forwarding_rule {
          + certificate_id   = (known after apply)
          + certificate_name = (known after apply)
          + entry_port       = 80
          + entry_protocol   = "http"
          + target_port      = 80
          + target_protocol  = "http"
          + tls_passthrough  = false
        }
    }

  # digitalocean_record.loadbalancer_subdomain will be created
  + resource "digitalocean_record" "loadbalancer_subdomain" {
      + domain = (sensitive value)
      + fqdn   = (known after apply)
      + id     = (known after apply)
      + name   = "kube"
      + ttl    = 60
      + type   = "A"
      + value  = (known after apply)
    }

  # module.cert_automation.helm_release.cert_manager will be created
  + resource "helm_release" "cert_manager" {
      + atomic                     = false
      + chart                      = "cert-manager"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cert-manager"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.jetstack.io"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://artifacthub.io/packages/helm/cert-manager/cert-manager
                resources:
                  requests:
                    cpu: 10m
                    memory: 32Mi
                cainjector:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                startupapicheck:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                webhook:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
            EOT,
        ]
      + verify                     = false
      + version                    = "v1.15.0"
      + wait                       = true
      + wait_for_jobs              = false

      + set {
          + name  = "createCustomResource"
          + value = "true"
            # (1 unchanged attribute hidden)
        }
      + set {
          + name  = "installCRDs"
          + value = "true"
            # (1 unchanged attribute hidden)
        }
    }

  # module.cert_automation.helm_release.cluster_issuer will be created
  + resource "helm_release" "cluster_issuer" {
      + atomic                     = false
      + chart                      = "modules/cert-automation/charts/cert-automation"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cluster-issuer"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.helm_release.external_dns will be created
  + resource "helm_release" "external_dns" {
      + atomic                     = false
      + chart                      = "external-dns"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "external-dns"
      + namespace                  = "external-dns"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.bitnami.com/bitnami"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/bitnami/charts/tree/master/bitnami/external-dns
                digitalocean:
                  secretName: "digital-ocean-token"
                interval: "15s"
                provider: "digitalocean"
                policy: "sync"
                txtPrefix: "xdns-"
                resources:
                  requests:
                    memory: "64Mi"
                    cpu: "100m"
            EOT,
        ]
      + verify                     = false
      + version                    = "7.5.5"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.kubernetes_namespace.external_dns will be created
  + resource "kubernetes_namespace" "external_dns" {
      + id = (known after apply)

      + metadata {
          + generation       = (known after apply)
          + name             = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.external_dns.kubernetes_secret.digital_ocean_token will be created
  + resource "kubernetes_secret" "digital_ocean_token" {
      # Warning: this attribute value will be marked as sensitive and will not
      # display in UI output after applying this change. The value is unchanged.
      ~ data                           = (sensitive value)
      + id                             = (known after apply)
      + type                           = "Opaque"
      + wait_for_service_account_token = true

      + metadata {
          + generation       = (known after apply)
          + labels           = {
              + "sensitive" = "true"
            }
          + name             = "digital-ocean-token"
          + namespace        = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.ingress_controller.helm_release.ingress_nginx will be created
  + resource "helm_release" "ingress_nginx" {
      + atomic                     = false
      + chart                      = "ingress-nginx"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ingress-nginx"
      + namespace                  = "ingress-nginx"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://kubernetes.github.io/ingress-nginx"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx
                controller:
                  config:
                    use-proxy-protocol: true
                  service:
                    annotations:
                      "service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol": "true"
                    externalTrafficPolicy: "Cluster"
                    type: "LoadBalancer"
            EOT,
        ]
      + verify                     = false
      + version                    = "4.10.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.ntfy.helm_release.nfty will be created
  + resource "helm_release" "nfty" {
      + atomic                     = false
      + chart                      = "modules/ntfy/charts/ntfy"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ntfy"
      + namespace                  = "ntfy"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # random_id.cluster_id will be created
  + resource "random_id" "cluster_id" {
      + b64_std     = (known after apply)
      + b64_url     = (known after apply)
      + byte_length = 4
      + dec         = (known after apply)
      + hex         = (known after apply)
      + id          = (known after apply)
    }

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

Changes to Outputs:
  + cluster_name = (known after apply)

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

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.

Pusher: @renovate[bot], Action: pull_request

@renovate renovate bot changed the title Update Terraform helm to v2.14.0 Update Terraform helm to v2.14.1 Aug 8, 2024
Copy link

github-actions bot commented Aug 8, 2024

Terraform Format and Style 🖌``

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...

To view this run in a browser, visit:
https://app.terraform.io/app/jameswcurtin/do-k8s-cluster/runs/run-PPirGj5FFj4h3jJs

Waiting for the plan to start...

Terraform v1.1.8
on linux_amd64
Initializing plugins and modules...

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:

  # digitalocean_kubernetes_cluster.this will be created
  + resource "digitalocean_kubernetes_cluster" "this" {
      + auto_upgrade   = true
      + cluster_subnet = (known after apply)
      + created_at     = (known after apply)
      + endpoint       = (known after apply)
      + ha             = false
      + id             = (known after apply)
      + ipv4_address   = (known after apply)
      + kube_config    = (sensitive value)
      + name           = (known after apply)
      + region         = "nyc3"
      + service_subnet = (known after apply)
      + status         = (known after apply)
      + surge_upgrade  = true
      + updated_at     = (known after apply)
      + urn            = (known after apply)
      + version        = "1.30.2-do.0"
      + vpc_uuid       = (known after apply)

      + maintenance_policy {
          + day        = "friday"
          + duration   = (known after apply)
          + start_time = "03:00"
        }

      + node_pool {
          + actual_node_count = (known after apply)
          + auto_scale        = true
          + id                = (known after apply)
          + max_nodes         = 2
          + min_nodes         = 1
          + name              = "worker-pool"
          + nodes             = (known after apply)
          + size              = "s-1vcpu-2gb"
        }
    }

  # digitalocean_loadbalancer.this will be created
  + resource "digitalocean_loadbalancer" "this" {
      + algorithm                        = "round_robin"
      + disable_lets_encrypt_dns_records = false
      + droplet_ids                      = (known after apply)
      + enable_backend_keepalive         = false
      + enable_proxy_protocol            = true
      + http_idle_timeout_seconds        = (known after apply)
      + id                               = (known after apply)
      + ip                               = (known after apply)
      + name                             = (known after apply)
      + project_id                       = (known after apply)
      + redirect_http_to_https           = false
      + region                           = "nyc3"
      + size_unit                        = (known after apply)
      + status                           = (known after apply)
      + urn                              = (known after apply)
      + vpc_uuid                         = (known after apply)

      + firewall (known after apply)

      + forwarding_rule {
          + certificate_id   = (known after apply)
          + certificate_name = (known after apply)
          + entry_port       = 80
          + entry_protocol   = "http"
          + target_port      = 80
          + target_protocol  = "http"
          + tls_passthrough  = false
        }

      + healthcheck (known after apply)

      + sticky_sessions (known after apply)
    }

  # digitalocean_record.loadbalancer_subdomain will be created
  + resource "digitalocean_record" "loadbalancer_subdomain" {
      + domain = (sensitive value)
      + fqdn   = (known after apply)
      + id     = (known after apply)
      + name   = "kube"
      + ttl    = 60
      + type   = "A"
      + value  = (known after apply)
    }

  # module.cert_automation.helm_release.cert_manager will be created
  + resource "helm_release" "cert_manager" {
      + atomic                     = false
      + chart                      = "cert-manager"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cert-manager"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.jetstack.io"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://artifacthub.io/packages/helm/cert-manager/cert-manager
                resources:
                  requests:
                    cpu: 10m
                    memory: 32Mi
                cainjector:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                startupapicheck:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                webhook:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
            EOT,
        ]
      + verify                     = false
      + version                    = "v1.15.2"
      + wait                       = true
      + wait_for_jobs              = false

      + set {
          + name  = "createCustomResource"
          + value = "true"
            # (1 unchanged attribute hidden)
        }
      + set {
          + name  = "installCRDs"
          + value = "true"
            # (1 unchanged attribute hidden)
        }
    }

  # module.cert_automation.helm_release.cluster_issuer will be created
  + resource "helm_release" "cluster_issuer" {
      + atomic                     = false
      + chart                      = "modules/cert-automation/charts/cert-automation"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cluster-issuer"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.helm_release.external_dns will be created
  + resource "helm_release" "external_dns" {
      + atomic                     = false
      + chart                      = "external-dns"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "external-dns"
      + namespace                  = "external-dns"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.bitnami.com/bitnami"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/bitnami/charts/tree/master/bitnami/external-dns
                digitalocean:
                  secretName: "digital-ocean-token"
                interval: "15s"
                provider: "digitalocean"
                policy: "sync"
                txtPrefix: "xdns-"
                resources:
                  requests:
                    memory: "64Mi"
                    cpu: "100m"
            EOT,
        ]
      + verify                     = false
      + version                    = "8.3.4"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.kubernetes_namespace.external_dns will be created
  + resource "kubernetes_namespace" "external_dns" {
      + id = (known after apply)

      + metadata {
          + generation       = (known after apply)
          + name             = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.external_dns.kubernetes_secret.digital_ocean_token will be created
  + resource "kubernetes_secret" "digital_ocean_token" {
      # Warning: this attribute value will be marked as sensitive and will not
      # display in UI output after applying this change. The value is unchanged.
      ~ data                           = (sensitive value)
      + id                             = (known after apply)
      + type                           = "Opaque"
      + wait_for_service_account_token = true

      + metadata {
          + generation       = (known after apply)
          + labels           = {
              + "sensitive" = "true"
            }
          + name             = "digital-ocean-token"
          + namespace        = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.ingress_controller.helm_release.ingress_nginx will be created
  + resource "helm_release" "ingress_nginx" {
      + atomic                     = false
      + chart                      = "ingress-nginx"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ingress-nginx"
      + namespace                  = "ingress-nginx"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://kubernetes.github.io/ingress-nginx"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx
                controller:
                  config:
                    use-proxy-protocol: true
                  service:
                    annotations:
                      "service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol": "true"
                    externalTrafficPolicy: "Cluster"
                    type: "LoadBalancer"
            EOT,
        ]
      + verify                     = false
      + version                    = "4.11.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.ntfy.helm_release.nfty will be created
  + resource "helm_release" "nfty" {
      + atomic                     = false
      + chart                      = "modules/ntfy/charts/ntfy"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ntfy"
      + namespace                  = "ntfy"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # random_id.cluster_id will be created
  + resource "random_id" "cluster_id" {
      + b64_std     = (known after apply)
      + b64_url     = (known after apply)
      + byte_length = 4
      + dec         = (known after apply)
      + hex         = (known after apply)
      + id          = (known after apply)
    }

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

Changes to Outputs:
  + cluster_name = (known after apply)

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

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.

Pusher: @renovate[bot], Action: pull_request

@renovate renovate bot changed the title Update Terraform helm to v2.14.1 Update Terraform helm to v2.15.0 Aug 14, 2024
Copy link

Terraform Format and Style 🖌``

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...

To view this run in a browser, visit:
https://app.terraform.io/app/jameswcurtin/do-k8s-cluster/runs/run-jejdJMB724wxS1dY

Waiting for the plan to start...

Terraform v1.1.8
on linux_amd64
Initializing plugins and modules...

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:

  # digitalocean_kubernetes_cluster.this will be created
  + resource "digitalocean_kubernetes_cluster" "this" {
      + auto_upgrade   = true
      + cluster_subnet = (known after apply)
      + created_at     = (known after apply)
      + endpoint       = (known after apply)
      + ha             = false
      + id             = (known after apply)
      + ipv4_address   = (known after apply)
      + kube_config    = (sensitive value)
      + name           = (known after apply)
      + region         = "nyc3"
      + service_subnet = (known after apply)
      + status         = (known after apply)
      + surge_upgrade  = true
      + updated_at     = (known after apply)
      + urn            = (known after apply)
      + version        = "1.30.2-do.0"
      + vpc_uuid       = (known after apply)

      + maintenance_policy {
          + day        = "friday"
          + duration   = (known after apply)
          + start_time = "03:00"
        }

      + node_pool {
          + actual_node_count = (known after apply)
          + auto_scale        = true
          + id                = (known after apply)
          + max_nodes         = 2
          + min_nodes         = 1
          + name              = "worker-pool"
          + nodes             = (known after apply)
          + size              = "s-1vcpu-2gb"
        }
    }

  # digitalocean_loadbalancer.this will be created
  + resource "digitalocean_loadbalancer" "this" {
      + algorithm                        = "round_robin"
      + disable_lets_encrypt_dns_records = false
      + droplet_ids                      = (known after apply)
      + enable_backend_keepalive         = false
      + enable_proxy_protocol            = true
      + http_idle_timeout_seconds        = (known after apply)
      + id                               = (known after apply)
      + ip                               = (known after apply)
      + name                             = (known after apply)
      + project_id                       = (known after apply)
      + redirect_http_to_https           = false
      + region                           = "nyc3"
      + size_unit                        = (known after apply)
      + status                           = (known after apply)
      + urn                              = (known after apply)
      + vpc_uuid                         = (known after apply)

      + firewall (known after apply)

      + forwarding_rule {
          + certificate_id   = (known after apply)
          + certificate_name = (known after apply)
          + entry_port       = 80
          + entry_protocol   = "http"
          + target_port      = 80
          + target_protocol  = "http"
          + tls_passthrough  = false
        }

      + healthcheck (known after apply)

      + sticky_sessions (known after apply)
    }

  # digitalocean_record.loadbalancer_subdomain will be created
  + resource "digitalocean_record" "loadbalancer_subdomain" {
      + domain = (sensitive value)
      + fqdn   = (known after apply)
      + id     = (known after apply)
      + name   = "kube"
      + ttl    = 60
      + type   = "A"
      + value  = (known after apply)
    }

  # module.cert_automation.helm_release.cert_manager will be created
  + resource "helm_release" "cert_manager" {
      + atomic                     = false
      + chart                      = "cert-manager"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cert-manager"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.jetstack.io"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://artifacthub.io/packages/helm/cert-manager/cert-manager
                resources:
                  requests:
                    cpu: 10m
                    memory: 32Mi
                cainjector:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                startupapicheck:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                webhook:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
            EOT,
        ]
      + verify                     = false
      + version                    = "v1.15.2"
      + wait                       = true
      + wait_for_jobs              = false

      + set {
          + name  = "createCustomResource"
          + value = "true"
            # (1 unchanged attribute hidden)
        }
      + set {
          + name  = "installCRDs"
          + value = "true"
            # (1 unchanged attribute hidden)
        }
    }

  # module.cert_automation.helm_release.cluster_issuer will be created
  + resource "helm_release" "cluster_issuer" {
      + atomic                     = false
      + chart                      = "modules/cert-automation/charts/cert-automation"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cluster-issuer"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.helm_release.external_dns will be created
  + resource "helm_release" "external_dns" {
      + atomic                     = false
      + chart                      = "external-dns"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "external-dns"
      + namespace                  = "external-dns"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.bitnami.com/bitnami"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/bitnami/charts/tree/master/bitnami/external-dns
                digitalocean:
                  secretName: "digital-ocean-token"
                interval: "15s"
                provider: "digitalocean"
                policy: "sync"
                txtPrefix: "xdns-"
                resources:
                  requests:
                    memory: "64Mi"
                    cpu: "100m"
            EOT,
        ]
      + verify                     = false
      + version                    = "8.3.5"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.kubernetes_namespace.external_dns will be created
  + resource "kubernetes_namespace" "external_dns" {
      + id = (known after apply)

      + metadata {
          + generation       = (known after apply)
          + name             = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.external_dns.kubernetes_secret.digital_ocean_token will be created
  + resource "kubernetes_secret" "digital_ocean_token" {
      # Warning: this attribute value will be marked as sensitive and will not
      # display in UI output after applying this change. The value is unchanged.
      ~ data                           = (sensitive value)
      + id                             = (known after apply)
      + type                           = "Opaque"
      + wait_for_service_account_token = true

      + metadata {
          + generation       = (known after apply)
          + labels           = {
              + "sensitive" = "true"
            }
          + name             = "digital-ocean-token"
          + namespace        = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.ingress_controller.helm_release.ingress_nginx will be created
  + resource "helm_release" "ingress_nginx" {
      + atomic                     = false
      + chart                      = "ingress-nginx"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ingress-nginx"
      + namespace                  = "ingress-nginx"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://kubernetes.github.io/ingress-nginx"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx
                controller:
                  config:
                    use-proxy-protocol: true
                  service:
                    annotations:
                      "service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol": "true"
                    externalTrafficPolicy: "Cluster"
                    type: "LoadBalancer"
            EOT,
        ]
      + verify                     = false
      + version                    = "4.11.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.ntfy.helm_release.nfty will be created
  + resource "helm_release" "nfty" {
      + atomic                     = false
      + chart                      = "modules/ntfy/charts/ntfy"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ntfy"
      + namespace                  = "ntfy"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # random_id.cluster_id will be created
  + resource "random_id" "cluster_id" {
      + b64_std     = (known after apply)
      + b64_url     = (known after apply)
      + byte_length = 4
      + dec         = (known after apply)
      + hex         = (known after apply)
      + id          = (known after apply)
    }

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

Changes to Outputs:
  + cluster_name = (known after apply)

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

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.

Pusher: @renovate[bot], Action: pull_request

@renovate renovate bot changed the title Update Terraform helm to v2.15.0 Update Terraform helm to v2.16.0 Oct 10, 2024
Copy link

Terraform Format and Style 🖌``

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...

To view this run in a browser, visit:
https://app.terraform.io/app/jameswcurtin/do-k8s-cluster/runs/run-BFg9mzc6GsT5QfAH

Waiting for the plan to start...

Terraform v1.1.8
on linux_amd64
Initializing plugins and modules...

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:

  # digitalocean_kubernetes_cluster.this will be created
  + resource "digitalocean_kubernetes_cluster" "this" {
      + auto_upgrade   = true
      + cluster_subnet = (known after apply)
      + created_at     = (known after apply)
      + endpoint       = (known after apply)
      + ha             = false
      + id             = (known after apply)
      + ipv4_address   = (known after apply)
      + kube_config    = (sensitive value)
      + name           = (known after apply)
      + region         = "nyc3"
      + service_subnet = (known after apply)
      + status         = (known after apply)
      + surge_upgrade  = true
      + updated_at     = (known after apply)
      + urn            = (known after apply)
      + version        = "1.31.1-do.3"
      + vpc_uuid       = (known after apply)

      + maintenance_policy {
          + day        = "friday"
          + duration   = (known after apply)
          + start_time = "03:00"
        }

      + node_pool {
          + actual_node_count = (known after apply)
          + auto_scale        = true
          + id                = (known after apply)
          + max_nodes         = 2
          + min_nodes         = 1
          + name              = "worker-pool"
          + nodes             = (known after apply)
          + size              = "s-1vcpu-2gb"
        }
    }

  # digitalocean_loadbalancer.this will be created
  + resource "digitalocean_loadbalancer" "this" {
      + algorithm                        = "round_robin"
      + disable_lets_encrypt_dns_records = false
      + droplet_ids                      = (known after apply)
      + enable_backend_keepalive         = false
      + enable_proxy_protocol            = true
      + http_idle_timeout_seconds        = (known after apply)
      + id                               = (known after apply)
      + ip                               = (known after apply)
      + name                             = (known after apply)
      + project_id                       = (known after apply)
      + redirect_http_to_https           = false
      + region                           = "nyc3"
      + size_unit                        = (known after apply)
      + status                           = (known after apply)
      + urn                              = (known after apply)
      + vpc_uuid                         = (known after apply)

      + firewall (known after apply)

      + forwarding_rule {
          + certificate_id   = (known after apply)
          + certificate_name = (known after apply)
          + entry_port       = 80
          + entry_protocol   = "http"
          + target_port      = 80
          + target_protocol  = "http"
          + tls_passthrough  = false
        }

      + healthcheck (known after apply)

      + sticky_sessions (known after apply)
    }

  # digitalocean_record.loadbalancer_subdomain will be created
  + resource "digitalocean_record" "loadbalancer_subdomain" {
      + domain = (sensitive value)
      + fqdn   = (known after apply)
      + id     = (known after apply)
      + name   = "kube"
      + ttl    = 60
      + type   = "A"
      + value  = (known after apply)
    }

  # module.cert_automation.helm_release.cert_manager will be created
  + resource "helm_release" "cert_manager" {
      + atomic                     = false
      + chart                      = "cert-manager"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cert-manager"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.jetstack.io"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://artifacthub.io/packages/helm/cert-manager/cert-manager
                resources:
                  requests:
                    cpu: 10m
                    memory: 32Mi
                cainjector:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                startupapicheck:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                webhook:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
            EOT,
        ]
      + verify                     = false
      + version                    = "v1.16.1"
      + wait                       = true
      + wait_for_jobs              = false

      + set {
          + name  = "createCustomResource"
          + value = "true"
            # (1 unchanged attribute hidden)
        }
      + set {
          + name  = "installCRDs"
          + value = "true"
            # (1 unchanged attribute hidden)
        }
    }

  # module.cert_automation.helm_release.cluster_issuer will be created
  + resource "helm_release" "cluster_issuer" {
      + atomic                     = false
      + chart                      = "modules/cert-automation/charts/cert-automation"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cluster-issuer"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.helm_release.external_dns will be created
  + resource "helm_release" "external_dns" {
      + atomic                     = false
      + chart                      = "external-dns"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "external-dns"
      + namespace                  = "external-dns"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.bitnami.com/bitnami"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/bitnami/charts/tree/master/bitnami/external-dns
                digitalocean:
                  secretName: "digital-ocean-token"
                interval: "15s"
                provider: "digitalocean"
                policy: "sync"
                txtPrefix: "xdns-"
                resources:
                  requests:
                    memory: "64Mi"
                    cpu: "100m"
            EOT,
        ]
      + verify                     = false
      + version                    = "8.3.9"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.kubernetes_namespace.external_dns will be created
  + resource "kubernetes_namespace" "external_dns" {
      + id = (known after apply)

      + metadata {
          + generation       = (known after apply)
          + name             = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.external_dns.kubernetes_secret.digital_ocean_token will be created
  + resource "kubernetes_secret" "digital_ocean_token" {
      # Warning: this attribute value will be marked as sensitive and will not
      # display in UI output after applying this change. The value is unchanged.
      ~ data                           = (sensitive value)
      + id                             = (known after apply)
      + type                           = "Opaque"
      + wait_for_service_account_token = true

      + metadata {
          + generation       = (known after apply)
          + labels           = {
              + "sensitive" = "true"
            }
          + name             = "digital-ocean-token"
          + namespace        = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.ingress_controller.helm_release.ingress_nginx will be created
  + resource "helm_release" "ingress_nginx" {
      + atomic                     = false
      + chart                      = "ingress-nginx"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ingress-nginx"
      + namespace                  = "ingress-nginx"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://kubernetes.github.io/ingress-nginx"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx
                controller:
                  config:
                    use-proxy-protocol: true
                  service:
                    annotations:
                      "service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol": "true"
                    externalTrafficPolicy: "Cluster"
                    type: "LoadBalancer"
            EOT,
        ]
      + verify                     = false
      + version                    = "4.11.3"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.ntfy.helm_release.nfty will be created
  + resource "helm_release" "nfty" {
      + atomic                     = false
      + chart                      = "modules/ntfy/charts/ntfy"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ntfy"
      + namespace                  = "ntfy"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # random_id.cluster_id will be created
  + resource "random_id" "cluster_id" {
      + b64_std     = (known after apply)
      + b64_url     = (known after apply)
      + byte_length = 4
      + dec         = (known after apply)
      + hex         = (known after apply)
      + id          = (known after apply)
    }

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

Changes to Outputs:
  + cluster_name = (known after apply)

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

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.

Pusher: @renovate[bot], Action: pull_request

@renovate renovate bot changed the title Update Terraform helm to v2.16.0 Update Terraform helm to v2.16.1 Oct 15, 2024
Copy link

Terraform Format and Style 🖌``

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...

To view this run in a browser, visit:
https://app.terraform.io/app/jameswcurtin/do-k8s-cluster/runs/run-X3THwLFyFWvTvHFp

Waiting for the plan to start...

Terraform v1.1.8
on linux_amd64
Initializing plugins and modules...

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:

  # digitalocean_kubernetes_cluster.this will be created
  + resource "digitalocean_kubernetes_cluster" "this" {
      + auto_upgrade   = true
      + cluster_subnet = (known after apply)
      + created_at     = (known after apply)
      + endpoint       = (known after apply)
      + ha             = false
      + id             = (known after apply)
      + ipv4_address   = (known after apply)
      + kube_config    = (sensitive value)
      + name           = (known after apply)
      + region         = "nyc3"
      + service_subnet = (known after apply)
      + status         = (known after apply)
      + surge_upgrade  = true
      + updated_at     = (known after apply)
      + urn            = (known after apply)
      + version        = "1.31.1-do.3"
      + vpc_uuid       = (known after apply)

      + maintenance_policy {
          + day        = "friday"
          + duration   = (known after apply)
          + start_time = "03:00"
        }

      + node_pool {
          + actual_node_count = (known after apply)
          + auto_scale        = true
          + id                = (known after apply)
          + max_nodes         = 2
          + min_nodes         = 1
          + name              = "worker-pool"
          + nodes             = (known after apply)
          + size              = "s-1vcpu-2gb"
        }
    }

  # digitalocean_loadbalancer.this will be created
  + resource "digitalocean_loadbalancer" "this" {
      + algorithm                        = "round_robin"
      + disable_lets_encrypt_dns_records = false
      + droplet_ids                      = (known after apply)
      + enable_backend_keepalive         = false
      + enable_proxy_protocol            = true
      + http_idle_timeout_seconds        = (known after apply)
      + id                               = (known after apply)
      + ip                               = (known after apply)
      + name                             = (known after apply)
      + project_id                       = (known after apply)
      + redirect_http_to_https           = false
      + region                           = "nyc3"
      + size_unit                        = (known after apply)
      + status                           = (known after apply)
      + urn                              = (known after apply)
      + vpc_uuid                         = (known after apply)

      + firewall (known after apply)

      + forwarding_rule {
          + certificate_id   = (known after apply)
          + certificate_name = (known after apply)
          + entry_port       = 80
          + entry_protocol   = "http"
          + target_port      = 80
          + target_protocol  = "http"
          + tls_passthrough  = false
        }

      + healthcheck (known after apply)

      + sticky_sessions (known after apply)
    }

  # digitalocean_record.loadbalancer_subdomain will be created
  + resource "digitalocean_record" "loadbalancer_subdomain" {
      + domain = (sensitive value)
      + fqdn   = (known after apply)
      + id     = (known after apply)
      + name   = "kube"
      + ttl    = 60
      + type   = "A"
      + value  = (known after apply)
    }

  # module.cert_automation.helm_release.cert_manager will be created
  + resource "helm_release" "cert_manager" {
      + atomic                     = false
      + chart                      = "cert-manager"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cert-manager"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.jetstack.io"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://artifacthub.io/packages/helm/cert-manager/cert-manager
                resources:
                  requests:
                    cpu: 10m
                    memory: 32Mi
                cainjector:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                startupapicheck:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
                webhook:
                  resources:
                    requests:
                      cpu: 10m
                      memory: 32Mi
            EOT,
        ]
      + verify                     = false
      + version                    = "v1.16.1"
      + wait                       = true
      + wait_for_jobs              = false

      + set {
          + name  = "createCustomResource"
          + value = "true"
            # (1 unchanged attribute hidden)
        }
      + set {
          + name  = "installCRDs"
          + value = "true"
            # (1 unchanged attribute hidden)
        }
    }

  # module.cert_automation.helm_release.cluster_issuer will be created
  + resource "helm_release" "cluster_issuer" {
      + atomic                     = false
      + chart                      = "modules/cert-automation/charts/cert-automation"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "cluster-issuer"
      + namespace                  = "cert-manager"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.helm_release.external_dns will be created
  + resource "helm_release" "external_dns" {
      + atomic                     = false
      + chart                      = "external-dns"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "external-dns"
      + namespace                  = "external-dns"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://charts.bitnami.com/bitnami"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/bitnami/charts/tree/master/bitnami/external-dns
                digitalocean:
                  secretName: "digital-ocean-token"
                interval: "15s"
                provider: "digitalocean"
                policy: "sync"
                txtPrefix: "xdns-"
                resources:
                  requests:
                    memory: "64Mi"
                    cpu: "100m"
            EOT,
        ]
      + verify                     = false
      + version                    = "8.3.9"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.external_dns.kubernetes_namespace.external_dns will be created
  + resource "kubernetes_namespace" "external_dns" {
      + id = (known after apply)

      + metadata {
          + generation       = (known after apply)
          + name             = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.external_dns.kubernetes_secret.digital_ocean_token will be created
  + resource "kubernetes_secret" "digital_ocean_token" {
      # Warning: this attribute value will be marked as sensitive and will not
      # display in UI output after applying this change. The value is unchanged.
      ~ data                           = (sensitive value)
      + id                             = (known after apply)
      + type                           = "Opaque"
      + wait_for_service_account_token = true

      + metadata {
          + generation       = (known after apply)
          + labels           = {
              + "sensitive" = "true"
            }
          + name             = "digital-ocean-token"
          + namespace        = "external-dns"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.ingress_controller.helm_release.ingress_nginx will be created
  + resource "helm_release" "ingress_nginx" {
      + atomic                     = false
      + chart                      = "ingress-nginx"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ingress-nginx"
      + namespace                  = "ingress-nginx"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + repository                 = "https://kubernetes.github.io/ingress-nginx"
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + values                     = [
          + <<-EOT
                # See https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx
                controller:
                  config:
                    use-proxy-protocol: true
                  service:
                    annotations:
                      "service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol": "true"
                    externalTrafficPolicy: "Cluster"
                    type: "LoadBalancer"
            EOT,
        ]
      + verify                     = false
      + version                    = "4.11.3"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # module.ntfy.helm_release.nfty will be created
  + resource "helm_release" "nfty" {
      + atomic                     = false
      + chart                      = "modules/ntfy/charts/ntfy"
      + cleanup_on_fail            = true
      + create_namespace           = true
      + dependency_update          = false
      + disable_crd_hooks          = false
      + disable_openapi_validation = false
      + disable_webhooks           = false
      + force_update               = true
      + id                         = (known after apply)
      + lint                       = false
      + manifest                   = (known after apply)
      + max_history                = 3
      + metadata                   = (known after apply)
      + name                       = "ntfy"
      + namespace                  = "ntfy"
      + pass_credentials           = false
      + recreate_pods              = false
      + render_subchart_notes      = true
      + replace                    = false
      + reset_values               = false
      + reuse_values               = false
      + skip_crds                  = false
      + status                     = "deployed"
      + timeout                    = 300
      + verify                     = false
      + version                    = "0.0.1"
      + wait                       = true
      + wait_for_jobs              = false
    }

  # random_id.cluster_id will be created
  + resource "random_id" "cluster_id" {
      + b64_std     = (known after apply)
      + b64_url     = (known after apply)
      + byte_length = 4
      + dec         = (known after apply)
      + hex         = (known after apply)
      + id          = (known after apply)
    }

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

Changes to Outputs:
  + cluster_name = (known after apply)

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

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.

Pusher: @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