diff --git a/.terraform/modules/modules.json b/.terraform/modules/modules.json new file mode 100644 index 0000000..f563f22 --- /dev/null +++ b/.terraform/modules/modules.json @@ -0,0 +1 @@ +{"Modules":[{"Key":"","Source":"","Dir":"."},{"Key":"app","Source":"./modules/app-openresty-pg-redis","Dir":"modules/app-openresty-pg-redis"}]} \ No newline at end of file diff --git a/k8s/.terraform.lock.hcl b/k8s/.terraform.lock.hcl new file mode 100644 index 0000000..ac4c5f6 --- /dev/null +++ b/k8s/.terraform.lock.hcl @@ -0,0 +1,42 @@ +# This file is maintained automatically by "tofu init". +# Manual edits may be lost in future updates. + +provider "registry.opentofu.org/gavinbunney/kubectl" { + version = "1.19.0" + constraints = "~> 1.14" + hashes = [ + "h1:EL1HfCDfY/pabIJ2kXuppTvqhgY9hfLu2o4TonJheT8=", + "zh:1dec8766336ac5b00b3d8f62e3fff6390f5f60699c9299920fc9861a76f00c71", + "zh:43f101b56b58d7fead6a511728b4e09f7c41dc2e3963f59cf1c146c4767c6cb7", + "zh:4c4fbaa44f60e722f25cc05ee11dfaec282893c5c0ffa27bc88c382dbfbaa35c", + "zh:51dd23238b7b677b8a1abbfcc7deec53ffa5ec79e58e3b54d6be334d3d01bc0e", + "zh:5afc2ebc75b9d708730dbabdc8f94dd559d7f2fc5a31c5101358bd8d016916ba", + "zh:6be6e72d4663776390a82a37e34f7359f726d0120df622f4a2b46619338a168e", + "zh:72642d5fcf1e3febb6e5d4ae7b592bb9ff3cb220af041dbda893588e4bf30c0c", + "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", + "zh:a1da03e3239867b35812ee031a1060fed6e8d8e458e2eaca48b5dd51b35f56f7", + "zh:b98b6a6728fe277fcd133bdfa7237bd733eae233f09653523f14460f608f8ba2", + "zh:bb8b071d0437f4767695c6158a3cb70df9f52e377c67019971d888b99147511f", + "zh:dc89ce4b63bfef708ec29c17e85ad0232a1794336dc54dd88c3ba0b77e764f71", + "zh:dd7dd18f1f8218c6cd19592288fde32dccc743cde05b9feeb2883f37c2ff4b4e", + "zh:ec4bd5ab3872dedb39fe528319b4bba609306e12ee90971495f109e142d66310", + "zh:f610ead42f724c82f5463e0e71fa735a11ffb6101880665d93f48b4a67b9ad82", + ] +} + +provider "registry.opentofu.org/hashicorp/kubernetes" { + version = "2.38.0" + constraints = "~> 2.31" + hashes = [ + "h1:eCV78xGlh9eay+62U4gAgCEMohuiBJXN9XTIZNn+rX4=", + "zh:1096b41c4e5b2ee6c1980916fb9a8579bc1892071396f7a9432be058aabf3cbc", + "zh:2959fde9ae3d1deb5e317df0d7b02ea4977951ee6b9c4beb083c148ca8f3681c", + "zh:5082f98fcb3389c73339365f7df39fc6912bf2bd1a46d5f97778f441a67fd337", + "zh:620fd5d0fbc2d7a24ac6b420a4922e6093020358162a62fa8cbd37b2bac1d22e", + "zh:7f47c2de179bba35d759147c53082cad6c3449d19b0ec0c5a4ca8db5b06393e1", + "zh:89c3aa2a87e29febf100fd21cead34f9a4c0e6e7ae5f383b5cef815c677eb52a", + "zh:96eecc9f94938a0bc35b8a63d2c4a5f972395e44206620db06760b730d0471fc", + "zh:e15567c1095f898af173c281b66bffdc4f3068afdd9f84bb5b5b5521d9f29584", + "zh:ecc6b912629734a9a41a7cf1c4c73fb13b4b510afc9e7b2e0011d290bcd6d77f", + ] +} diff --git a/k8s/.terraform/modules/modules.json b/k8s/.terraform/modules/modules.json new file mode 100644 index 0000000..f2ffb98 --- /dev/null +++ b/k8s/.terraform/modules/modules.json @@ -0,0 +1 @@ +{"Modules":[{"Key":"","Source":"","Dir":"."},{"Key":"app","Source":"../modules/app-k8s-nodered-rabbitmq","Dir":"../modules/app-k8s-nodered-rabbitmq"}]} \ No newline at end of file diff --git a/k8s/.terraform/providers/registry.opentofu.org/gavinbunney/kubectl/1.19.0/linux_arm64.lock b/k8s/.terraform/providers/registry.opentofu.org/gavinbunney/kubectl/1.19.0/linux_arm64.lock new file mode 100644 index 0000000..e69de29 diff --git a/k8s/.terraform/providers/registry.opentofu.org/gavinbunney/kubectl/1.19.0/linux_arm64/LICENSE b/k8s/.terraform/providers/registry.opentofu.org/gavinbunney/kubectl/1.19.0/linux_arm64/LICENSE new file mode 100644 index 0000000..a612ad9 --- /dev/null +++ b/k8s/.terraform/providers/registry.opentofu.org/gavinbunney/kubectl/1.19.0/linux_arm64/LICENSE @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/k8s/.terraform/providers/registry.opentofu.org/gavinbunney/kubectl/1.19.0/linux_arm64/README.md b/k8s/.terraform/providers/registry.opentofu.org/gavinbunney/kubectl/1.19.0/linux_arm64/README.md new file mode 100644 index 0000000..7aa7416 --- /dev/null +++ b/k8s/.terraform/providers/registry.opentofu.org/gavinbunney/kubectl/1.19.0/linux_arm64/README.md @@ -0,0 +1,150 @@ +# Kubernetes "kubectl" Provider + +![Build Status](https://github.com/gavinbunney/terraform-provider-kubectl/actions/workflows/build.yml/badge.svg) [![user guide](https://img.shields.io/badge/-user%20guide-blue)](https://registry.terraform.io/providers/gavinbunney/kubectl) + +This provider is the best way of managing Kubernetes resources in Terraform, by allowing you to use the thing +Kubernetes loves best - yaml! + +The core of this provider is the `kubectl_manifest` resource, allowing free-form yaml to be processed and applied against Kubernetes. +This yaml object is then tracked and handles creation, updates and deleted seamlessly - including drift detection! + +A set of helpful data resources to process directories of yaml files and inline templating is available. + +This `terraform-provider-kubectl` provider has been used by many large Kubernetes installations to completely +manage the lifecycle of Kubernetes resources. + +## Installation + +### Terraform 0.13+ + +The provider can be installed and managed automatically by Terraform. Sample `versions.tf` file : + +```hcl +terraform { + required_version = ">= 0.13" + + required_providers { + kubectl = { + source = "gavinbunney/kubectl" + version = ">= 1.7.0" + } + } +} +``` + +### Terraform 0.12 + +#### Install latest version + +The following one-liner script will fetch the latest provider version and download it to your `~/.terraform.d/plugins` directory. + +```bash +$ mkdir -p ~/.terraform.d/plugins && \ + curl -Ls https://api.github.com/repos/gavinbunney/terraform-provider-kubectl/releases/latest \ + | jq -r ".assets[] | select(.browser_download_url | contains(\"$(uname -s | tr A-Z a-z)\")) | select(.browser_download_url | contains(\"amd64\")) | .browser_download_url" \ + | xargs -n 1 curl -Lo ~/.terraform.d/plugins/terraform-provider-kubectl.zip && \ + pushd ~/.terraform.d/plugins/ && \ + unzip ~/.terraform.d/plugins/terraform-provider-kubectl.zip -d terraform-provider-kubectl-tmp && \ + mv terraform-provider-kubectl-tmp/terraform-provider-kubectl* . && \ + chmod +x terraform-provider-kubectl* && \ + rm -rf terraform-provider-kubectl-tmp && \ + rm -rf terraform-provider-kubectl.zip && \ + popd +``` + +#### Install manually + +If you don't want to use the one-liner above, you can download a binary for your system from the [release page](https://github.com/gavinbunney/terraform-provider-kubectl/releases), +then either place it at the root of your Terraform folder or in the Terraform plugin folder on your system. + +## Quick Start + +```hcl +provider "kubectl" { + host = var.eks_cluster_endpoint + cluster_ca_certificate = base64decode(var.eks_cluster_ca) + token = data.aws_eks_cluster_auth.main.token + load_config_file = false +} + +resource "kubectl_manifest" "test" { + yaml_body = < Note: The test infrastructure doesn't support multi-file TF configurations so ensure your test scenario is in a single file. + +In order to run the full suite of Acceptance tests, run `make testacc`. + +*Note:* Acceptance tests create real resources, and often cost money to run. + +```sh +$ make testacc +``` + +### Inspiration + +Thanks to the original provider by [nabancard and lawrecncegripper](https://github.com/nabancard/terraform-provider-kubernetes-yaml) on the original base of this provider. + diff --git a/k8s/.terraform/providers/registry.opentofu.org/gavinbunney/kubectl/1.19.0/linux_arm64/terraform-provider-kubectl_v1.19.0 b/k8s/.terraform/providers/registry.opentofu.org/gavinbunney/kubectl/1.19.0/linux_arm64/terraform-provider-kubectl_v1.19.0 new file mode 100755 index 0000000..8c0a9c8 Binary files /dev/null and b/k8s/.terraform/providers/registry.opentofu.org/gavinbunney/kubectl/1.19.0/linux_arm64/terraform-provider-kubectl_v1.19.0 differ diff --git a/k8s/.terraform/providers/registry.opentofu.org/hashicorp/kubernetes/2.38.0/linux_arm64.lock b/k8s/.terraform/providers/registry.opentofu.org/hashicorp/kubernetes/2.38.0/linux_arm64.lock new file mode 100644 index 0000000..e69de29 diff --git a/k8s/.terraform/providers/registry.opentofu.org/hashicorp/kubernetes/2.38.0/linux_arm64/CHANGELOG.md b/k8s/.terraform/providers/registry.opentofu.org/hashicorp/kubernetes/2.38.0/linux_arm64/CHANGELOG.md new file mode 100644 index 0000000..44ccaa0 --- /dev/null +++ b/k8s/.terraform/providers/registry.opentofu.org/hashicorp/kubernetes/2.38.0/linux_arm64/CHANGELOG.md @@ -0,0 +1,1306 @@ +## 2.38.0 (Jul 21, 2025) + +ENHANCEMENTS: + +* Add ResourceIdentity support to kubernetes_manifest [[GH-2737](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2737)] +* Add `sub_path_expr` to volume mount options pod spec [[GH-2622](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2622)] +* Add support for ResourceIdentity to SDKv2 resources [[GH-2751](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2751)] + +BUG FIXES: + +* Fixed goroutine-safety in the CRD and metadata cache, resulting in far fewer provider metadata requests. [[GH-2699](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2699)] +* `data_source/kubernetes_pod_v1`: fix an issue when the provider cuts out toleration under pod spec(`spec.toleration`) if it uses a well-known [taint](https://kubernetes.io/docs/reference/labels-annotations-taints/). [[GH-2380](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2380)] +* `data_source/kubernetes_pod`: fix an issue when the provider cuts out toleration under pod spec(`spec.toleration`) if it uses a well-known [taint](https://kubernetes.io/docs/reference/labels-annotations-taints/). [[GH-2380](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2380)] +* `resource/kubernetes_cron_job: fix an issue when the provider cuts out toleration under pod spec template(`*.template.spec.toleration`) if it uses a well-known [taint](https://kubernetes.io/docs/reference/labels-annotations-taints/). That could lead to a perpetual diff behavior. [[GH-2380](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2380)] +* `resource/kubernetes_cron_job_v1: fix an issue when the provider cuts out toleration under pod spec template(`*.template.spec.toleration`) if it uses a well-known [taint](https://kubernetes.io/docs/reference/labels-annotations-taints/). That could lead to a perpetual diff behavior. [[GH-2380](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2380)] +* `resource/kubernetes_daemon_set_v1: fix an issue when the provider cuts out toleration under pod spec template(`*.template.spec.toleration`) if it uses a well-known [taint](https://kubernetes.io/docs/reference/labels-annotations-taints/). That could lead to a perpetual diff behavior. [[GH-2380](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2380)] +* `resource/kubernetes_daemonset: fix an issue when the provider cuts out toleration under pod spec template(`*.template.spec.toleration`) if it uses a well-known [taint](https://kubernetes.io/docs/reference/labels-annotations-taints/). That could lead to a perpetual diff behavior. [[GH-2380](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2380)] +* `resource/kubernetes_deployment: fix an issue when the provider cuts out toleration under pod spec template(`*.template.spec.toleration`) if it uses a well-known [taint](https://kubernetes.io/docs/reference/labels-annotations-taints/). That could lead to a perpetual diff behavior. [[GH-2380](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2380)] +* `resource/kubernetes_deployment_v1: fix an issue when the provider cuts out toleration under pod spec template(`*.template.spec.toleration`) if it uses a well-known [taint](https://kubernetes.io/docs/reference/labels-annotations-taints/). That could lead to a perpetual diff behavior. [[GH-2380](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2380)] +* `resource/kubernetes_job: fix an issue when the provider cuts out toleration under pod spec template(`*.template.spec.toleration`) if it uses a well-known [taint](https://kubernetes.io/docs/reference/labels-annotations-taints/). That could lead to a perpetual diff behavior. [[GH-2380](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2380)] +* `resource/kubernetes_job_v1: fix an issue when the provider cuts out toleration under pod spec template(`*.template.spec.toleration`) if it uses a well-known [taint](https://kubernetes.io/docs/reference/labels-annotations-taints/). That could lead to a perpetual diff behavior. [[GH-2380](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2380)] +* `resource/kubernetes_replication_controller_v1`: fix an issue when the provider cuts out toleration under pod spec template(`*.template.spec.toleration`) if it uses a well-known [taint](https://kubernetes.io/docs/reference/labels-annotations-taints/). That could lead to a perpetual diff behavior. [[GH-2380](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2380)] +* `resource/kubernetes_replication_controller`: fix an issue when the provider cuts out toleration under pod spec template(`*.template.spec.toleration`) if it uses a well-known [taint](https://kubernetes.io/docs/reference/labels-annotations-taints/). That could lead to a perpetual diff behavior. [[GH-2380](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2380)] +* `resource/kubernetes_stateful_set: fix an issue when the provider cuts out toleration under pod spec template(`*.template.spec.toleration`) if it uses a well-known [taint](https://kubernetes.io/docs/reference/labels-annotations-taints/). That could lead to a perpetual diff behavior. [[GH-2380](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2380)] +* `resource/kubernetes_stateful_set_v1: fix an issue when the provider cuts out toleration under pod spec template(`*.template.spec.toleration`) if it uses a well-known [taint](https://kubernetes.io/docs/reference/labels-annotations-taints/). That could lead to a perpetual diff behavior. [[GH-2380](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2380)] + +NOTES: + +* We have updated the logic of resources that use the Pod specification template, such as `kubernetes_deployment_v1`, `kubernetes_stateful_set_v1`, etc, and now the provider will keep all tolerations(`spec.toleration`) returned by Kubernetes. The same is applicable for the data sources `kubernetes_pod_v1` and `kubernetes_pod`. The behavior of resources `kubernetes_pod_v1` and `kubernetes_pod` remains unchanged, i.e. the provider will keep removing tolerations with well-known [taints](https://kubernetes.io/docs/reference/labels-annotations-taints/) since they might be attached to the object by Kubernetes controller and could lead to a perpetual diff. [[GH-2380](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2380)] + +## 2.37.1 (May 21, 2025) + +BUG FIXES: + +* Fixes issue #2732 where the provider would fail when used with Terraform >= v1.12.1 due to missing `GetResourceIdentitySchemas` implementation. [[GH-2732](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2732)] + +## 2.37.0 (May 20, 2025) + +ENHANCEMENTS: + +* `kubernetes_config_map_v1`: Add support for ResourceIdentity [[GH-2721](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2721)] + + +## 2.36.0 (Feb 26, 2025) + +ENHANCEMENTS: + +* `resource/kubernetes_secret_v1`: Add support for write only attributes for `data_wo` and `binary_data_wo`. [[GH-2692](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2692)] + +## 2.35.1 (Dec 20, 2024) + +BUG FIXES: + +* `resource/kubernetes_job_v1`: revert the changes introduced in v2.34.0, where `ttl_seconds_after_finished` was set to `0`. [[GH-2650](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2650)] +* `resource/kubernetes_daemon_set_v1`: fix issue where fields `spec.strategy.rolling_update.max_surge` and `spec.strategy.rolling_update.max_unavailable` were not being validated correctly. [[GH-2653](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2653)] + +## 2.35.0 (Dec 12, 2024) + +FEATURES: + +* `resources_kubernetes_daemon_set_v1` : Added `max_surge` argument for to `rolling_update` block. [[GH-2630](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2630)] + +## 2.34.0 (Nov 25, 2024) + +ENHANCEMENTS: + +* Added `conditions` attribute to `kubernetes_nodes` data source, which will provide detailed node health and status information [[GH-2612](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2612)] +* Adding the `kubernetes_secret_v1_data` resource to the kubernetes provider. This resource will allow users to manage kubernetes secrets [[GH-2604](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2604)] +* Properly handle Kubernetes Jobs with ttl_seconds_after_finished = 0 to prevent unnecessary recreation. [[GH-2596](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2596)] + +FEATURES: +* New ephemeral resource: `kubernetes_certificate_signing_request_v1` [[GH-2628](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2628)] +* New ephemeral resource: `kubernetes_token_request_v1` [[GH-2628](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2628)] + +## 2.33.0 (Oct 10, 2024) + +ENHANCEMENTS: + +* Add `backoff_per_limit_index` and `max_failed_indexes` fields in `structure_job.go` [[GH-2421](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2421)] +* Added support for `namespace_selector` field in `PodAffinityTerm` to enhance pod affinity and anti-affinity rules, allowing selection of namespaces based on label selectors. [[GH-2577](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2577)] +* `kubernetes_manifest` - handling "404 Not Found" errors during the deletion of Kubernetes resources, particularly in cases where the resource may have already been deleted by an operator managing the CRD before Terraform attempts to delete it. [[GH-2592](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2592)] +* `schema_container.go`: Add VolumeDevices [[GH-2573](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2573)] + +## 2.32.0 (Aug 14, 2024) + +FEATURES: + +* New data source: `kubernetes_server_version` [[GH-2306](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2306)] + +ENHANCEMENTS: + +* `resource/kubernetes_certificate_signing_request_v1`: Add argument `spec.expiration_seconds` [[GH-2559](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2559)] +* `resource/kubernetes_persistent_volume_v1`: support `ReadWriteOncePod` access mode for PVs [[GH-2488](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2488)] + +## 2.30.0 (May 8, 2024) + +BUG FIXES: + +* `data_source/kubernetes_resources`: fix an issue where the provider exit with an error when the data source `kubernetes_resources` receives multiple Kubernetes objects containing tuples with different numbers of elements. [[GH-2372](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2372)] +* `kubernetes_manifest`: fix issue preventing KUBE_PROXY_URL environment variable from being used in client configuration (#1733) [[GH-2485](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2485)] +* `resource/kubernetes_node_taint`: Fix the error check for nonexistant nodes so that terraform does not fail if there is a taint in the state file for a node that has been deleted. [[GH-2402](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2402)] + +DOCS: + +* Migrate legacy structure to new tfplugindocs template structure [[GH-2470](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2470)] + +## 2.29.0 (April 11, 2024) + +BUG FIXES: + +* data-sources: revert a recently introduced deviation on datasources where querying a non-existent resource would cause an error (#2434). [[GH-2464](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2464)] + +## 2.28.1 (April 9, 2024) + +HOTFIX: + +* `manifest_decode()`: fix handling of manifests containing null values [[GH-2461](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2461)] + +## 2.28.0 (April 8, 2024) + +ENHANCEMENTS: + +**NOTE: Using [Provider Defined Functions](https://developer.hashicorp.com/terraform/plugin/framework/functions/concepts) requires Terraform version 1.8.0.** + +* Add provider defined functions: `manifest_encode`, `manifest_decode`, `manifest_decode_multi` [[GH-2428](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2428)] + +## 2.27.0 (Mar, 6 2024) + +ENHANCEMENTS: + +* `resource/kubernetes_pod_v1`: add missing `topology_spread_constraints`: `node_affinity_policy`, `node_taints_policy`, `match_label_keys`, `min_domains` [[GH-2429](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2429)] + +## 2.26.0 (Feb 15, 2024) + +ENHANCEMENTS: + +* `kubernetes/kubernetes_deployment_v1`: Add support for `HugePages` in `emptyDir.medium` [[GH-2395](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2395)] +* `resource/kubernetes_job_v1`: add new attribute `spec.pod_failure_policy` to job spec [[GH-2394](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2394)] + +NOTES: + +* Bump Kubernetes dependencies from x.27.8 to x.28.6. [[GH-2404](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2404)] + +## 2.25.2 (Jan 8, 2024) + +BUG FIXES: + +* `resource/kubernetes_cron_job_v1`: fix an issue when the provider forces a resource recreation after upgrading to `2.25.0` and `2.25.1` due to changes in the resource schema. [[GH-2387](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2387)] +* `resource/kubernetes_cron_job`: fix an issue when the provider forces a resource recreation after upgrading to `2.25.0` and `2.25.1` due to changes in the resource schema. [[GH-2387](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2387)] +* `resource/kubernetes_daemon_set_v1`: fix an issue when the provider forces a resource recreation after upgrading to `2.25.0` and `2.25.1` due to changes in the resource schema. [[GH-2387](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2387)] +* `resource/kubernetes_daemonset`: fix an issue when the provider forces a resource recreation after upgrading to `2.25.0` and `2.25.1` due to changes in the resource schema. [[GH-2387](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2387)] +* `resource/kubernetes_stateful_set_v1`: fix an issue when the provider forces a resource recreation after upgrading to `2.25.0` and `2.25.1` due to changes in the resource schema. [[GH-2387](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2387)] +* `resource/kubernetes_stateful_set`: fix an issue when the provider forces a resource recreation after upgrading to `2.25.0` and `2.25.1` due to changes in the resource schema. [[GH-2387](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2387)] + +NOTES: + +* Resources `kubernetes_cron_job_v1` and `kubernetes_cron_job` got a new attribute `spec.job_template.metadata.namespace`. It is a stub attribute that does not affect the namespace in which the Pod will be created. The Pod will be created in the same namespace as the main resource. However, modifying this field will force the resource recreation. [[GH-2387](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2387)] +* Resources `kubernetes_stateful_set_v1`, `kubernetes_stateful_set`, `kubernetes_daemon_set_v1`, and `kubernetes_daemonset` got a new attribute `spec.template.metadata.namespace`. It is a stub attribute that does not affect the namespace in which the Pod will be created. The Pod will be created in the same namespace as the main resource. However, modifying this field will force the resource recreation. [[GH-2387](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2387)] + +## 2.25.1 (Jan 4, 2024) + +HOTFIX: + +* `kubernetes_manifest`: Implement response for GetMetadata protocol function [[GH-2384](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2384)] + +## 2.25.0 (Jan 4, 2024) + +ENHANCEMENTS: + +* Add terraform-plugin-framework provider [[GH-2347](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2347)] +* `data_source/kubernetes_persistent_volume_claim_v1`: add a new attribute `spec.volume_mode`. [[GH-2353](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2353)] +* `data_source/kubernetes_persistent_volume_claim`: add a new attribute `spec.volume_mode`. [[GH-2353](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2353)] +* `kubernetes/schema_stateful_set_spec.go`: Add `spec.persistentVolumeClaimRetentionPolicy` in `kubernetes_stateful_set` [[GH-2333](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2333)] +* `resource/kubernetes_persistent_volume_claim_v1`: add a new attribute `spec.volume_mode`. [[GH-2353](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2353)] +* `resource/kubernetes_persistent_volume_claim`: add a new attribute `spec.volume_mode`. [[GH-2353](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2353)] +* `resource/kubernetes_stateful_set_v1`: add a new attribute `spec.volume_claim_template.spec.volume_mode`. [[GH-2353](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2353)] +* `resource/kubernetes_stateful_set`: add a new attribute `spec.volume_claim_template.spec.volume_mode`. [[GH-2353](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2353)] + +BUG FIXES: + +* `resource/kubernetes_cron_job_v1`: Change the schema to include a namespace in `jobTemplate` +`resource/kubernetes_stateful_set_v1`: Change the schema to include a namespace in `template` [[GH-2362](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2362)] +* `resource/kubernetes_ingress_v1`: Fix an issue where the empty `tls` attribute in the configuration does not generate the corresponding Ingress object without any TLS configuration. [[GH-2344](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2344)] +* `resource/kubernetes_ingress`: Fix an issue where the empty `tls` attribute in the configuration does not generate the corresponding Ingress object without any TLS configuration. [[GH-2344](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2344)] + +NOTES: + +* We have updated the logic of data sources and now the provider will return all annotations and labels attached to the object, regardless of the `ignore_annotations` and `ignore_labels` provider settings. In addition to that, a list of ignored labels when they are attached to `kubernetes_job(_v1)` and `kubernetes_cron_job(_v1)` resources were extended with labels `batch.kubernetes.io/controller-uid` and `batch.kubernetes.io/job-name` since they aim to replace `controller-uid` and `job-name` in the future Kubernetes releases. [[GH-2345](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2345)] + +A special and warm welcome to the first contribution from our teammate @SarahFrench! πŸš€ + +## Community Contributors :raised_hands: + +- @tbobm made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/2348 +- @andremarianiello made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/2344 +- @adinhodovic made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/2333 +- @wonko made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/2362 + +## 2.24.0 (Nov 27, 2023) + +ENHANCEMENTS: + +`kubernetes/schema_affinity_spec.go`: Add `match_fields` to nodeAffinity [[GH-2296](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2296)] +`kubernetes/schema_pod_spec.go`: Add `os` to podSpecFields [[GH-2290](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2290)] +`resource/kubernetes_config_map_v1_data`: improve error handling while validating the existence of the target ConfigMap. [[GH-2230](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2230)] + +BUG FIXES: + +* `resource/kubernetes_labels`: Add ["f:metadata"] check in kubernetes_labels to prevent crash with kubernetes_node_taints [[GH-2246](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2246)] + +DOCS: + +* Add example module for configuring OIDC authentication on EKS [[GH-2287](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2287)] +* Add example module for configuring OIDC authentication on GKE [[GH-2319](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2319)] + +NOTES: + +* Bump Go version from 1.20 to 1.21. [[GH-2337](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2337)] +* Bump Kubernetes dependencies from x.25.11 to x.27.8. + +## 2.23.0 (August 16, 2023) + +FEATURES: + +* `resource/kubernetes_cron_job_v1`: add a new volume type `ephemeral` to `spec.job_template.spec.template.spec.volume` to support generic ephemeral volumes. [[GH-2199](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2199)] +* `resource/kubernetes_cron_job`: add a new volume type `ephemeral` to `spec.job_template.spec.template.spec.volume` to support generic ephemeral volumes. [[GH-2199](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2199)] +* `resource/kubernetes_daemon_set_v1`: add a new volume type `ephemeral` to `spec.template.spec.volume` to support generic ephemeral volumes. [[GH-2199](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2199)] +* `resource/kubernetes_daemonset`: add a new volume type `ephemeral` to `spec.template.spec..volume` to support generic ephemeral volumes. [[GH-2199](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2199)] +* `resource/kubernetes_deployment_v1`: add a new volume type `ephemeral` to `spec.template.spec.volume` to support generic ephemeral volumes. [[GH-2199](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2199)] +* `resource/kubernetes_deployment`: add a new volume type `ephemeral` to `spec.template.spec.volume` to support generic ephemeral volumes. [[GH-2199](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2199)] +* `resource/kubernetes_job_v1`: add a new volume type `ephemeral` to `spec.template.spec.volume` to support generic ephemeral volumes. [[GH-2199](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2199)] +* `resource/kubernetes_job`: add a new volume type `ephemeral` to `spec.template.spec.volume` to support generic ephemeral volumes. [[GH-2199](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2199)] +* `resource/kubernetes_pod_v1`: add a new volume type `ephemeral` to `spec.volume` to support generic ephemeral volumes. [[GH-2199](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2199)] +* `resource/kubernetes_pod`: add a new volume type `ephemeral` to `spec.volume` to support generic ephemeral volumes. [[GH-2199](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2199)] + +ENHANCEMENTS: + +* `resource/kubernetes_endpoint_slice_v1`: make attribute `endpoint.condition` optional. If you had previously included an empty block `condition {}` in your configuration, we request you to remove it. Doing so will prevent receiving continuous _"update in-place"_ messages while performing the plan and apply operations. [[GH-2208](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2208)] +* `resource/kubernetes_pod_v1`: add a new attribute `target_state` to specify the Pod phase(s) that indicate whether it was successfully created. [[GH-2200](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2200)] +* `resource/kubernetes_pod`: add a new attribute `target_state` to specify the Pod phase(s) that indicate whether it was successfully created. [[GH-2200](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2200)] + +BUG FIXES: + +* `resource/kubernetes_manifest`: update flow in `wait` block to fix timeout bug within tf apply where the resource is created and appears in Kubernetes but does not appear in TF state file after deadline. The fix would ensure that the resource has been created in the state file while also tainting the resource requiring the user to make the necessary changes in order for their to not be another timeout error. [[GH-2163](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2163)] + +DOCS: + +* Fix external broken links in the documentation. [[GH-2221](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2221)] + +## Community Contributors :raised_hands: + +- @JHeilCoveo made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/2183 +- @baumandm made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/1026 +- @vastep made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/2193 +- @rafed made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/2214, https://github.com/hashicorp/terraform-provider-kubernetes/pull/2225 + +## 2.22.0 (July 12, 2023) + +FEATURES: + +* `kubernetes/data_source_kubernetes_persistent_volume.go`: Add data source for Kubernetes Persistent Volume Resource [[GH-2118](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2118)] +* `kubernetes/resource_kubernetes_namespace.go`: Add attribute `wait_for_default_service_account` to namespaces which will force Terraform to wait until the default service account has been created by Kubernetes on namespace creation. [[GH-2119](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2119)] +* `kubernetes/resource_kubernetes_endpointslice.go`: Add kubernetes_endpoint_slice resource [[GH-2086](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2086)] + +ENHANCEMENTS: + +* `kubernetes/provider.go`: Add `tls_server_name` kubernetes provider options. [[GH-1638](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1638)] + +BUG FIXES: + +* `resource/kubernetes_manifest`: fix an issue in the `kubernetes_manifest` resource when it panics if tuple attributes within an object have a different number of elements. This leads to the situation when all types of end tuples are getting the same type. [[GH-2164](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2164)] +* `resource/kubernetes_manifest`: fix an issue with the `kubernetes_manifest` resource, where an object fails to update correctly when employing wait conditions and thus some attributes are not available for the reference after creation. [[GH-2173](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2173)] + +## Community Contributors :raised_hands: +- @SRodi made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/2096 +- @kschoche made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/2119 +- @sbocinec made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/2138 +- @bartoszj made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/1638 +- @mpriscella made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/2169 +- @axcosta made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/2137 +- @thevilledev made their outstanding contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/2158, https://github.com/hashicorp/terraform-provider-kubernetes/pull/2154, https://github.com/hashicorp/terraform-provider-kubernetes/pull/2159, https://github.com/hashicorp/terraform-provider-kubernetes/pull/2161 :rocket: + +## 2.21.1 (June 5, 2023) + +HOTFIX: + +* Revert add "conflictsWith" to provider block schema. [[GH-2131](https://github.com/hashicorp/terraform-provider-kubernetes/pull/2131)] + +## 2.21.0 (June 1, 2023) + +FEATURES: + +* `resource/kubernetes_runtime_class_v1`: Add a new resource `kubernetes_runtime_class_v1`. [[GH-2080](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2080)] + +ENHANCEMENTS: + +* `kubernetes/provider.go`: add `conflictsWith` rules to provider configuration schema [[GH-2084](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2084)] +* `kubernetes/resource_kubernetes_service_account.go`: Remove `default_secret_name` warning [[GH-2085](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2085)] +* `resource/kubernetes_node_taint` Update import documentation [GH-2094](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2094) + +BUG FIXES: + +* `resource/kubernetes_node_taint`: Don't fail when there is a taint in the state file for a node that no longer exists. [[GH-2099](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2099)] +* `resource/kubernetes_job`: Fixed a bug where setting `backoff_limit` to 6 would reset it to 0 + +## 2.20.0 (April 20, 2023) + +ENHANCEMENTS: + +`kubernetes/resource_kubernetes_env.go`: add support for initContainers [[GH-2067](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2067)] +`kubernetes/resource_kubernetes_node_taint.go`: Remove MaxItems from taint attribute [[GH-2046](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2046)] + +BUG FIXES: + +* Fix diff after import when importing resources containing volume_mount [[GH-2061](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2061)] +* `resource/kubernetes_node_taint`: Fix an issue when updating taint does not update the ID in the state file. [[GH-2077](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2077)] + +## 2.19.0 (March 23, 2023) + +FEATURES: + +New Resource: `kubernetes_token_request_v1`. [[GH-2024](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2024)] + +BUG FIXES: + +* `data_source/kubernetes_secret_v1`: Fix an issue where data_source cannot read secret created with generate_name. [[GH-2028](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2028)] +* `data_source/kubernetes_secret`: Fix an issue where data_source cannot read secret created with generate_name. [[GH-2028](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2028)] +* `kubernetes/schema_pod_spec.go`: Fix unexpected volumes appearing on plan [[GH-2006](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2006)] +* `resource/kubernetes_cron_job_v1`: Fix annotation logic to prevent internalkeys from being removed in templates [[GH-1983](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1983)] +* `resource/kubernetes_manifest`: Fix a panic when constructing the diagnostic message about incompatible attribute types [[GH-2054](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2054)] +* `resource/kubernetes_manifest`: Fix crash when manifest config contains unknown values of unknown type (DynamicPseudoType) [[GH-2055](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2055)] + +## 2.18.1 (February 21, 2023) + +HOTFIX: + +* kubernetes_manifest: fix crash when waiting on conditions that are not yet present [[GH-2008](https://github.com/hashicorp/terraform-provider-kubernetes/issues/2008)] + +## 2.18.0 (February 15, 2023) + +FEATURES: + +* New data source: `data_source/kubernetes_nodes`. [[GH-1921](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1921)] +* New data source: `data_source/kubernetes_resources`. [[GH-1967](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1967)] +* New resource: `resource/kubernetes_node_taint`. [[GH-1921](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1921)] + +ENHANCEMENT: + +* `resource/kubernetes_annotations`: Add a new attribute `template_annotations` that allows adding annotations to resources with pod templates. [[GH-1972](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1972)] +* `resource/kubernetes_cron_job_v1`: Add a new attribute `spec.timezone`. [[GH-1971](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1971)] + +BUG FIXES: + +* `resource/kubernetes_mutating_webhook_configuration`: Fix an issue when the delete operation may not be idempotent. [[GH-1999](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1999)] +* `resource/kubernetes_network_policy_v1`: Fix an issue when the delete operation may not be idempotent. [[GH-1999](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1999)] +* `resource/kubernetes_network_policy`: Fix an issue when the delete operation may not be idempotent. [[GH-1999](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1999)] +* `resource/kubernetes_persistent_volume_claim_v1`: Fix an issue when the delete operation may not be idempotent. [[GH-1999](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1999)] +* `resource/kubernetes_persistent_volume_claim`: Fix an issue when the delete operation may not be idempotent. [[GH-1999](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1999)] +* `resource/kubernetes_storage_class_v1`: Fix an issue when changing the value of the attribute `allow_volume_expansion` does not alter Kubernetes resource. [[GH-1519](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1519)] +* `resource/kubernetes_storage_class`: Fix an issue when changing the value of the attribute `allow_volume_expansion` does not alter Kubernetes resource. [[GH-1519](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1519)] + +DOCS: + +* New data source: `data_source/kubernetes_nodes`. [[GH-1921](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1921)] +* New data source: `data_source/kubernetes_resources`. [[GH-1967](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1967)] +* New resource: `resource/kubernetes_node_taint`. [[GH-1921](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1921)] +* `provider`: Add a note regarding the `KUBECONFIG` environment variable. [[GH-1989](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1989)] +* `resource/kubernetes_annotations`: Add a new attribute `template_annotations`. [[GH-1972](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1972)] +* `resource/kubernetes_job_v1`: Add documentation for the attribute `spec.completion_mode`. [[GH-1997](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1997)] +* `resource/kubernetes_job`: Add documentation for the attribute `spec.completion_mode`. [[GH-1997](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1997)] +* `resource/resource_kubernetes_cron_job_v1`: Add a new attribute `spec.timezone`. [[GH-1971](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1971)] + +## Community Contributors :raised_hands: +- @AnisimoffNikita made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/1519 +- @partcyborg made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/1921 + +## 2.17.0 (January 23, 2023) + +ENHANCEMENT: + +* Add a new optional attribute `grpc` to `pod.spec.container.liveness_probe`, `pod.spec.container.readiness_probe`, and `pod.spec.container.startup_probe`. That affects all resources and data sources that use mentioned `pod.spec.container` probes directly or as a template. [[GH-1915](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1915)] +* `resource/kubernetes_cluster_role_binding_v1`: add attribute `generate_name` to produce a unique random name [[GH-1899](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1899)] +* `resource/kubernetes_cluster_role_binding`: add attribute `generate_name` to produce a unique random name [[GH-1899](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1899)] +* `resource/kubernetes_cluster_role_v1`: add attribute `generate_name` to produce a unique random name [[GH-1899](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1899)] +* `resource/kubernetes_cluster_role`: add attribute `generate_name` to produce a unique random name [[GH-1899](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1899)] +* `resource/kubernetes_ingress_v1`: add create and delete timeouts [[GH-1936](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1936)] +* `resource/kubernetes_ingress_v1`: make the attribute `spec.ingress_class_name` computed [[GH-1947](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1947)] +* `resource/kubernetes_persistent_volume_v1`: add additional validation on the delete operation to make it idempotent [[GH-1935](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1935)] +* `resource/kubernetes_persistent_volume`: add additional validation on the delete operation to make it idempotent [[GH-1935](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1935)] +* `resource/kubernetes_role_binding_v1`: add attribute `generate_name` to produce a unique random name [[GH-1899](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1899)] +* `resource/kubernetes_role_binding`: add attribute `generate_name` to produce a unique random name [[GH-1899](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1899)] + +## Community Contributors :raised_hands: +- @AmandaHassoun made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/1944 +- @shihai1991 made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/1922 +- @Tensho made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/1936 +- @multani made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/1899 +- @sherifabdlnaby made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/1935 +- @dgnemo made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/1915 + +## 2.16.1 (December 5, 2022) + +ENHANCEMENTS: + +* Add additional validation on the delete operation to make it idempotent. [[GH-1914](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1914)], [[GH-1919](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1919)], [[GH-1898](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1898)] + +This affects the following resources: + - `kubernetes_api_service` + - `kubernetes_api_service_v1` + - `kubernetes_cluster_role` + - `kubernetes_cluster_role_v1` + - `kubernetes_cluster_role_binding` + - `kubernetes_cluster_role_binding_v1` + - `kubernetes_config_map` + - `kubernetes_config_map_v1` + - `kubernetes_daemonset` + - `kubernetes_daemon_set_v1` + - `kubernetes_deployment` + - `kubernetes_deployment_v1` + - `kubernetes_endpoints` + - `kubernetes_endpoints_v1` + - `kubernetes_horizontal_pod_autoscaler` + - `kubernetes_horizontal_pod_autoscaler_v1` + - `kubernetes_horizontal_pod_autoscaler_v2beta2` + - `kubernetes_horizontal_pod_autoscaler_v2` + - `kubernetes_mutating_webhook_configuration` + - `kubernetes_mutating_webhook_configuration_v1` + - `kubernetes_network_policy` + - `kubernetes_network_policy_v1` + - `kubernetes_persistent_volume_claim` + - `kubernetes_persistent_volume_claim_v1` + - `kubernetes_pod` + - `kubernetes_pod_v1` + - `kubernetes_pod_disruption_budget` + - `kubernetes_pod_disruption_budget_v1` + - `kubernetes_pod_security_policy` + - `kubernetes_pod_security_policy_v1beta1` + - `kubernetes_priority_class` + - `kubernetes_replication_controller` + - `kubernetes_resource_quota` + - `kubernetes_role` + - `kubernetes_role_binding` + - `kubernetes_secret` + - `kubernetes_namespace` + - `kubernetes_service` + - `kubernetes_service_account` + - `kubernetes_stateful_set` + - `kubernetes_storage_class` + - `kubernetes_validating_webhook_configuration` + - `kubernetes_validating_webhook_configuration_v1 ` + +Special thanks to @sheneska for making these changes as part of her internship @hashicorp! πŸš€ + +## 2.16.0 (November 18, 2022) + +FEATURES: + +* New data source: `kubernetes_endpoints_v1` [[GH-1805](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1805)] + +ENHANCEMENT: + +* Add a new optional attribute `runtime_class_name` to `pod.spec`. That affects all resources and data sources that use `pod.spec` directly or as a template. [[GH-1895](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1895)] +* Add a new optional attribute `fs_group_change_policy` to `pod.spec.security_context`. That affects all resources and data sources that use `pod.spec` directly or as a template. [[GH-1892](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1892)] +* The kubernetes status field is now available in the `kubernetes_resource` datasource [[GH-1802](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1802)] +* `r/kubernetes_pod_v1`: changing values of `spec.container.resources.limits` or `spec.container.resources.requests` will force resource recreation. [[GH-1889](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1889)] +* `r/kubernetes_pod`: changing values of `spec.container.resources.limits` or `spec.container.resources.requests` will force resource recreation. [[GH-1889](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1889)] + +BUG FIXES: + +* Fix an issue when changing values of `spec.container.resources.limits` or `spec.container.resources.requests` does not update appropriate Kubernetes resources. Affected resources: `kubernetes_pod`, `kubernetes_pod_v1`. [[GH-1889](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1889)] +* Fix an issue when empty values of `spec.container.resources.limits` or `spec.container.resources.requests` produce continuous diff output during `plan` although no real changes were made. Affected resources: `kubernetes_pod`, `kubernetes_pod_v1`, `kubernetes_daemonset`, `kubernetes_daemon_set_v1`, `kubernetes_deployment`, `kubernetes_deployment_v1`. [[GH-1889](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1889)] +* Fix an issue with timeouts for `StatefulSet`, `Deployment`, and `DaemonSet` resources when in some cases changes of `Update` or `Create` timeout doesn't affect related actions. [[GH-1902](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1902)] + +DOCS: + +* `resource/kubernetes_service_account_v1`: mark attribute `default_secret_name` as deprecated [[GH-1883](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1883)] +* `resource/kubernetes_service_account`: mark attribute `default_secret_name` as deprecated [[GH-1883](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1883)] + +Thanks to all our contributors! :tada: + +## Community Contributors :raised_hands: +- @Dudesons made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/1805 +- @St0rmingBr4in made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/1802 +- @kylecarbs made their contribution in https://github.com/hashicorp/terraform-provider-kubernetes/pull/1895 + +## 2.15.0 (October 31, 2022) + +ENHANCEMENT: + +* Add new resource resource_kubernetes_env [[GH-1838](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1838)] +* Add "field_manager" attribute to kubernetes_labels, kubernetes_annotations, kubernetes_config_map_v1_data [[GH-1831](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1831)] +* r/kubernetes_horizontal_pod_autoscaler_v2: make attribute `spec.behavior.scale_down` computed [[GH-1853](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1853)] +* r/kubernetes_horizontal_pod_autoscaler_v2: make attribute `spec.behavior.scale_up` computed [[GH-1853](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1853)] +* r/kubernetes_horizontal_pod_autoscaler_v2: make attribute `spec.behavior` computed [[GH-1853](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1853)] +* r/kubernetes_horizontal_pod_autoscaler_v2beta2: make attribute `spec.behavior.scale_down` computed [[GH-1853](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1853)] +* r/kubernetes_horizontal_pod_autoscaler_v2beta2: make attribute `spec.behavior.scale_up` computed [[GH-1853](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1853)] +* r/kubernetes_horizontal_pod_autoscaler_v2beta2: make attribute `spec.behavior` computed [[GH-1853](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1853)] + +## 2.14.0 (October 6, 2022) + +ENHANCEMENT: + +* Added "preemption_policy" attribute to the priority_class resource. [[GH-1846](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1846)] +* new attribute: Add immutable attribute to resource_config_map [[GH-1849](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1849)] +* resource/kubernetes_secret: Add a new attribute `wait_for_service_account_token` and corresponding `create` timeout +resource/kubernetes_secret_v1: Add a new attribute `wait_for_service_account_token` and corresponding `create` timeout [[GH-1833](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1833)] + +DOCS: + +* r/kubernetes_service: make `spec.port` block optional [[GH-1856](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1856)] +* r/kubernetes_service_v1: make `spec.port` block optional [[GH-1856](https://github.com/hashicorp/terraform-provider-kubernetes/issues/1856)] + +## 2.13.1 (August 29, 2022) + +BUG FIXES: + +* [TK-78009] Fix propagation of non-fatal Diagnostics in the type morphing logic + +## 2.13.0 (August 23, 2022) + +BUG FIXES: + +* Starting from Kubernetes 1.24.0 service account token is not automatically generated, thus it has to create separately. The following resources were updated to handle this change: `d/kubernetes_service_account`, `r/kubernetes_default_service_account`, `r/kubernetes_service_account`. For Kubernetes clusters running v1.24+ `default_secret_name` will be empty. A warning message will be printed once any of the above resources are in use. (#1792) + +IMPROVEMENTS: + +* `r/kubernetes_manifest`: Better error messages from OpenAPI schema transformations (#1780) +* Update documentation and correct some errors (#1768, #1786) +* Update acceptance tests infrastructure code for GKE and AKE and related GitHub Actions + +## 2.12.1 (July 6, 2022) + +IMPROVEMENTS: + +* Update documentation and correct some errors (#1759) + +BUG FIXES: + +* Fix type morphing of nested tuples that causes `Failed to morph` errors (#1756) +* Fix an issue when provider crashes intermittently in version `v2.12.0` (#1762) + +## 2.12.0 (June 30, 2022) + +NEW: + +* Attribute `ignore_annotations` of `provider` (#746) +* Attribute `ignore_labels` of `provider` (#746) +* Attribute `condition` to `wait` block of `kubernetes_manifest` (#1595) +* Attribute `allocate_load_balancer_node_ports` of `kubernetes_service(_v1)` (#1683) +* Attribute `cluster_ips` of `kubernetes_service(_v1)` (#1683) +* Attribute `internal_traffic_policy` of `kubernetes_service(_v1)` (#1683) +* Attribute `load_balancer_class` of `kubernetes_service(_v1)` (#1683) +* Attribute `session_affinity_config` of `kubernetes_service(_v1)` (#1683) + +IMPROVEMENTS: + +* Update documentation and correct some errors (#1706, #1708) +* Fix security scan alerts (#1727, #1730, #1731) +* Attribute `topology_key` of `kubernetes_deployment(_v1)` marked as `Required` (#1736) + +BUG FIXES: + +* Fix `kubernetes_default_service_account` doesn't set the `automount_service_account_token` to `false` (#1247) +* Fix an issue when the imported `kubernetes_manifest` resource is replaced instead of getting updated (#1712) +* Fix provider crash when `image_pull_secret` of `kubernetes_service_account(_v1)` is `null` + +## 2.11.0 (April 27, 2022) + +NEW: + +* Add a new resource `kubernetes_horizontal_pod_autoscaler_v2` (#1674) + +IMPROVEMENTS: + +* Add `ip_families` and `ip_family_policy` attributes to `kubernetes_service` (#1662) +* Handle `x-kubernetes-preserve-unknown-fields` type annotation from OpenAPI: changes to attributes of this type trigger whole resource recreation. (#1646) +* Upgrade terraform-plugin-mux to v0.6.0 (#1686) +* Add GitHub action for EKS acceptance tests (#1656) +* Add github action for acceptance tests using kind (#1691) + +BUG FIXES: + +* Fix conversion of big.Float to float64 in `kubernetes_manifest` (#1661) +* Fix identification of `int-or-string` type attributes to include 3rd party types defined by aggregated APIs (#1640) +* Fix not handling multiple `cluster_role_selectors` of `kubernetes_cluster_role(_v1)` (#1360) + +## 2.10.0 (April 7, 2022) + +NEW: + +* Resource `kubernetes_labels` (#692) +* Resource `kubernetes_annotations` (#692) +* Resource `kubernetes_config_map_v1_data` (#723) +* Block `wait` with attribute `rollout` of `kubernetes_manifest` (#1549) +* Data source and resource attributes `app_protocol` of `kubernetes_service` (#1554) +* Attribute `container_resource` of resource `kubernetes_horizontal_pod_autoscaler_v2beta2` (#1637) + +IMPROVEMENTS: + +* Deprecate `wait_for` attribute in favor of `wait` block in `kubernetes_manifest` (#1549) +* Make attribute `rule` optional of `kubernetes_validating_webhook_configuration(_v1)` and `kubernetes_mutating_webhook_configuration(_v1)` (#1618, #1643) +* Update documentation and correct some errors (#1622, #1628, #1657, #1681) + +BUG FIXES: + +* Fix crash when multiple `match_expression` are used in `kubernetes_resource_quota` (#1561) +* Fix issue when in some circumstances changes of `seLinuxOptions.Type` doesn't reflect in the state file (#1650) +* Ignore service account volumes with `kube-api-access` prefix (#1663) + +## 2.9.0 (March 17, 2022) + +IMPROVEMENTS: + +* Add attribute `csi` to pod spec (#1092) +* Add `kubernetes_resource` data source (#1548) +* `kubernetes_manifest` resource force the re-creation of the resource when either `apiVersion` or `kind` attributes change (#1593) +* Make attribute `http` of resource `kubernetes_ingress_v1` optional (#1613) +* Add a new attribute `seccomp_profile` to pod and container spec (#1617) +* Add additional check to resource `kubernetes_job_v1` when attributes `wait_for_completion` and `ttl_seconds_after_finished` are used together (#1619) +* Update documentation examples and correct some errors (#1597, #1611, #1612, #1626) + +BUG FIXES: + +* Fix logic of `wait_for_rollout` attribute of `kubernetes_deployment` (#1405) +* Fix fail when the provider cannot determine `default_secret_name` (#1634) + +## 2.8.0 (February 09, 2022) + +IMPROVEMENTS: + +* Add mutating_webhook_configuration_v1 data source (#1423) +* Remove enabling experiment section (#1564) +* Update kubernetes dependencies (#1574) +* Update terraform-plugin-go and terraform-plugin-sdk (#1551) + +BUG FIXES: + +* Fix `panic: lists must only contain one type of element` errors on `kubernetes_manifest` +* Attribute `backend.service.port.name` in `kubernetes_ingress_v1` should be type String (#1541) + +## 2.7.1 (December 06, 2021) + +BUG FIXES: +* Fix type-morphing of Map into Map (#1521) + +## 2.7.0 (November 30, 2021) + +IMPROVEMENTS: +* Add support for storage/v1 +* Add support for certificates/v1 +* Add support for networking/v1 +* Add support for policy/v1 +* Add `completion_mode` to job spec +* Improve performance of `kubernetes_manifest` by reducing amount of API calls + +BUG FIXES: +* Fix crash when container env block is empty +* Fix invalid allowedHostPaths PodSecurityPolicy patch +* Fix handling of "null" values on fields of `kubernetes_manifest` (#1478) + +This release introduces version suffixes to the names of resources and datasources. See our [documentation page](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/guides/versioned-resources) for more details on this convention and the motivation behind it. + +## 2.6.1 (October 22, 2021) + +BUG FIXES: + * Fix import ID syntax in manifest import docs + * Tolerate unknown values in "env" and "exec" provider attributes + * Remove "beta" designation of the kubernetes_manifest from documentation + +## 2.6.0 (October 19, 2021) + +IMPROVEMENTS: +* kubernetes_manifest is now GA and enabled by default + +BUG FIXES: +* kubernetes_manifest now correctly handles empty blocks as attribute values (#1352) +* kubernetes_manifest now correctly handles multiple CRDs with different number of schema versions (#1460) + +## 2.5.1 (October 14, 2021) + +IMPROVEMENTS: +* Allow setting kubernetes_job parallelism to zero (#1334) +* Add kubernetes_ingress_class resource (#1236) +* Add immutable field to kubernetes_secret (#1280) +* Add behavior field to horizontal_pod_autoscaler (#1030) +* Add proxy_url attribute to provider configuration block (#1441) + +BUG FIXES: +* Always generate standard ObjectMeta for CRD types (#1418) +* Fix importing kubernetes_manifest resources (#1440) +* Fix documentation example for field_manager block (#1410) +* Fix kubernetes_job "No waiting" documentation example (#1383) +* Fix docs formatting for kubernetes_secret (#1434) + +## 2.5.0 (September 14, 2021) + +IMPROVEMENTS: +* Timeouts block on `kubernetes_manifest` +* `kubernetes_manifest` supports setting field_manager name and "force" mode +* `kubernetes_manifest` checks that resource exists before trying to create +* `kubernetes_manifest` supports "computed" attributtes +* `kubernetes_manifest` supports import operations + +BUG FIXES: +* Fix typo in kubernetes_manifest documentation +* Document that kubernetes_manifest must be enabled in the provider block. +* Docs for ingress_class_name in kubernetes_ingress + +## 2.4.1 (August 03, 2021) + +HOTFIX: +* Fix kubernetes_manifest Terraform version constraint causing error on 0.12/0.13 ([#1345](https://github.com/hashicorp/terraform-provider-kubernetes/pull/1345)) + +## 2.4.0 (August 02, 2021) + +IMPROVEMENTS: +* Add `kubernetes_manifest` resource as experimental feature +* Upgrade Terraform SDK to v2.7.0 + +## 2.3.2 (June 10, 2021) + +BUG FIXES: +* Revert "Filter well known labels and annotations" ([#1298](https://github.com/hashicorp/terraform-provider-kubernetes/pull/1298)) + +IMPROVEMENTS: +* docs/stateful_set: add import section ([#1287](https://github.com/hashicorp/terraform-provider-kubernetes/pull/1287)) + + +## 2.3.1 (June 03, 2021) + +BUG FIXES: +* `cluster_ip` for `kubernetes_service` should support value `None` ([#1291](https://github.com/hashicorp/terraform-provider-kubernetes/pull/1291)) +* Remove `self_link` from metadata ([#1294](https://github.com/hashicorp/terraform-provider-kubernetes/pull/1294)) +* Add missing labels to fix "`kubernetes.io/metadata.name` always in plan" ([#1293](https://github.com/hashicorp/terraform-provider-kubernetes/pull/1293)) + + +## 2.3.0 (June 02, 2021) + +BUG FIXES: +* Add missing annotations ([#1289](https://github.com/hashicorp/terraform-provider-kubernetes/pull/1289)) + + +IMPROVEMENTS: +* Datasource: `kubernetes_secret`: add `binary_data` attribute ([#1285](https://github.com/hashicorp/terraform-provider-kubernetes/pull/1285)) +* Add validations to `validating_webhook_configuration` ([#1279](https://github.com/hashicorp/terraform-provider-kubernetes/pull/1279)) +* Add validations to `mutating_webhook_configuration` ([#1278](https://github.com/hashicorp/terraform-provider-kubernetes/pull/1278)) +* Add validations to `storage_class` ([#1276](https://github.com/hashicorp/terraform-provider-kubernetes/pull/1276)) +* Add validations to container PodSpec ([#1275](https://github.com/hashicorp/terraform-provider-kubernetes/pull/1275)) +* Add validations to `service` ([#1273](https://github.com/hashicorp/terraform-provider-kubernetes/pull/1273)) +* Update EKS example to use two applies ([#1260](https://github.com/hashicorp/terraform-provider-kubernetes/pull/1260)) +* Resource `kubernetes_deployment`: allow changing strategy from `rolling` to `recreate` ([#1255](https://github.com/hashicorp/terraform-provider-kubernetes/pull/1255)) +* Filter well known labels and annotations ([#1253](https://github.com/hashicorp/terraform-provider-kubernetes/pull/1253)) +* Resource `kubernetes_resource_quota`: suppress diff for no-op changes ([#1251](https://github.com/hashicorp/terraform-provider-kubernetes/pull/1251)) +* Resource `kubernetes_deployment`: allow removing volume mount ([#1246](https://github.com/hashicorp/terraform-provider-kubernetes/pull/1246)) + +## 2.2.0 (May 12, 2021) + +IMPROVEMENTS: +* Match specific tolerations to prevent diffs (#978) +* Update all go modules (#1240) +* Docs: fix broken links (#1041) +* Docs: fix typo in getting started guide (#1262) + + +## 2.1.0 (April 15, 2021) + +BUG FIXES: +* Fix `kubernetes_cron_job` ForceNew when modifying `job_template` (#1212) +* Fix error returned by Create CSR (#1206) +* Fix `kubernetes_pod_disruption_budget`: `100%` now is a valid value (#1107) +* Fix perpetual diff in persistent volume claimRef (#1227) + +IMPROVEMENTS: +* Add `binary_data` field to `kubernetes_secret` (#1228) +* Add support for setting the persistent volume claimRef (#1020) +* Add `secret_namespace` to `volume_source` `azure_file` (#1204) +* Docs: fix grammar in Network Policy (#1210) +* Docs: `kubernetes_cron_job` add link to Kubernetes reference (#1200) + +## 2.0.3 (March 17, 2021) + +BUG FIXES: + +* Fix resource_field_ref schema for projected_volume (#1189) +* Add diff suppression to persistent_volume and persistent_volume_claim (#1145) +* Remove error for missing kubeconfig, to allow generating it at apply time (#1142) + +IMPROVEMENTS: + +* Support topologySpreadConstraint in pod spec schema (#1022) +* Wait for kubernetes_ingress to be deleted (#1143) +* Improve docs for configuring the provider (#1132) +* Update docs to reflect Kubernetes service status attribute (#1148) + +## 2.0.2 (February 02, 2021) + +BUG FIXES: +* Read operation should set resource id to null if not found (#1136) + +IMPROVEMENTS: +* Add service timeouts docs (#963) + +## 2.0.1 (January 22, 2021) + +BUG FIXES: +* Resources state migration should migrate empty array (#1124) + +IMPROVEMENTS: +* Update docs to reflect new schema for `load_balancer_ingress` (#1123) + +## 2.0.0 (January 21, 2021) + +BREAKING CHANGES: +* Replace support for `KUBECONFIG` environment variable with `KUBE_CONFIG_PATH` (#1052) +* Remove `load_config_file` attribute from provider block (#1052) +* Remove default of `~/.kube/config` for `config_path` (#1052) +* Update Terraform SDK to v2 (#1027) +* Restructure service and ingress to match K8s API (#1071) +* Normalize `automount_service_account_token` to be in line with the K8s API (#1054) +* Normalize `enable_service_links` to be in line with the K8s API (#1074) +* Normalize wait defaults across Deployment, DaemonSet, StatefulSet, Service, Ingress, and Job (#1053) +* Change resources requests and limits to TypeMap (#1065) + +FEATURES: +* Add timeout argument to kubernetes_stateful_set (#1047) +* Add divisor to resource_field_ref (#1063) +* Add ingressClassName as field in Ingress manifest (#1057) + +BUG FIXES: +* Fix typo in Job error message (#1048) +* Fix assertion in TestAccKubernetesPersistentVolume_hostPath_nodeAffinty (#1067) +* Fix service load balancer crash (#1070) +* Fix `cronJob.ttl_seconds_after_finished` causing requests to fail even without value specified (#929) +* Fix perpetual diff when using Pod resource with `automount_service_account_token=true` (#1085) +* Fix perpetual diff in StatefulSet when `update_strategy` is not specified (#1088) +* Fix delete/recreate when updating `init_containers` (#951) +* Fix delete/recreate of Jobs when updating mutable fields (#1074) + +IMPROVEMENTS: +* Add upgrade test for daemonset (#1064) +* Add `kube_config_paths` to provider block (#1052) + +## 1.13.3 (October 27, 2020) + +FEATURES: + +* Add support for readiness_gate on Pod spec (#811) +* Add Azure Managed disk to PV resource (#202) +* Add support for enable_service_links to the pod specification (#975) + +BUG FIXES: + +* Fix annotation diffs on affinity tests (#993) +* Fix api_group requirement in cluster_role_binding and role_binding (#1024) +* Fix service test leaking ELBs (#947) +* Fix annotation diffs on affinity tests (#993) +* Fix job documentation +* Fix build on macOS (#1045) and windows/386 + +IMPROVEMENTS: + +* Update Go dependencies (#968) +* Update acceptance tests for tfproviderlint (#887) +* Refactor Typhoon test configuration to allow selection of Kubernetes version (#992) +* Update Pull Request Lifecycle docs (#1032) +* CI checks for docs website (registry migration) (#953) + +## 1.13.2 (September 10, 2020) + +BUG FIXES: + +* Fix spurious forced replacement in empty_dir volume (#985) +* Fix reported replica count when waiting for Deployment rollout (#998) +* health_check_port_node should force replacement (#986) +* Don't force replacement StatefulSet / Deployment when affinity rule selectors change (#755) + +IMPROVEMENTS: + +* Wait for `kubernetes_service` to be deleted +* Updates to CONTRIBUTING.md and PULL_REQUESTS.md + +## 1.13.1 (September 03, 2020) + +BUG FIXES: +* Fix crash when size_limit is not present on empty_dir volume (#983) + +## 1.13.0 (September 02, 2020) + +FEATURES: + +* Add resource `CertificateSigningRequest` (#922) +* Add resource `default_service_account` (#876) + + +IMPROVEMENTS: + +* Allow in-place update of PVC's storage request (#957) +* Add sysctl support to pod spec (#938) +* Add ability to wait for deployment to delete (#937) +* Add support for `aggregation_rule` to `cluster_role` resource (#911) +* Add `health_check_node_port` to Service resource (#908) +* Add support for `size_limit` for `empty_dir` block (#912) +* Add support for volume mode (#939) +* Add projected volumes in pod_spec (#907) +* Add termination_message_policy to container schema (#847) + +BUG FIXES: + +* Recreate Storage Class on VolumeBindingMode update (#757) +* Fix url attribute in admissionregistration client_config.service block (#959) +* Fix crash when deferencing nil pointer in v1beta1.IngressRule (#967) + +## 1.12.0 (July 30, 2020) + +BUG FIXES: + +* Fix crash in `resource_kubernetes_pod_security_policy` attribute `host_ports` (#931) + +IMPROVEMENTS: + +* Add `wait_for_rollout` to `kubernetes_deployment` resource (#863) +* Add `wait_for_rollout` to `kubernetes_stateful_set` resource (#605) + +## 1.11.4 (July 21, 2020) + +IMPROVEMENTS: + +* Add resource for CSIDriver (#825) +* Add resource for Pod Security Policies (#861) +* Add data source for Pod and PVC (#786) +* Add support for CSI volume type in persistent_volume resource (#817) +* Add Kubernetes Job `wait_for_completion` functionality (#625) +* Support `optional` flag for ConfigMap mounted as volume (#823) +* Add specific error message when failing to load provider config (#780) +* Support `optional` on env valueFrom for secret key/configmap key (#824) +* Skip tests for CSIDriver if cluster version is less than 1.16 +* Allow `ttl_seconds_after_finished = 0` in `kubernetes_job` resource (#849) +* Set service block to `optional` for webhook configurations (#902) + +## 1.11.3 (May 20, 2020) + +IMPROVEMENTS: + +* Add data source for ingress (#514) +* Add data sources for namespaces (#613) + +## 1.11.2 (May 06, 2020) + +IMPROVEMENTS: + +* Add data source for config map (#76) +* Add data source for service account (#523) +* Add resource for ValidatingWebHookConfiguration and MutatingWebhookConfiguration (#791) + +BUG FIXES: +* Update Go module versions to work with Go 1.13 + +## 1.11.1 (February 28, 2020) + +IMPROVEMENTS: + +* Bump provider SDK to v1.7.0 + +BUG FIXES: + +* Defer client initialization to improve resilience (#759) + +## 1.11.0 (February 10, 2020) + +IMPROVEMENTS: + + * Add `mount_options` attribute to `kubernetes_persistent_volume` and `kubernetes_storage_class` + * Refactor client config initialization and fix in-cluster config (#679) (#497) + +BUG FIXES: + + * Do not force base64 encoding for the `ca_bundle` on `kubernetes_api_service` (#679) + * Allow 3s age gap between `service account` and `secret` [(issue)](https://github.com/hashicorp/terraform-provider-kubernetes/pull/377#issuecomment-540126765) + * Add `load_config_file = false` to documented provider configurations + * Add support for `startup_probe` on container spec + * Fix (cluster-)role bindings and rules updates (#713) + * Fix namespacing issues on kubernetes_priority_class (#680) **See [comment](https://github.com/hashicorp/terraform-provider-kubernetes/pull/682#issuecomment-576475875) on backward compatibility** + * Documentation fixes + +## 1.10.0 (November 08, 2019) + +FEATURES: + +* New resource: `kubernetes_pod_disruption_budget` (#644 / PR #338) +* New resource: `kubernetes_priority_class` (PR #495) + +IMPROVEMENTS: + +* Add `mount_propagation` attribute to container volume mount +* Add support for `.spec.service.port` to `kubernetes_api_service` (#665) +* Update `k8s.io/client-go` to v12 +* Set option to cascade delete job resources (#534 / PR #635) +* Support in-cluster configuration with service accounts (PR #497) +* Parametrize all existing timeout values (PR #607) +* Enable HTTP requests/responses tracing in debug mode (PR #630) + +BUG FIXES: + +* Do not set default namespace for replication controller and deployment pod templates (#275) +* Updated host_alias property name to host_aliases (PR #670) +* Docs - updated all broken and commit-specific Kubernetes links to point to master branch (PR #626) +* Allow 0 for `backoff_limit` on `kubernetes_job` (PR #632) + +## 1.9.0 (August 22, 2019) + +FEATURES: + +* New resource: `kubernetes_api_service` (PR #487) + +IMPROVEMENTS: + +* Add `type` attribute to volume hostPath (#358) +* Configurable delete timeout for `kubernetes_namespace` resource + +BUG FIXES: + +* Allow all values for deployment rolling update config (PR #587) +* Align validation of `role_binding` and `cluster_role_binding` names to Kubernetes rules (PR #583) + +## 1.8.1 (July 19, 2019) + +FEATURES: + +* Add support for tolerations to Pod and Pod template (PR #448). + +IMPROVEMENTS: + +* Update getting started guide to Terraform 0.12 syntax (PR #544). + +BUG FIXES: + +* Align validation rules for names of Role and ClusterRole to Kubernetes (PR #551). +* Allow non-negative replicas in kubernetes_stateful_set (PR #527). +* Fix 'working_dir' attribute on Pod containers (PR #539). + +## 1.8.0 (July 02, 2019) + +FEATURES: + +* New resources: `kubernetes_job` and `kubernetes_cron_job` + +IMPROVEMENTS: + +* Add `automount_service_account_token` attribute to the Pod spec (PR #261) +* Add `share_process_namespace` attribute to the Pod spec (PR #516) +* Update Terraform SDK to v0.12.3 +* Enable Renovate to keep package dependencies up to date. + +BUG FIXES: + +* Fix waiting for Deployments to finish (PR #502) +* Adapt examples to Terraform 0.12 syntax +* Documentation updates and fixes + +## 1.7.0 (May 22, 2019) + +FEATURES: + +* Add support of client-go credential plugins in auth (#396) +* Add kubernetes_ingress resource (closes #14) (#417) + +IMPROVEMENTS: + +* Add `affinity` (Pod affinity rules) attribute to Pod and PodTemplate spec +* Add support for `binary_data` to kubernetes_config_map (#400) +* Add `run_as_group` to container security context attribute (#414) +* Add `local` attribute `persistent_volume_source` docs +* Add `external_traffic_policy` to `kubernetes_service` +* Allow `max_unavailable` and `max_surge` to be 0 on `kubernetes_deployment` + +BUG FIXES: + +* Fix docs typo: `kubernetes_service` takes `target_port` not `targetPort` (#409) +* Fix links to timeouts documentation for terraform 0.12+ (#406) +* Link Endpoints resource into sidebar (#431) +* Add doc examples for container health probes. +* Don’t prevent use of kubernetes.io annotation keys + +## 1.6.2 (April 18, 2019) + +BUG FIXES: + +* Fix to release metadata to register the provider as compatible with Terraform 0.12. + +## 1.6.1 (April 18, 2019) + +IMPROVEMENTS: + +* Updated the Terraform SDK to support the upcoming Terraform version 0.12. + +UPGRADE NOTES: + +* On volume source blocks, the `mode` and `default_mode` attributes are now of type string + and will produce a diff on the first run with state coming from Terraform 0.11.x and lower. + Also, `default_mode` now defaults to 0644 when not set, in accordance with Kubernetes API docs. + This will also produce a diff when applied against state from Terraform 0.11.x and lower + (where it was implicitly 0). Subsequent applies should behave as expected. + +## 1.6.0 (April 17, 2019) + +FEATURES: + +* New resource: `kubernetes_endpoints` (#167) + +IMPROVEMENTS: + +* Add support for importing `kubernetes_service_account` resources. +* Add validation for `strategy` attribute on `kubernetes_daemonset` and `kubernetes_deployment` +* Add `allow_volume_expansion` attribute to `kubernetes_storage_class` resource. +* Add `host_aliases` attribute to Pod spec and Pod templates. +* Add support for `dns_config` attribute on Pods and Pod templates. +* Mark `node_affinity` attribute on PV as Computed to support server populated values. +* Wait for PVs to finish deleting. +* Documentation now mentions acceptance of beta Kubernetes resources. + +BUG FIXES: + +* Fix detection of default token secret (#349) +* Fix unexpected diffs on `kubernetes_network_policy` when `namespace_selector` is empty (#310) +* Fix crashes on empty node_affinity / node_selector_term / match_expressions (#394) +* Make entire Pod template updatable (#384) + +## 1.5.2 (February 28, 2019) + +BUG FIXES: +* Fix `api_group` attribute attribute of RBAC subjects. (#331) + +## 1.5.1 (February 18, 2019) + +FEATURES: +* New resources: DaemonSet and ClusterRole (#229) + +IMPROVEMENTS: +* Add test infrastructure for AKS and EKS (#291) +* Add `publish_not_ready_addresses` to `kubernetes_service` (#306) +* Populate `default_secret` for Service Account when multiple secrets are present (#281) + +BUG FIXES: +* Declare `env` argument type correctly in Pod config (#304) +* Fix service datasource after #306 broke it (#313) +* Fix docs correcting `automount_service_account_token` location for Service Acount (#278) +* Fix docs typo (#279) + +## 1.5.0 (January 14, 2019) + +FEATURES: + +* **New Resource:** `kubernetes_network_policy` ([#118](https://github.com/hashicorp/terraform-provider-kubernetes/issues/118)) +* **New Resource:** `kubernetes_role` +* **New Resource:** `kubernetes_role_binding` +* **New Datasource:** `kubernetes_secret datasource` ([#241](https://github.com/hashicorp/terraform-provider-kubernetes/issues/241)) + + +IMPROVEMENTS: + +* `resource/kubernetes_deployment`, `resource/kubernetes_pod`, `resource/kubernetes_replication_controller`, `resource/kubernetes_stateful_set`: Add `allow_privilege_escalation` to container security contexts attributes ([#249](https://github.com/hashicorp/terraform-provider-kubernetes/issues/249)) +* Add pod metadata to replication controller spec template ([#193](https://github.com/hashicorp/terraform-provider-kubernetes/issues/193)) +* Add support for `volume_binding_mode` attribute in `kubernetes_storage_class` +* Add `node_affinity` attribute to persistent volumes. +* Add support for `local` type persistent volumes. +* Upgrade to Go 1.11 + Go modules + +BUG FIXES: + +* `resource/kubernetes_stateful_set`: Fix updates of stateful set images ([#252](https://github.com/hashicorp/terraform-provider-kubernetes/issues/252)) + +## 1.4.0 (November 29, 2018) + +FEATURES: + +* **New Resource:** `kubernetes_stateful_set` ([#100](https://github.com/hashicorp/terraform-provider-kubernetes/issues/100)) + +IMPROVEMENTS: + +* `resource/kubernetes_storage_class`: Add ReclaimPolicy attribute +* `resource/kubernetes_service_account`: Allow automount service account token + +BUG FIXES: + +* Fix waiting for Deployment rollout status ([#210](https://github.com/hashicorp/terraform-provider-kubernetes/issues/210)) + +## 1.3.0 (October 23, 2018) + +FEATURES: + +* **New Resource:** `kubernetes_cluster_role_binding` ([#73](https://github.com/hashicorp/terraform-provider-kubernetes/issues/73)) +* **New Resource:** `kubernetes_deployment` ([#101](https://github.com/hashicorp/terraform-provider-kubernetes/issues/101)) + +IMPROVEMENTS: + +* Update Kubernetes client library to 1.10 ([#162](https://github.com/hashicorp/terraform-provider-kubernetes/issues/162)) +* Add support for `env_from` on container definitions ([#82](https://github.com/hashicorp/terraform-provider-kubernetes/issues/82)) + +## 1.2.0 (August 15, 2018) + +IMPROVEMENTS: + +* resource/kubernetes_pod: Add timeout to pod resource create and delete ([#151](https://github.com/hashicorp/terraform-provider-kubernetes/issues/151)) +* resource/kubernetes_pod: Add support for init containers ([#156](https://github.com/hashicorp/terraform-provider-kubernetes/issues/156)) + +BUG FIXES: + +* name label: All name labels will now allow DNS1123 subdomain format ex: `my.label123` ([#152](https://github.com/hashicorp/terraform-provider-kubernetes/issues/152)) +* resource/kubernetes_service: Switch targetPort to string ([#154](https://github.com/hashicorp/terraform-provider-kubernetes/issues/154)) +* data/kubernetes_service: Switch targetPort to string ([#159](https://github.com/hashicorp/terraform-provider-kubernetes/issues/159)) +* resource/kubernetes_pod: env var value change forces new pod ([#155](https://github.com/hashicorp/terraform-provider-kubernetes/issues/155)) +* Fix example in docs for an image pull secret ([#165](https://github.com/hashicorp/terraform-provider-kubernetes/issues/165)) + +## 1.1.0 (March 23, 2018) + +NOTES: + +* provider: Client library updated to support Kubernetes `1.7` + +IMPROVEMENTS: + +* resource/kubernetes_persistent_volume_claim: Improve event log polling for warnings ([#125](https://github.com/hashicorp/terraform-provider-kubernetes/issues/125)) +* resource/kubernetes_persistent_volume: Add support for `storage_class_name` ([#111](https://github.com/hashicorp/terraform-provider-kubernetes/issues/111)) + +BUG FIXES: + +* resource/kubernetes_secret: Prevent binary data corruption ([#103](https://github.com/hashicorp/terraform-provider-kubernetes/issues/103)) +* resource/kubernetes_persistent_volume: Update `persistent_volume_reclaim_policy` correctly ([#111](https://github.com/hashicorp/terraform-provider-kubernetes/issues/111)) +* resource/kubernetes_service: Update external_ips correctly on K8S 1.8+ ([#127](https://github.com/hashicorp/terraform-provider-kubernetes/issues/127)) +* resource/kubernetes_*: Fix adding labels/annotations to resources when those were empty ([#116](https://github.com/hashicorp/terraform-provider-kubernetes/issues/116)) +* resource/kubernetes_*: Treat non-string label values as invalid ([#135](https://github.com/hashicorp/terraform-provider-kubernetes/issues/135)) +* resource/kubernetes_config_map: Fix adding `data` when it was empty ([#116](https://github.com/hashicorp/terraform-provider-kubernetes/issues/116)) +* resource/kubernetes_secret: Fix adding `data` when it was empty ([#116](https://github.com/hashicorp/terraform-provider-kubernetes/issues/116)) +* resource/kubernetes_limit_range: Avoid spurious diff when spec is empty ([#132](https://github.com/hashicorp/terraform-provider-kubernetes/issues/132)) +* resource/kubernetes_persistent_volume: Use correct operation when updating `persistent_volume_source` (`1.8`) ([#133](https://github.com/hashicorp/terraform-provider-kubernetes/issues/133)) +* resource/kubernetes_persistent_volume: Mark persistent_volume_source as ForceNew on `1.9+` ([#139](https://github.com/hashicorp/terraform-provider-kubernetes/issues/139)) +* resource/kubernetes_pod: Bump deletion timeout to 5 mins ([#136](https://github.com/hashicorp/terraform-provider-kubernetes/issues/136)) + +## 1.0.1 (November 13, 2017) + +BUG FIXES: + +* resource/pod: Avoid crash in reading `spec.container.security_context` `capability` ([#53](https://github.com/hashicorp/terraform-provider-kubernetes/issues/53)) +* resource/replication_controller: Avoid crash in reading `template.container.security_context` `capability` ([#53](https://github.com/hashicorp/terraform-provider-kubernetes/issues/53)) +* resource/service: Make spec.port.target_port optional ([#69](https://github.com/hashicorp/terraform-provider-kubernetes/issues/69)) +* resource/pod: Fix `mode` conversion in `config_map` volume items ([#83](https://github.com/hashicorp/terraform-provider-kubernetes/issues/83)) +* resource/replication_controller: Fix `mode` conversion in `config_map` volume items ([#83](https://github.com/hashicorp/terraform-provider-kubernetes/issues/83)) + +## 1.0.0 (August 18, 2017) + +IMPROVEMENTS: + +* resource/kubernetes_pod: Add support for `default_mode`, `items` and `optional` in Secret Volume ([#44](https://github.com/hashicorp/terraform-provider-kubernetes/issues/44)) +* resource/kubernetes_replication_controller: Add support for `default_mode`, `items` and `optional` in Secret Volume ([#44](https://github.com/hashicorp/terraform-provider-kubernetes/issues/44)) + +BUG FIXES: + +* resource/kubernetes_pod: Respect previously ignored `node_selectors` field ([#42](https://github.com/hashicorp/terraform-provider-kubernetes/issues/42)) +* resource/kubernetes_pod: Represent update-ability of spec correctly ([#49](https://github.com/hashicorp/terraform-provider-kubernetes/issues/49)) +* resource/kubernetes_replication_controller: Respect previously ignored `node_selectors` field ([#42](https://github.com/hashicorp/terraform-provider-kubernetes/issues/42)) +* all namespaced resources: Avoid crash when importing invalid ID ([#46](https://github.com/hashicorp/terraform-provider-kubernetes/issues/46)) +* meta: Treat internal k8s annotations as invalid #50 + +## 0.1.2 (August 04, 2017) + +FEATURES: + +* **New Resource:** `kubernetes_storage_class` ([#22](https://github.com/hashicorp/terraform-provider-kubernetes/issues/22)) +* **New Data Source:** `kubernetes_service` ([#23](https://github.com/hashicorp/terraform-provider-kubernetes/issues/23)) +* **New Data Source:** `kubernetes_storage_class` ([#33](https://github.com/hashicorp/terraform-provider-kubernetes/issues/33)) + +IMPROVEMENTS: + +* provider: Add support of token in auth ([#35](https://github.com/hashicorp/terraform-provider-kubernetes/issues/35)) +* provider: Add switch to disable loading file config (`load_config_file`) ([#36](https://github.com/hashicorp/terraform-provider-kubernetes/issues/36)) + +BUG FIXES: + +* resource/kubernetes_service: Make port field optional ([#27](https://github.com/hashicorp/terraform-provider-kubernetes/issues/27)) +* all resources: Escape '/' in JSON Patch path correctly ([#40](https://github.com/hashicorp/terraform-provider-kubernetes/issues/40)) + +## 0.1.1 (July 05, 2017) + +FEATURES: + +* **New Resource:** `kubernetes_replication_controller` ([#9](https://github.com/hashicorp/terraform-provider-kubernetes/issues/9)) +* **New Resource:** `kubernetes_service_account` ([#17](https://github.com/hashicorp/terraform-provider-kubernetes/issues/17)) + +IMPROVEMENTS: + +* resource/kubernetes_service: Wait for LoadBalancer ingress ([#12](https://github.com/hashicorp/terraform-provider-kubernetes/issues/12)) +* resource/persistent_volume_claim: Expose last warnings from the eventlog ([#16](https://github.com/hashicorp/terraform-provider-kubernetes/issues/16)) +* resource/pod: Expose last warnings from the eventlog ([#16](https://github.com/hashicorp/terraform-provider-kubernetes/issues/16)) +* resource/service: Expose last warnings from the eventlog ([#16](https://github.com/hashicorp/terraform-provider-kubernetes/issues/16)) + +BUG FIXES: + +* Register auth plugins (gcp, oidc) automatically ([#6](https://github.com/hashicorp/terraform-provider-kubernetes/issues/6)) +* resource/pod: Fix a crash caused by wrong field name (config map volume source) ([#19](https://github.com/hashicorp/terraform-provider-kubernetes/issues/19)) +* resource/pod: Add validation for `default_mode` (mode bits) ([#19](https://github.com/hashicorp/terraform-provider-kubernetes/issues/19)) + +## 0.1.0 (June 20, 2017) + +FEATURES: + +* **New Resource:** `kubernetes_pod` [[#13571](https://github.com/hashicorp/terraform-provider-kubernetes/issues/13571)](https://github.com/hashicorp/terraform/pull/13571) diff --git a/k8s/.terraform/providers/registry.opentofu.org/hashicorp/kubernetes/2.38.0/linux_arm64/CHANGELOG_GUIDE.md b/k8s/.terraform/providers/registry.opentofu.org/hashicorp/kubernetes/2.38.0/linux_arm64/CHANGELOG_GUIDE.md new file mode 100644 index 0000000..fa38cc1 --- /dev/null +++ b/k8s/.terraform/providers/registry.opentofu.org/hashicorp/kubernetes/2.38.0/linux_arm64/CHANGELOG_GUIDE.md @@ -0,0 +1,121 @@ +# How To Use + +Kubernetes Provider uses `go-changelog` to generate its changelog on release: + +* https://github.com/hashicorp/go-changelog + +To install, run the following commands: + +``` +go install github.com/hashicorp/go-changelog/cmd/changelog-build +go install github.com/hashicorp/go-changelog/cmd/changelog-entry +``` + +Either command can be ran with the following make command: + +``` +make changelog +make changelog-entry +``` + +## CHANGELOG entry examples + +CHANGELOG entries are expected to be txt files created inside this folder +`.changelog`. The file name is expected to be the same pull request number that will +be linked when the CHANGELOG is generated. So for example, if your pull request is +\#1234, your file name would be `.changelog/1234.txt`. + +While for git commit messages, we expect the leading subject to be more specific +as to the section it updates, for example a change with k8s might be: + +``` +builtin/k8s: Add support for feature Y + +This commit adds support for feature Y.... +``` + +The changelog entry should be more user facing friendly, so it would instead read: + +~~~ +```release-note:improvement +plugin/k8s: Add support for feature Y +``` +~~~ + +Below are some examples of how to generate a CHANGELOG entry with your pull +request. + +### Improvement + +~~~ +```release-note:improvement +server: Add new option for configs +``` +~~~ + +### Feature + +~~~ +```release-note:feature +plugin/nomad: New feature integration +``` +~~~ + +### Bug + +~~~ +```release-note:bug +plugin/docker: Fix broken code +``` +~~~ + +### Multiple Entries + +~~~ +```release-note:bug +plugin/docker: Fix broken code +``` + +```release-note:bug +plugin/nomad: Fix broken code +``` + +```release-note:bug +plugin/k8s: Fix broken code +``` +~~~ + +### Deprecations + +```release-note:note +resource/k8s_resource_name: This resource is being deprecated as it is no longer supported in upgraded dependencies. +``` + +### Long Description with Markdown + +~~~ +```release-note:feature +cli: Lorem ipsum dolor `sit amet`, _consectetur_ adipiscing elit, **sed** do +eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim +veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo +consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse +cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non +proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +``` +~~~ + +## How to generate CHANGELOG entries for release + +Below is an example for running `go-changelog` to generate a collection of +entries. It will generate output that can be inserted into CHANGELOG.md. + +For more information as to what each flag does, make sure to run `changelog-build -help`. + +``` +changelog-build -last-release v0.5.0 -entries-dir .changelog/ -changelog-template changelog.tmpl -note-template note.tmpl -this-release 86b6b38faa7c69f26f1d4c71e271cd4285daadf9 +``` +## Changes that should not have a changelog entry + +Testing updates +Resource and provider documentation updates +Code refactoring \ No newline at end of file diff --git a/k8s/.terraform/providers/registry.opentofu.org/hashicorp/kubernetes/2.38.0/linux_arm64/LICENSE b/k8s/.terraform/providers/registry.opentofu.org/hashicorp/kubernetes/2.38.0/linux_arm64/LICENSE new file mode 100644 index 0000000..b9ac071 --- /dev/null +++ b/k8s/.terraform/providers/registry.opentofu.org/hashicorp/kubernetes/2.38.0/linux_arm64/LICENSE @@ -0,0 +1,375 @@ +Copyright (c) 2017 HashiCorp, Inc. + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/k8s/.terraform/providers/registry.opentofu.org/hashicorp/kubernetes/2.38.0/linux_arm64/README.md b/k8s/.terraform/providers/registry.opentofu.org/hashicorp/kubernetes/2.38.0/linux_arm64/README.md new file mode 100644 index 0000000..184c0df --- /dev/null +++ b/k8s/.terraform/providers/registry.opentofu.org/hashicorp/kubernetes/2.38.0/linux_arm64/README.md @@ -0,0 +1,33 @@ + + Terraform logo + + +# Kubernetes Provider for Terraform [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/hashicorp/terraform-provider-kubernetes?label=release)](https://github.com/hashicorp/terraform-provider-kubernetes/releases) [![license](https://img.shields.io/github/license/hashicorp/terraform-provider-kubernetes.svg)]() + +- [Getting Started](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/guides/getting-started.html) +- [Interactive Tutorial](https://developer.hashicorp.com/terraform/tutorials/kubernetes/kubernetes-provider) +- Usage + - [Documentation](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs) + - [Examples](https://github.com/hashicorp/terraform-provider-kubernetes/tree/main/_examples) + - [Kubernetes Provider 2.0 Upgrade guide](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/guides/v2-upgrade-guide) +- Chat: [#terraform-providers in Kubernetes](https://kubernetes.slack.com/messages/CJY6ATQH4) ([Sign up here](http://slack.k8s.io/)) + +The Kubernetes provider for Terraform is a plugin that enables full lifecycle management of Kubernetes resources. This provider is maintained internally by HashiCorp. + +Please note: We take Terraform's security and our users' trust very seriously. If you believe you have found a security issue in the Terraform Kubernetes Provider, please responsibly disclose by contacting us at security@hashicorp.com. + + +## Requirements + +- [Terraform](https://www.terraform.io/downloads.html) 0.12.x +- [Go](https://golang.org/doc/install) 1.22+ (to build the provider plugin) + + +## Contributing to the provider + +The Kubernetes Provider for Terraform is the work of many contributors. We appreciate your help! + +To contribute, please read the [contribution guidelines](_about/CONTRIBUTING.md). You may also [report an issue](https://github.com/hashicorp/terraform-provider-kubernetes/issues/new/choose). Once you've filed an issue, it will follow the [issue lifecycle](_about/ISSUES.md). + +Also available are some answers to [Frequently Asked Questions](_about/FAQ.md). + diff --git a/k8s/.terraform/providers/registry.opentofu.org/hashicorp/kubernetes/2.38.0/linux_arm64/terraform-provider-kubernetes b/k8s/.terraform/providers/registry.opentofu.org/hashicorp/kubernetes/2.38.0/linux_arm64/terraform-provider-kubernetes new file mode 100755 index 0000000..467b1dd Binary files /dev/null and b/k8s/.terraform/providers/registry.opentofu.org/hashicorp/kubernetes/2.38.0/linux_arm64/terraform-provider-kubernetes differ diff --git a/k8s/tests/k8s_validation.tftest.hcl b/k8s/tests/k8s_validation.tftest.hcl index de7490f..35a0bb6 100644 --- a/k8s/tests/k8s_validation.tftest.hcl +++ b/k8s/tests/k8s_validation.tftest.hcl @@ -8,9 +8,7 @@ mock_provider "kubernetes" {} -mock_provider "kubectl" { - source = "gavinbunney/kubectl" -} +mock_provider "kubectl" {} # ─── Shared baseline variables ──────────────────────────────────────────────── diff --git a/modules/app-k8s-nodered-rabbitmq/main.tf b/modules/app-k8s-nodered-rabbitmq/main.tf index 239d9f4..6a5a1cc 100644 --- a/modules/app-k8s-nodered-rabbitmq/main.tf +++ b/modules/app-k8s-nodered-rabbitmq/main.tf @@ -1,3 +1,16 @@ +terraform { + required_providers { + kubernetes = { + source = "hashicorp/kubernetes" + version = "~> 2.31" + } + kubectl = { + source = "gavinbunney/kubectl" + version = "~> 1.14" + } + } +} + locals { # Alloy config: bearer_token block only when a token is provided alloy_auth_line = var.loki_auth_token != "" ? " bearer_token = env(\"LOKI_AUTH_TOKEN\")\n" : "" diff --git a/modules/app-openresty-pg-redis/main.tf b/modules/app-openresty-pg-redis/main.tf index a64c357..48c1be5 100644 --- a/modules/app-openresty-pg-redis/main.tf +++ b/modules/app-openresty-pg-redis/main.tf @@ -1,3 +1,12 @@ +terraform { + required_providers { + docker = { + source = "kreuzwerker/docker" + version = "~> 3.9" + } + } +} + locals { persistent = var.environment == "prod"