Removed terraform
This commit is contained in:
parent
92e69bcfae
commit
027b5713eb
|
@ -1,39 +0,0 @@
|
|||
from INWX.Domrobot import ApiClient
|
||||
|
||||
username = ''
|
||||
password = ''
|
||||
domain = ''
|
||||
|
||||
api_client = ApiClient(api_url=ApiClient.API_LIVE_URL, debug_mode=True)
|
||||
|
||||
login_result = api_client.login(username, password)
|
||||
|
||||
if login_result['code'] == 1000:
|
||||
record_result = api_client.call_api(api_method='nameserver.info', method_params={'domain': domain})
|
||||
|
||||
if record_result['code'] == 1000:
|
||||
records = record_result['resData']['record']
|
||||
with open("../terraform/imports.tf", "a") as f:
|
||||
for record in records:
|
||||
is_root = record['name'] == domain
|
||||
subdomain = record['name'].removesuffix(domain)
|
||||
typeName = record['type'].lower()
|
||||
isNotIP = typeName != "a" and typeName != "aaaa"
|
||||
content = ""
|
||||
if isNotIP:
|
||||
content = "_" + record['content']
|
||||
if subdomain.endswith("."):
|
||||
subdomain = subdomain[:-1]
|
||||
elif subdomain == "":
|
||||
subdomain = "root"
|
||||
f.write("\nimport {"
|
||||
+ "\nto = inwx_nameserver_record.twomartens_de_" + subdomain + "_" + typeName + content
|
||||
+ "\nid = \"" + domain + ":" + str(record['id']) + "\""
|
||||
+ "\n}")
|
||||
|
||||
else:
|
||||
raise Exception('Api error while fetching records. Code: ' + str(record_result['code'])
|
||||
+ ' Message: ' + record_result['msg'])
|
||||
api_client.logout()
|
||||
else:
|
||||
raise Exception('Api login error. Code: ' + str(login_result['code']) + ' Message: ' + login_result['msg'])
|
|
@ -1,42 +0,0 @@
|
|||
# This file is maintained automatically by "terraform init".
|
||||
# Manual edits may be lost in future updates.
|
||||
|
||||
provider "registry.terraform.io/hetznercloud/hcloud" {
|
||||
version = "1.44.1"
|
||||
constraints = "1.44.1"
|
||||
hashes = [
|
||||
"h1:q2JvvbG+seeZ4A2ijxPi5Tis+NJVoB59cAt3KeQe0uA=",
|
||||
"zh:156df81d2c740608b9fb7f439defbb39b89585c55dc6e62e4af928808ff67f9e",
|
||||
"zh:32407f1df8b59afe5e35710c4acf2c8a8cbf5ea9a32126f34cb0c49ff142a047",
|
||||
"zh:456133e16e9ebfcd89534c968a8b2a3f931bf4acb76a8165acc2242b0b73ba78",
|
||||
"zh:6855c90399abc11e32fcdc0bf54bdedb50009c46183b926b3493fdcf48d5e39c",
|
||||
"zh:68fe1e7e9f692a29d75a3cc199b472e8bc00c9486b299bfaf816133797207804",
|
||||
"zh:6c62a9fe0a6de3cd4ea0591193baef00b65c838610feb369d14e36d15f9ea93e",
|
||||
"zh:6cb1db2287cc8baec8538d9df6a44f602f61580d8df4c484625295aa622f03d1",
|
||||
"zh:7fd577a8079da2f6e96066a8bf6bce6e36fdd36c67ac03044fd29f15eb718a6c",
|
||||
"zh:9f94d862b827c429bf6a3eea7a65b856475cdc6da7e0d8a8edfbc09de40bed3f",
|
||||
"zh:a6499d633a63668629a32628624137d2ef8e1ca5ef77766669470def7f4d5732",
|
||||
"zh:b46004de824350b1b9a44cc253608d25e7cdf77d628571ece2df2fe96aacb8d7",
|
||||
"zh:b9d8c401f8ddb829ee67bf429aac781bf5022605f4d18b041c417622746a37a1",
|
||||
"zh:cf182e8426d7bd555a46ea4c5d75ed431edb41aa162e57f07f13d235d0e74f0d",
|
||||
"zh:e1b777a95498489aa04231b7825cca445119f2b1988bfdcd8f0a35e0ba59d883",
|
||||
]
|
||||
}
|
||||
|
||||
provider "registry.terraform.io/inwx/inwx" {
|
||||
version = "1.3.2"
|
||||
constraints = "1.3.2"
|
||||
hashes = [
|
||||
"h1:D3G13WKmmV4pQzwD/J8jd3ZVbLezO67PXUj2Z4uOskk=",
|
||||
"zh:036829d084fcc489b1392dcb8135c2eac2290d36991af7f5886e31f7cb1636ac",
|
||||
"zh:216bbe4d874bd32e646356a3446f4fa00db9c318f1293b44d8dedab59d387ad0",
|
||||
"zh:2602514ad90e92bda3307ded6a48c8c3a48ada935ac32b04e07bb820b620757a",
|
||||
"zh:2889f97a029e8a86afeff54d0baa86a253ac7609cbab25d80629f9ac8639e278",
|
||||
"zh:515b8df0ebd1b590f9870119a2c3a4f2cebdee645f30e94c0d1d02e8701f8ae5",
|
||||
"zh:5de5e411750ee3b834a5cc491a37ed79f38b7241f4b38b7c5b34e873546a373b",
|
||||
"zh:654560e180f5c2fb4509c5ee130a0f300107ddede2894aeb4a05c305e95a653d",
|
||||
"zh:775f68619a147df76bb5dd4bb75441ce3ddb30237de169137fe1e848ea2b2970",
|
||||
"zh:86137b8ab6ae67f5780946086849bb6e27c4db61484b6390c2826806cb387151",
|
||||
"zh:c7f793290f39875e53502254a91f5c533a1381070228fae47224cd7633197de7",
|
||||
]
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
cloud-configuration
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"Modules": [
|
||||
{
|
||||
"Key": "",
|
||||
"Source": "",
|
||||
"Dir": "."
|
||||
},
|
||||
{
|
||||
"Key": "api_domain",
|
||||
"Source": "./modules/domain",
|
||||
"Dir": "modules/domain"
|
||||
},
|
||||
{
|
||||
"Key": "argocd_domain",
|
||||
"Source": "./modules/domain",
|
||||
"Dir": "modules/domain"
|
||||
},
|
||||
{
|
||||
"Key": "drone_domain",
|
||||
"Source": "./modules/domain",
|
||||
"Dir": "modules/domain"
|
||||
},
|
||||
{
|
||||
"Key": "gitea_domain",
|
||||
"Source": "./modules/domain",
|
||||
"Dir": "modules/domain"
|
||||
},
|
||||
{
|
||||
"Key": "helm-repo_domain",
|
||||
"Source": "./modules/domain",
|
||||
"Dir": "modules/domain"
|
||||
},
|
||||
{
|
||||
"Key": "keycloak_domain",
|
||||
"Source": "./modules/domain",
|
||||
"Dir": "modules/domain"
|
||||
},
|
||||
{
|
||||
"Key": "nextcloud_domain",
|
||||
"Source": "./modules/domain",
|
||||
"Dir": "modules/domain"
|
||||
},
|
||||
{
|
||||
"Key": "personal_website_domain",
|
||||
"Source": "./modules/domain",
|
||||
"Dir": "modules/domain"
|
||||
},
|
||||
{
|
||||
"Key": "statping_domain",
|
||||
"Source": "./modules/domain",
|
||||
"Dir": "modules/domain"
|
||||
},
|
||||
{
|
||||
"Key": "wahlrecht_domain",
|
||||
"Source": "./modules/domain",
|
||||
"Dir": "modules/domain"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,929 +0,0 @@
|
|||
# Changelog
|
||||
|
||||
## [1.44.1](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.44.0...v1.44.1) (2023-10-05)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* failed to load plugin
|
||||
schemas ([#764](https://github.com/hetznercloud/terraform-provider-hcloud/issues/764)) ([b68a97c](https://github.com/hetznercloud/terraform-provider-hcloud/commit/b68a97cfef01f4f3cb5968ce866dd0e77e437684))
|
||||
|
||||
## [1.44.0](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.43.0...v1.44.0) (2023-10-04)
|
||||
|
||||
### Features
|
||||
|
||||
* setup initial plugin framework
|
||||
skaffolding ([#749](https://github.com/hetznercloud/terraform-provider-hcloud/issues/749)) ([5c284e2](https://github.com/hetznercloud/terraform-provider-hcloud/commit/5c284e293dd2e4a8ad83ae9b2784fd3b8261c323))
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* poll_interval not working as
|
||||
expected ([6ef7467](https://github.com/hetznercloud/terraform-provider-hcloud/commit/6ef7467b198ea1807715d7bc99e03fbad62688a2))
|
||||
|
||||
## [1.43.0](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.42.1...v1.43.0) (2023-09-20)
|
||||
|
||||
### Features
|
||||
|
||||
* build with Go
|
||||
1.21 ([#753](https://github.com/hetznercloud/terraform-provider-hcloud/issues/753)) ([f68e079](https://github.com/hetznercloud/terraform-provider-hcloud/commit/f68e0791307ee2cddce172f3bcd0f786fd2f2b32))
|
||||
* **server:** Optional graceful shutdown before deleting
|
||||
servers ([#755](https://github.com/hetznercloud/terraform-provider-hcloud/issues/755)) ([0c477a3](https://github.com/hetznercloud/terraform-provider-hcloud/commit/0c477a32b569c2cac455cf2d6131d8c62519803e))
|
||||
|
||||
## [1.42.1](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.42.0...v1.42.1) (2023-08-14)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **primary_ip:** list data source only returned first 25
|
||||
IPs ([#729](https://github.com/hetznercloud/terraform-provider-hcloud/issues/729)) ([62e9781](https://github.com/hetznercloud/terraform-provider-hcloud/commit/62e97810df58d2eccaaed2e81d7833fff4e5d6ae))
|
||||
* **server:** panic when passing empty string as ssh
|
||||
key ([#736](https://github.com/hetznercloud/terraform-provider-hcloud/issues/736)) ([d57b386](https://github.com/hetznercloud/terraform-provider-hcloud/commit/d57b38606c4b052b7d8181074d0860bd35935145))
|
||||
* **server:** Return `nil` instead of `"<nil>"` with IPv4/IPv6
|
||||
disabled ([#723](https://github.com/hetznercloud/terraform-provider-hcloud/issues/723)) ([6cd2a37](https://github.com/hetznercloud/terraform-provider-hcloud/commit/6cd2a3753df03ebb6f3ebdb46899f2ff167d04ad))
|
||||
* use exponential backoff when retrying
|
||||
actions ([#735](https://github.com/hetznercloud/terraform-provider-hcloud/issues/735)) ([d51ee4a](https://github.com/hetznercloud/terraform-provider-hcloud/commit/d51ee4a46dd869320b90413d8e7806fab21dc419))
|
||||
|
||||
## [1.42.0](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.41.0...v1.42.0) (2023-07-13)
|
||||
|
||||
### Features
|
||||
|
||||
* **image:** add filter include_deprecated to
|
||||
datasources ([#685](https://github.com/hetznercloud/terraform-provider-hcloud/issues/685)) ([#717](https://github.com/hetznercloud/terraform-provider-hcloud/issues/717)) ([9f039ba](https://github.com/hetznercloud/terraform-provider-hcloud/commit/9f039ba35b9b0e94f4f5581099031e11f001a6d8))
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **lb:** early validation for lb_target
|
||||
arguments ([#721](https://github.com/hetznercloud/terraform-provider-hcloud/issues/721)) ([10928d1](https://github.com/hetznercloud/terraform-provider-hcloud/commit/10928d1389f4f7e08f042c33101af03a4e78d155))
|
||||
* **rdns:** crash when resource was deleted outside of
|
||||
terraform ([#720](https://github.com/hetznercloud/terraform-provider-hcloud/issues/720)) ([aad0614](https://github.com/hetznercloud/terraform-provider-hcloud/commit/aad0614d4abbe2dfbed53630b2e29380e6b087c5)),
|
||||
closes [#710](https://github.com/hetznercloud/terraform-provider-hcloud/issues/710)
|
||||
|
||||
## [1.41.0](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.40.0...v1.41.0) (2023-06-22)
|
||||
|
||||
### Features
|
||||
|
||||
* **network:** add support for exposing routes to vswitch
|
||||
connection ([#703](https://github.com/hetznercloud/terraform-provider-hcloud/issues/703)) ([f213550](https://github.com/hetznercloud/terraform-provider-hcloud/commit/f2135509328ff2418ddc5f5224872ccb68821f6c))
|
||||
|
||||
## [1.40.0](https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.39.0...v1.40.0) (2023-06-13)
|
||||
|
||||
### Features
|
||||
|
||||
* deprecation info for server
|
||||
types ([#691](https://github.com/hetznercloud/terraform-provider-hcloud/issues/691)) ([9e6a22c](https://github.com/hetznercloud/terraform-provider-hcloud/commit/9e6a22cf2d5cc1e1859ec622c649978b83207938))
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **server:** invalid ipv6_address nil1 when no IPv6 is
|
||||
used ([#689](https://github.com/hetznercloud/terraform-provider-hcloud/issues/689)) ([2912f45](https://github.com/hetznercloud/terraform-provider-hcloud/commit/2912f459bbf47b2d9f90325056713a4eb9d99d1d))
|
||||
|
||||
## v1.39.0
|
||||
|
||||
### What's Changed
|
||||
|
||||
* feat(rdns): support setting RDNS for Primary IPs by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/669
|
||||
* feat(server_type): return included traffic by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/680
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.38.2...v1.39.0
|
||||
|
||||
## v1.38.2
|
||||
|
||||
### What's Changed
|
||||
|
||||
* ci: run e2etests in parallel by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/660
|
||||
* fix(server): avoid recreate when using official image by ID by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/661
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.38.1...v1.38.2
|
||||
|
||||
## v1.38.1
|
||||
|
||||
Affordable, sustainable & powerful! rocketYou can now get one of our Arm64 CAX servers to optimize your operations while
|
||||
minimizing your costs!
|
||||
Discover Ampere’s efficient and robust Arm64 architecture and be ready to get blown away with its performance.
|
||||
sunglasses
|
||||
|
||||
Learn more: https://www.hetzner.com/news/arm64-cloud
|
||||
|
||||
### What's Changed
|
||||
|
||||
* fix(server): crash when non-existent server type is used by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/659
|
||||
* fix(server): unable to create server from image id by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/658
|
||||
* fix(deps): update module golang.org/x/crypto to v0.8.0 by @renovate
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/652
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.38.0...v1.38.1
|
||||
|
||||
## v1.38.0
|
||||
|
||||
Affordable, sustainable & powerful! 🚀You can now get one of our Arm64 CAX servers to optimize your operations while
|
||||
minimizing your costs!
|
||||
Discover Ampere’s efficient and robust Arm64 architecture and be ready to get blown away with its performance. 😎
|
||||
|
||||
Learn more: https://www.hetzner.com/news/arm64-cloud
|
||||
|
||||
### What's Changed
|
||||
|
||||
* fix(deps): update github.com/hashicorp/go-cty digest to 8598007 by @renovate
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/633
|
||||
* fix(deps): update module golang.org/x/net to v0.9.0 by @renovate
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/651
|
||||
* feat: add support for ARM APIs by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/654
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.37.0...v1.38.0
|
||||
|
||||
## v1.37.0
|
||||
|
||||
### What's Changed
|
||||
|
||||
* docs: Add missing location (hil) by @akirak in https://github.com/hetznercloud/terraform-provider-hcloud/pull/606
|
||||
* docs: replace outdated example OS image by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/615
|
||||
* docs: list available datacenters by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/613
|
||||
* docs: explain deprecated attributes by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/614
|
||||
* feat(primaryip): return IPv6 subnet #600 by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/620
|
||||
* fix: state is missing resources when rate limit is reached #604 by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/621
|
||||
* chore(ci): run e2e on public workers by @samcday in https://github.com/hetznercloud/terraform-provider-hcloud/pull/631
|
||||
* Configure Renovate by @renovate in https://github.com/hetznercloud/terraform-provider-hcloud/pull/629
|
||||
* chore: Test against Terraform v1.4 by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/638
|
||||
* fix(deps): update module github.com/hashicorp/terraform-plugin-log to v0.8.0 by @renovate
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/639
|
||||
* fix(deps): update module github.com/hetznercloud/hcloud-go to v1.41.0 by @renovate
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/637
|
||||
* fix(deps): update module github.com/hashicorp/terraform-plugin-sdk/v2 to v2.25.0 by @renovate
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/640
|
||||
* chore(deps): update goreleaser/goreleaser-action action to v4 by @renovate
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/642
|
||||
* fix: self-reported version not correct by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/630
|
||||
* chore(deps): update actions/setup-go action to v4 by @renovate
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/643
|
||||
* fix(deps): update module golang.org/x/crypto to v0.7.0 by @renovate
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/641
|
||||
* docs: freebsd64 is no longer available as rescue image by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/645
|
||||
* refactor: Make CI Happy Again by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/646
|
||||
* fix(deps): update module github.com/hashicorp/terraform-plugin-sdk/v2 to v2.26.1 by @renovate
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/644
|
||||
|
||||
### New Contributors
|
||||
|
||||
* @akirak made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/606
|
||||
* @samcday made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/631
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.36.2...v1.37.0
|
||||
|
||||
## v1.36.2
|
||||
|
||||
### What's Changed
|
||||
|
||||
* test: fix acceptence tests for new location Hillsboro by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/598
|
||||
* fix(server): unhandled errors from API calls by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/602
|
||||
* fix(lb): lb_target breaks when load-balancer is deleted in API by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/603
|
||||
* fix(lb): add missing fields to data source by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/605
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.36.1...v1.36.2
|
||||
|
||||
## v1.36.1
|
||||
|
||||
### What's Changed
|
||||
|
||||
* chore: update hcloud-go to v1.37.0 by @apricote in https://github.com/hetznercloud/terraform-provider-hcloud/pull/591
|
||||
* fix(server): make sure that each network block is unique by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/594
|
||||
* docs: mention that we only accept the location name as attribute by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/595
|
||||
* fix(server): unnecessary updates when using network #556 by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/593
|
||||
* fix: multiple resources break when parent resource is recreated by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/596
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.36.0...v1.36.1
|
||||
|
||||
## v1.36.0
|
||||
|
||||
### What's Changed
|
||||
|
||||
* Update auto delete on primary IP resource change by @4ND3R50N
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/573
|
||||
* Update Dependencies by @LKaemmerling in https://github.com/hetznercloud/terraform-provider-hcloud/pull/575
|
||||
* Add tests for Terraform 1.3 by @LKaemmerling in https://github.com/hetznercloud/terraform-provider-hcloud/pull/576
|
||||
* docs: explain how to create a server from snapshot by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/582
|
||||
* docs: clarify arguments of hcloud_primary_ip resource by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/584
|
||||
* fix: error when deleting hcloud_primary_ip with auto_delete by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/585
|
||||
* test: fix flaky test TestServerResource_PrimaryIPNetworkTests by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/587
|
||||
* feat: import hcloud_load_balancer_target by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/589
|
||||
* fix: race-condition when re-creating server with external primary ip by @apricote
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/590
|
||||
|
||||
### New Contributors
|
||||
|
||||
* @apricote made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/582
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.35.2...v1.36.0
|
||||
|
||||
## v1.35.2
|
||||
|
||||
### What's Changed
|
||||
|
||||
* bug: add missing datacenter option at primary_ip & fix file naming by @komandar
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/559
|
||||
* Fix private only server (attached to network) creation by @4ND3R50N
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/562
|
||||
* feature: update workflow & golang to newest stable release 1.19 by @komandar
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/560
|
||||
* ci: fix not available gpg_private_key in workflow by @komandar
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/563
|
||||
* Remove < and > signs in import examples by @ekeih
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/564
|
||||
* fix: wrong required statement by @komandar in https://github.com/hetznercloud/terraform-provider-hcloud/pull/567
|
||||
* style: unify the bool and boolean type in the docs by @komandar
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/568
|
||||
|
||||
### New Contributors
|
||||
|
||||
* @komandar made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/559
|
||||
* @ekeih made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/564
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.35.1...v1.35.2
|
||||
|
||||
## v1.35.1
|
||||
|
||||
### What's Changed
|
||||
|
||||
* Add workaround "fix" for network interface issue by @4ND3R50N
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/552
|
||||
* Update hcloud-go to v1.35.2 by @4ND3R50N in https://github.com/hetznercloud/terraform-provider-hcloud/pull/554
|
||||
* Prevent segfault when image nonexistent by @acuteaura
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/553
|
||||
|
||||
### New Contributors
|
||||
|
||||
* @acuteaura made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/553
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.35.0...v1.35.1
|
||||
|
||||
## v1.35.0
|
||||
|
||||
### What's Changed
|
||||
|
||||
* Implement Server Create Without primary ip on update behavior by @4ND3R50N
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/548
|
||||
* Add support of using deprecated images by @LKaemmerling
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/549
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.34.3...v1.35.0
|
||||
|
||||
## v1.34.3
|
||||
|
||||
### What's Changed
|
||||
|
||||
* Create server without primary ips: Fix edge case bug + add test by @4ND3R50N
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/546
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.34.2...v1.34.3
|
||||
|
||||
## v1.34.2
|
||||
|
||||
### What's Changed
|
||||
|
||||
* Server Create without primary IPs via public_net by @4ND3R50N
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/544
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.34.1...v1.34.2
|
||||
|
||||
## v1.34.1
|
||||
|
||||
### What's Changed
|
||||
|
||||
* Add primary ip documentation by @4ND3R50N in https://github.com/hetznercloud/terraform-provider-hcloud/pull/540
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.34.0...v1.34.1
|
||||
|
||||
## v1.34.0
|
||||
|
||||
### What's Changed
|
||||
|
||||
* Update Dependencies (TF SDK 2.7.1 -> 2.14) by @LKaemmerling
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/524
|
||||
* DataSource Network `id` should be an integer by @guineveresaenger
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/525
|
||||
* Improve documentation by @02bensch in https://github.com/hetznercloud/terraform-provider-hcloud/pull/536
|
||||
* Add support for primary IPs by @4ND3R50N in https://github.com/hetznercloud/terraform-provider-hcloud/pull/538
|
||||
|
||||
### New Contributors
|
||||
|
||||
* @guineveresaenger made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/525
|
||||
* @02bensch made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/536
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.33.2...v1.34.0
|
||||
|
||||
## v1.33.2
|
||||
|
||||
### What's Changed
|
||||
|
||||
* Implement validation on labels as per spec by @4ND3R50N
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/522
|
||||
* Add resourceFloatingIPAssignmentUpdate by @CyberShadow
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/501
|
||||
* Use Go 1.18 for building by @LKaemmerling in https://github.com/hetznercloud/terraform-provider-hcloud/pull/523
|
||||
|
||||
### New Contributors
|
||||
|
||||
* @4ND3R50N made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/522
|
||||
* @CyberShadow made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/501
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.33.1...v1.33.2
|
||||
|
||||
## v1.33.1
|
||||
|
||||
### What's Changed
|
||||
|
||||
* Datasource hcloud_location & hcloud_locations: Add network_zone by @LKaemmerling
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/508
|
||||
* hcloud_servcer resource: Retry on enabling rescue (reset call) by @LKaemmerling
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/511
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.33.0...v1.33.1
|
||||
|
||||
## v1.33.0
|
||||
|
||||
### What's Changed
|
||||
|
||||
* Update image.html.md by @FloMaetschke in https://github.com/hetznercloud/terraform-provider-hcloud/pull/494
|
||||
* docs: Add missing location (ash) by @dhoppe in https://github.com/hetznercloud/terraform-provider-hcloud/pull/496
|
||||
* Add missing argument for resource hcloud_ssh_key by @dhoppe
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/498
|
||||
* Make the image property of hcloud_server optional by @fhofherr
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/499
|
||||
* Implement hcloud_firewall_attachment resource by @fhofherr
|
||||
in https://github.com/hetznercloud/terraform-provider-hcloud/pull/500
|
||||
|
||||
### New Contributors
|
||||
|
||||
* @FloMaetschke made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/494
|
||||
* @dhoppe made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/496
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.32.2...v1.33.0
|
||||
|
||||
## v1.32.2
|
||||
|
||||
### What's Changed
|
||||
|
||||
* server: resource: fix spelling by @xdevs23 in https://github.com/hetznercloud/terraform-provider-hcloud/pull/480
|
||||
* Use our own E2E Test runner by @LKaemmerling in https://github.com/hetznercloud/terraform-provider-hcloud/pull/481
|
||||
* Mark the hcloud_token sensitive by @fhofherr in https://github.com/hetznercloud/terraform-provider-hcloud/pull/479
|
||||
* Fix nil check for RNDSupporter by @fhofherr in https://github.com/hetznercloud/terraform-provider-hcloud/pull/485
|
||||
* fix: typo in docs by @RobertHeim in https://github.com/hetznercloud/terraform-provider-hcloud/pull/486
|
||||
* Adjust tests by @fhofherr in https://github.com/hetznercloud/terraform-provider-hcloud/pull/489
|
||||
* fix: typo by @RobertHeim in https://github.com/hetznercloud/terraform-provider-hcloud/pull/488
|
||||
|
||||
### New Contributors
|
||||
|
||||
* @xdevs23 made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/480
|
||||
* @RobertHeim made their first contribution in https://github.com/hetznercloud/terraform-provider-hcloud/pull/486
|
||||
|
||||
**Full Changelog**: https://github.com/hetznercloud/terraform-provider-hcloud/compare/v1.32.1...v1.32.2
|
||||
|
||||
## v1.32.1
|
||||
|
||||
- ec487e93 Fix failing tests
|
||||
- d10e9f0d Fix firewall deletion
|
||||
|
||||
## v1.32.0
|
||||
|
||||
- af8300cf Case-insensitive comparison of IPv6 addresses
|
||||
- 4adfcfa9 Update hcloud-go to v1.33.0
|
||||
- 9e08f76f hcloud_firewall resource: Remove all resources before deleting the firewall
|
||||
|
||||
## v1.31.1
|
||||
|
||||
- 545375f9 hcloud_server resource: Add computed to firewall_ids
|
||||
|
||||
## v1.31.0
|
||||
|
||||
### What's Changed
|
||||
|
||||
- 3a6384cc Add delete and rebuild protection (#432)
|
||||
- 6eaecafa Add list data source for certificates
|
||||
- 07b1b53e Add list data source for firewall (#445)
|
||||
- 45843b99 Add list data source for floating ips (#448)
|
||||
- 9914e064 Add list data source for images
|
||||
- 21267191 Add list data source for load balancers
|
||||
- eb3bcc0c Add list data source for networks (#452)
|
||||
- a0045237 Add list data source for placement groups (#456)
|
||||
- 333e38ca Add list data source for server (#434)
|
||||
- 3a33c154 Add list data source for volumes
|
||||
- 8de96d9d Allow updating of hcloud_load_balancer_network resource
|
||||
- 14c10006 Deprecate hcloud_load_balancer resource `target` property
|
||||
- 5a7feae8 Do not fail fast on e2e tests
|
||||
- a3023bfc Fix datasources of server and volume (#431)
|
||||
- b02858af Fix firewall apply_to if assigned with server resource (#455)
|
||||
- b595efa6 Fix race condition on server data source test (#446)
|
||||
- ff44ac8e Improve handling of "Error: cannot remove subnet because servers are attached to it"
|
||||
- 86f5c990 Refactor list data source for datacenter (#444)
|
||||
- 984c2e3b Refactor list data source for locations
|
||||
- 32000fcb Refactor list data source for server types
|
||||
- 2c8ad4f4 Refactor list data source for ssh keys (#438)
|
||||
- b5f5073e Remove testing & official support of Terraform < 1.0
|
||||
- 7e4746f1 hcloud_firewall resource & datasource: Add apply_to possibility
|
||||
- 54394aea hcloud_rdns: Fix nil pointer when resource does not exist
|
||||
|
||||
## v1.30.0
|
||||
|
||||
### What's Changed
|
||||
|
||||
- 985c1db9 Add dns ptr support for load balancer
|
||||
- 13421a6a Update docs
|
||||
- ce6982e0 Use go 1.17 for tests & builds
|
||||
|
||||
## v1.29.0
|
||||
|
||||
### What's Changed
|
||||
|
||||
- f0e2e3c1 Fix date format for certificate states
|
||||
- e19f2d76 Placement groups (#426)
|
||||
- 151a0b6a Update hcloud_firewall documentation on how to define port range
|
||||
|
||||
## v1.28.1
|
||||
|
||||
### What's Changed
|
||||
|
||||
- 93059571 Add missing firewall rule description docs
|
||||
- 9abc5d7e Fix firewall rule description
|
||||
|
||||
## v1.28.0
|
||||
|
||||
### What's Changed
|
||||
|
||||
- 92a07cd0 Add description field to firewall rules
|
||||
- a0a90b8f Increase amount of retries on firewall deletion
|
||||
|
||||
## v1.27.2
|
||||
|
||||
### What's Changed
|
||||
|
||||
- f397c38d Add a feature request template
|
||||
- b4619110 Fix hcloud_snapshot resource documentation
|
||||
- 8d204641 Fix spelling and grammar mistakes
|
||||
- 219a6355 Update hcloud-go to v1.28.0
|
||||
|
||||
## v1.27.1
|
||||
|
||||
### What's Changed
|
||||
|
||||
- 71f995bf Add issue template
|
||||
- ad88a85f Add missing docs about the network attribute/argument on hcloud_server and implement the datatransformation
|
||||
of the network for the attribute
|
||||
- 72a5fb48 Add testcase
|
||||
- 449710e9 Add tests for terraform 1.0
|
||||
- 0cfa7c88 Docs: Add missing firewall_ids to hcloud_server resource and datasource
|
||||
- 80ee6fab Docs: Improve documentation for hcloud_firewall resource to include information about port ranges and
|
||||
the `any` keyword (#381)
|
||||
- 8f1c5c16 Docs: Mark example "hcloud_token" variable as sensitive
|
||||
- b941c699 Fix non iso8601 timestamp in hcloud_image datasource
|
||||
- 993b3cd2 Fix tests
|
||||
- e775c362 Generate Changelog with goreleaser
|
||||
- 1795d377 Improve error messages from hcloud-go
|
||||
- 895813eb Improve hcloud_rdns resource documentation and validation of fields `server_id` and `floating_ip_id` that
|
||||
should be mutually exclusive
|
||||
- 3cdd11b4 Increase create timeout for servers and snapshots
|
||||
- 68a3d6a6 Move logic around to make it more readable
|
||||
- faa15532 Network Attachments: Retry on ServiceError and NoSubnetAvailable Error
|
||||
- edbddcfe Update dependencies
|
||||
- 4027dd6f Update terraform SDK to v2.7.0
|
||||
|
||||
## 1.27.0 (June 17, 2021)
|
||||
|
||||
FEATURES:
|
||||
|
||||
* `hcloud_firewall` resource & datasource: Support GRE & ESP protocol in firewall rules
|
||||
|
||||
## 1.26.2 (May 28, 2021)
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
* Fix invalid checksum for release 1.26.1
|
||||
|
||||
## 1.26.1 (May 28, 2021)
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
* `hcloud_firewall` datasource: `destination_ips` missed in definition
|
||||
* `hcloud_certificate` resource: panic when parsing certificate chains
|
||||
(#359)
|
||||
|
||||
## 1.26.0 (March 30, 2021)
|
||||
|
||||
* **New Resource** `hcloud_managed_certificate`
|
||||
* **New Resource** `hcloud_uploaded_certificate`
|
||||
* **Deprecated Resource** `hcloud_certificate`
|
||||
|
||||
## 1.25.2 (March 16, 2021)
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
* `hcloud_firewall` resource: plugin normalized CIDRs silently.
|
||||
|
||||
## 1.25.1 (March 10, 2021)
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
* `hcloud_firewall` documentation: fix name of `firewall_ids` property.
|
||||
|
||||
## 1.25.0 (March 10, 2021)
|
||||
|
||||
FEATURES:
|
||||
|
||||
* **New Resource**: `hcloud_snapshot`
|
||||
* **New Resource**: `hcloud_firewall`
|
||||
* **New Data Source**: `hcloud_firewall`
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
* `hcloud_server` resource: image had a wrong type (int instead of string) when a server was created from a snapshot
|
||||
* `hcloud_load_balancer_target` resource: force recreation when changing a target attribute (server_id, ip or
|
||||
label_selector)
|
||||
|
||||
NOTES:
|
||||
|
||||
* The provider is now built with Go 1.16
|
||||
|
||||
## 1.24.1 (February 04, 2021)
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
* `hcloud_volume` datasource: id is now marked as computed to allow more setups where the id is unknown
|
||||
* `hcloud_ssh_key` datasource: id is now marked as computed to allow more setups where the id is unknown
|
||||
* `hcloud_network` datasource: id is now marked as computed to allow more setups where the id is unknown
|
||||
* `hcloud_image` datasource: id is now marked as computed to allow more setups where the id is unknown
|
||||
* `hcloud_certificate` datasource: id is now marked as computed to allow more setups where the id is unknown
|
||||
* `hcloud_volume` resource: Automount is now working when you attach an already existing volume to a server.
|
||||
|
||||
## 1.24.0 (January 12, 2021)
|
||||
|
||||
FEATURES:
|
||||
|
||||
* **New Datasource**: `hcloud_server_type`
|
||||
* **New Datasource**: `hcloud_server_types`
|
||||
* New `network` property for `hcloud_server` resource.
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
* `hcloud_volume` resource: A race condition was fixed, that was called when you tried to create multiple volumes for a
|
||||
single server
|
||||
* `hcloud_locations` datasource: Use a stable value as IDs instead of a timestamp. We now use a hash of the
|
||||
concatenation of all location IDs as ID
|
||||
* `hcloud_datacenters` datasource: Use a stable value as IDs instead of a timestamp. We now use a hash of the
|
||||
concatenation of all datacenters IDs as ID
|
||||
|
||||
Notes:
|
||||
|
||||
* This release is tested against Terraform 0.13.x and 0.14.x. Testing on 0.12.x was removed, therefore Terraform 0.12.x
|
||||
is no longer officially supported
|
||||
|
||||
## 1.23.0 (November 03, 2020)
|
||||
|
||||
FEATURES:
|
||||
|
||||
* `hcloud_network_subnet` supports vSwitch Subnets
|
||||
|
||||
Notes:
|
||||
|
||||
* The provider was updated to use the Terraform Plugin SDK v2.
|
||||
|
||||
## 1.22.0 (October 05, 2020)
|
||||
|
||||
FEATURES:
|
||||
|
||||
* All `hcloud_*` resources are now importable.
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
* `hcloud_rdns` resource: It is now possible to import the resource as documented.
|
||||
|
||||
## 1.21.0 (September 09, 2020)
|
||||
|
||||
CHANGED:
|
||||
|
||||
* Un-deprecate `network_id` property of `hcloud_load_balancer_network` and
|
||||
`hcloud_server_network` resources.
|
||||
* Change module path from
|
||||
`github.com/terraform-providers/terraform-provider-hcloud` to
|
||||
`github.com/hetznercloud/terraform-provider-hcloud`
|
||||
|
||||
## 1.20.1 (August 18, 2020)
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
* `hcloud_certificate` resource: Updating the certificate needs to recreate the certificate.
|
||||
|
||||
NOTES:
|
||||
|
||||
* The provider is now build with Go 1.15
|
||||
* We overhauled parts of the underlying test suite
|
||||
|
||||
## 1.20.0 (August 10, 2020)
|
||||
|
||||
FEATURES:
|
||||
|
||||
* Allow updating/resizing a Load Balancer through the
|
||||
`load_balancer_type` of `hcloud_load_balancer` resource
|
||||
* Add support for Load Balancer Label Selector and IP targets.
|
||||
|
||||
## 1.19.2 (July 28, 2020)
|
||||
|
||||
CHANGED:
|
||||
|
||||
* Deprecate `network_id` property of `hcloud_server_network` and
|
||||
`hcloud_load_balancer_network` resources. Introduce a `subnet_id`
|
||||
property as replacement.
|
||||
|
||||
Both resources require a subnet to be created. Since `network_id`
|
||||
references the network and not the subnet there is no explicit
|
||||
dependency between those resources. This leads to Terraform creating
|
||||
those resources in parallel, which creates a race condition. Users
|
||||
stuck with the `network_id` property can create an explicit dependency
|
||||
on the subnet using `depends_on` to work around this issue.
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
* Enable and Disable `proxyprotocol` on a Load Balancer didn't work after creation
|
||||
* Deleted all Load Balancer services when you changed the `listen_port` of one service
|
||||
* `hcloud_load_balancer_target` was not idempotent when you add a target that was already defined
|
||||
|
||||
NOTES:
|
||||
|
||||
* Update to hcloud-go v1.19.0 to fix the bad request issue
|
||||
|
||||
## 1.19.1 (July 16, 2020)
|
||||
|
||||
NOTES:
|
||||
|
||||
* First release under new terraform registry
|
||||
* Provider was moved to https://github.com/hetznercloud/terraform-provider-hcloud
|
||||
|
||||
## 1.19.0 (July 10, 2020)
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
* Update to hcloud-go v1.18.2 to fix a conflict issue
|
||||
* Ensure `alias_ip` retain the same order.
|
||||
|
||||
NOTES:
|
||||
|
||||
* This release uses Terraform Plugin SDK v1.15.0.
|
||||
|
||||
## 1.18.1 (July 02, 2020)
|
||||
|
||||
BUG FIXES
|
||||
|
||||
* Set correct defaults for `cookie_name` and `cookie_lifetime`
|
||||
properties of `hcloud_load_balancer_service`.
|
||||
* Remove unsupported `https` protocol from health check documentation.
|
||||
* Force recreate of `hcloud_network` if `ip_range` changes.
|
||||
|
||||
## 1.18.0 (June 30, 2020)
|
||||
|
||||
FEATURES:
|
||||
|
||||
* **New Resource**: `hcloud_load_balancer_target` which allows to add a
|
||||
target to a load balancer. This resource extends the `target` property
|
||||
of the `hcloud_load_balancer` resource. `hcloud_load_balancer_target`
|
||||
should be preferred over the `target` property of
|
||||
`hcloud_load_balancer`.
|
||||
|
||||
## 1.17.0 (June 22, 2020)
|
||||
|
||||
FEATURES:
|
||||
|
||||
* **New Datasource**: `hcloud_load_balancer`
|
||||
* **New Resource**: `hcloud_load_balancer`
|
||||
* **New Resource**: `hcloud_load_balancer_service`
|
||||
* **New Resource**: `hcloud_load_balancer_network`
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
* resources/hcloud_network_route: Fix panic when trying to lookup an already deleted Network route
|
||||
|
||||
## 1.16.0 (March 24, 2020)
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
* resource/hcloud_ssh_key: Fix panic when we update labels in SSH keys
|
||||
* resource/hcloud_server_network: Fix alias ips ignored on creation of server network
|
||||
* resource/hcloud_server: Use first assigned `ipv6_address` as value instead of the network address. **Attention: This
|
||||
can be a breaking change**
|
||||
|
||||
NOTES:
|
||||
|
||||
* This release uses Terraform Plugin SDK v1.8.0.
|
||||
|
||||
## 1.15.0 (November 11, 2019)
|
||||
|
||||
IMPROVEMENTS:
|
||||
|
||||
* resources/hcloud_server: Add retry mechanism for enabling the rescue mode.
|
||||
|
||||
NOTES:
|
||||
|
||||
* This release uses Terraform Plugin SDK v1.3.0.
|
||||
|
||||
## 1.14.0 (October 01, 2019)
|
||||
|
||||
NOTES:
|
||||
|
||||
* This release uses the Terraform Plugin SDK v1.1.0.
|
||||
|
||||
## 1.13.0 (September 19, 2019)
|
||||
|
||||
IMPROVEMENTS:
|
||||
|
||||
* resources/hcloud_floating_ip: Add `name` attribute to get or set the name of a Floating IP.
|
||||
* datasource/hcloud_floating_ip: Add `name` attribute to get Floating IPs by their name.
|
||||
|
||||
NOTES:
|
||||
|
||||
* This release is Terraform 0.12.9+ compatible.
|
||||
* Updated hcloud-go to `v1.16.0`
|
||||
* The provider is now tested and build with Go `1.13`
|
||||
|
||||
## 1.12.0 (July 29, 2019)
|
||||
|
||||
FEATURES:
|
||||
|
||||
* **New Datasource**: `hcloud_ssh_keys` Lookup all SSH keys.
|
||||
|
||||
IMPROVEMENTS:
|
||||
|
||||
* resources/hcloud_server_network: Add `mac_address` attribute to get the mac address of the Network interface.
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
* Fix an error on server creation, when an iso id was given instead of an iso name.
|
||||
|
||||
NOTES:
|
||||
|
||||
* This release is Terraform 0.12.5+ compatible.
|
||||
* Updated hcloud-go to `v1.15.1`
|
||||
* Added hcloud-go request debugging when using `TF_LOG`.
|
||||
|
||||
## 1.11.0 (July 10, 2019)
|
||||
|
||||
FEATURES:
|
||||
|
||||
* **New Resource**: `hcloud_network` Manage Networks.
|
||||
* **New Resource**: `hcloud_network_subnet` Manage Networks Subnets.
|
||||
* **New Resource**: `hcloud_network_route` Manage Networks Routes.
|
||||
* **New Resource**: `hcloud_server_network` Manage attachment between servers and Networks.
|
||||
* **New Datasource**: `hcloud_network` Lookup Networks.
|
||||
|
||||
## 1.10.0 (May 14, 2019)
|
||||
|
||||
NOTES:
|
||||
|
||||
* This release is Terraform 0.12-RC1+ compatible.
|
||||
|
||||
## 1.9.0 (March 15, 2019)
|
||||
|
||||
IMPROVEMENTS:
|
||||
|
||||
* datasource/hcloud_server: Add `with_status` attribute to get images by their status.
|
||||
* datasource/hcloud_image: Add `with_status` attribute to get servers by their status.
|
||||
* datasource/hcloud_volume: Add `with_status` attribute to get volumes by their status.
|
||||
|
||||
* Added `with_selector` to all datasources that support label selectors.
|
||||
|
||||
NOTES:
|
||||
|
||||
* **Deprecation**: datasource/hcloud_server: `selector`, will be removed in the near future.
|
||||
* **Deprecation**: datasource/hcloud_floating_ip: `selector`, will be removed in the near future.
|
||||
* **Deprecation**: datasource/hcloud_image: `selector`, will be removed in the near future.
|
||||
* **Deprecation**: datasource/hcloud_ssh_key: `selector`, will be removed in the near future.
|
||||
* **Deprecation**: datasource/hcloud_volume: `selector`, will be removed in the near future.
|
||||
|
||||
## 1.8.1 (March 12, 2019)
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
* Fix an error on server creation, when a image id was given instead of a image name.
|
||||
* Fix an missing error on `terraform plan`, when using an image name which does not exists.
|
||||
|
||||
## 1.8.0 (February 06, 2019)
|
||||
|
||||
FEATURES:
|
||||
|
||||
* **New Datasource**: `hcloud_server` Lookup a server.
|
||||
|
||||
IMPROVEMENTS:
|
||||
|
||||
* Add API token length validation
|
||||
|
||||
## 1.7.0 (December 18, 2018)
|
||||
|
||||
FEATURES:
|
||||
|
||||
* **New Datasource**: `hcloud_location` Lookup a location.
|
||||
* **New Datasource**: `hcloud_locations` Lookup all locations.
|
||||
* **New Datasource**: `hcloud_datacenter` Lookup a datacenter.
|
||||
* **New Datasource**: `hcloud_datacenters` Lookup all datacenters.
|
||||
* Volume Automounting is now available for `hcloud_volume` and `hcloud_volume_attachment`
|
||||
|
||||
## 1.6.0 (December 03, 2018)
|
||||
|
||||
IMPROVEMENTS:
|
||||
|
||||
* datasource/hcloud_image: Add `most_recent` attribute to get the latest image when multiple images has the same label.
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
* Fix an error on volume_attachment creation, when server was locked.
|
||||
|
||||
## 1.5.0 (November 16, 2018)
|
||||
|
||||
FEATURES:
|
||||
|
||||
* **New Resource**: `hcloud_volume_attachment` Manage the attachment between volumes and servers.
|
||||
|
||||
IMPROVEMENTS:
|
||||
|
||||
* resources/hcloud_server: Add `backups` attribute to enable or disable backups.
|
||||
|
||||
NOTES:
|
||||
|
||||
* **Read Only**: resources/hcloud_server: `backup_window`, removed the ability to set the attribute. This attribute is
|
||||
now read only.
|
||||
* Updated hcloud-go to `v1.11.0`
|
||||
|
||||
## 1.4.0 (October 18, 2018)
|
||||
|
||||
FEATURES:
|
||||
|
||||
* **New Resource**: `hcloud_volume` Manage volumes.
|
||||
* **New Datasource**: `hcloud_volume` Lookup volumes.
|
||||
|
||||
NOTES:
|
||||
|
||||
* **Deprecation**: resource/hcloud_server: `backup_window`, will be removed in the near future.
|
||||
|
||||
## 1.3.0 (September 12, 2018)
|
||||
|
||||
FEATURES:
|
||||
|
||||
- **New Resource**: `hcloud_rnds` Manage reverse DNS entries for servers and Floating IPs.
|
||||
|
||||
* **New Resource**: `hcloud_floating_ip_assignment` Manage the association between Floating IPs and servers.
|
||||
|
||||
- **New Datasource**: `hcloud_floating_ip` Lookup Floating ips.
|
||||
- **New Datasource**: `hcloud_image` Lookup images.
|
||||
- **New Datasource**: `hcloud_ssh_key` Lookup SSH Keys.
|
||||
- **New Provider Config**: `poll_interval` Configures the interval in which actions are polled by the client.
|
||||
Default `500ms`. Increase this interval if you run into rate limiting errors.
|
||||
|
||||
IMPROVEMENTS:
|
||||
|
||||
* resource/hcloud_server: Add `ipv6_network` attribute.
|
||||
|
||||
NOTES:
|
||||
|
||||
* Updated hcloud-go to `v1.9.0`
|
||||
|
||||
## 1.2.0 (June 07, 2018)
|
||||
|
||||
NOTES:
|
||||
|
||||
* Switched from MIT licence to MPL2
|
||||
* removed `reverse_dns` property of `hcloud_floating_ip`, because it was not useable,
|
||||
see https://github.com/hetznercloud/terraform-provider-hcloud/issues/32
|
||||
* improved test coverage
|
||||
* updated terraform to `v0.11.7`
|
||||
* updated hcloud-go to `v1.6.0`
|
||||
* added log when waiting for an action to complete
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
* delete records from state that are invalid or are not found by the server
|
||||
* resource update methods return the result of the read method
|
||||
|
||||
## 1.1.0 (March 2, 2018)
|
||||
|
||||
* Save hashsum of `user_data`, existing state is migrated
|
||||
* update hcloud-go to v1.4.0
|
||||
* update terraform from v0.11.2 to v0.11.3
|
||||
|
||||
## 1.0.0 (January 30, 2018)
|
||||
|
||||
* Initial release
|
|
@ -1,373 +0,0 @@
|
|||
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.
|
|
@ -1,81 +0,0 @@
|
|||
Terraform Provider for the Hetzner Cloud
|
||||
==================
|
||||
[![GitHub release](https://img.shields.io/github/tag/hetznercloud/terraform-provider-hcloud.svg?label=release)](https://github.com/hetznercloud/terraform-provider-hcloud/releases/latest) [![Actions Status](https://github.com/hetznercloud/terraform-provider-hcloud/workflows/test/badge.svg)](https://github.com/hetznercloud/terraform-provider-hcloud/actions)[![Actions Status](https://github.com/hetznercloud/terraform-provider-hcloud/workflows/release/badge.svg)](https://github.com/hetznercloud/terraform-provider-hcloud/actions)
|
||||
|
||||
- Website: https://www.terraform.io
|
||||
- Documentation: https://www.terraform.io/docs/providers/hcloud/index.html
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
- [Terraform](https://www.terraform.io/downloads.html) 1.2.x
|
||||
- [Go](https://golang.org/doc/install) 1.21.x (to build the provider plugin)
|
||||
|
||||
API Stability
|
||||
-------------
|
||||
|
||||
This Go module implements a Terraform Provider for Hetzner Cloud
|
||||
Services. We thus guarantee backwards compatibility only for use through
|
||||
Terraform HCL. The actual *Go code* in this repository *may change
|
||||
without a major version increase*.
|
||||
|
||||
Currently the code is mostly located in the `hcloud` package. In the
|
||||
long term we want to move most of the `hcloud` package into individual
|
||||
sub-packages located in the `internal` directory. The goal is a
|
||||
structure similar to HashiCorp's [Terraform Provider
|
||||
Scaffolding](https://github.com/hashicorp/terraform-provider-scaffolding)
|
||||
|
||||
Building the provider
|
||||
---------------------
|
||||
|
||||
Clone repository to: `$GOPATH/src/github.com/hetznercloud/terraform-provider-hcloud`
|
||||
|
||||
```sh
|
||||
$ mkdir -p $GOPATH/src/github.com/hetznercloud; cd $GOPATH/src/github.com/hetznercloud
|
||||
$ git clone https://github.com/hetznercloud/terraform-provider-hcloud.git
|
||||
```
|
||||
|
||||
Enter the provider directory and build the provider
|
||||
|
||||
```sh
|
||||
$ cd $GOPATH/src/github.com/hetznercloud/terraform-provider-hcloud
|
||||
$ make build
|
||||
```
|
||||
|
||||
Using the provider
|
||||
----------------------
|
||||
|
||||
if you are building the provider, follow the instructions
|
||||
to [install it as a plugin](https://www.terraform.io/docs/plugins/basics.html#installing-a-plugin). After placing it
|
||||
into your plugins directory, run `terraform init` to initialize it.
|
||||
|
||||
Developing the provider
|
||||
---------------------------
|
||||
|
||||
If you wish to work on the provider, you'll first need [Go](http://www.golang.org) installed on your machine (version
|
||||
1.14+ is *required*). You'll also need to correctly setup a [GOPATH](http://golang.org/doc/code.html#GOPATH), as well as
|
||||
adding `$GOPATH/bin` to your `$PATH`.
|
||||
|
||||
To compile the provider, run `make build`. This will build the provider and put the provider binary in the `$GOPATH/bin`
|
||||
directory.
|
||||
|
||||
```sh
|
||||
$ make build
|
||||
...
|
||||
$ ./bin/terraform-provider-hcloud
|
||||
...
|
||||
```
|
||||
|
||||
In order to test the provider, you can simply run `make test`.
|
||||
|
||||
```sh
|
||||
$ make test
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
```
|
||||
$ make testacc
|
||||
```
|
Binary file not shown.
|
@ -1,21 +0,0 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2022 INWX GmbH
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
|
@ -1,23 +0,0 @@
|
|||
<p align="center">
|
||||
<a href="https://www.inwx.com/en/" target="_blank">
|
||||
<img src="https://www.inwx.com/images/logos/inwx.png">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
INWX Terraform Provider
|
||||
=========
|
||||
|
||||
INWX Terraform Provider is a plugin for Terraform that allows registration and management of domains and their domain
|
||||
contacts. This plugin is on Terraform Registry: https://registry.terraform.io/providers/inwx/inwx
|
||||
|
||||
Documentation
|
||||
------
|
||||
You can find a detailed description of the provider and all resources under [docs/](docs/) or
|
||||
at https://registry.terraform.io/providers/inwx/inwx/.
|
||||
|
||||
-------
|
||||
|
||||
License
|
||||
----
|
||||
|
||||
MIT
|
Binary file not shown.
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
"version": 3,
|
||||
"serial": 2,
|
||||
"lineage": "3662e5d7-e7e5-f9ea-e875-0f2e3bd10e6e",
|
||||
"backend": {
|
||||
"type": "cloud",
|
||||
"config": {
|
||||
"hostname": null,
|
||||
"organization": "2martens",
|
||||
"token": null,
|
||||
"workspaces": {
|
||||
"name": "cloud-configuration",
|
||||
"tags": null
|
||||
}
|
||||
},
|
||||
"hash": 672130769
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"path": [
|
||||
"root"
|
||||
],
|
||||
"outputs": {},
|
||||
"resources": {},
|
||||
"depends_on": []
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
output "ansible_inventory" {
|
||||
value = templatefile("${path.module}/inventory.tftpl", {
|
||||
devops = hcloud_server.server_devops.ipv4_address, k8s_servers = [hcloud_server.server_k8s_test.ipv4_address]
|
||||
})
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
#cloud-config
|
||||
users:
|
||||
- name: 2martensAdmin
|
||||
groups: users, admin
|
||||
sudo: ALL=(ALL) NOPASSWD:ALL
|
||||
shell: /bin/bash
|
||||
ssh_authorized_keys:
|
||||
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBjYkz73HbsFtRAOfS5QB9xDbOajU9C4gpDp+OjQkLir 2martens@Jims-Air.fritz.box"
|
||||
packages:
|
||||
- fail2ban
|
||||
- ufw
|
||||
package_update: true
|
||||
package_upgrade: true
|
||||
runcmd:
|
||||
- printf "[sshd]\nenabled = true\nbanaction = iptables-multiport" > /etc/fail2ban/jail.local
|
||||
- systemctl enable fail2ban
|
||||
- ufw allow OpenSSH
|
||||
- ufw enable
|
||||
- sed -i -e '/^\(#\|\)PermitRootLogin/s/^.*$/PermitRootLogin no/' /etc/ssh/sshd_config
|
||||
- sed -i -e '/^\(#\|\)PasswordAuthentication/s/^.*$/PasswordAuthentication no/' /etc/ssh/sshd_config
|
||||
- sed -i -e '/^\(#\|\)X11Forwarding/s/^.*$/X11Forwarding no/' /etc/ssh/sshd_config
|
||||
- sed -i -e '/^\(#\|\)MaxAuthTries/s/^.*$/MaxAuthTries 2/' /etc/ssh/sshd_config
|
||||
- sed -i -e '/^\(#\|\)AllowTcpForwarding/s/^.*$/AllowTcpForwarding no/' /etc/ssh/sshd_config
|
||||
- sed -i -e '/^\(#\|\)AllowAgentForwarding/s/^.*$/AllowAgentForwarding no/' /etc/ssh/sshd_config
|
||||
- sed -i -e '/^\(#\|\)AuthorizedKeysFile/s/^.*$/AuthorizedKeysFile .ssh\/authorized_keys/' /etc/ssh/sshd_config
|
||||
- sed -i '$a AllowUsers 2martensAdmin' /etc/ssh/sshd_config
|
||||
- curl https://packages.hetzner.com/hcloud/deb/hc-utils_0.0.4-1_all.deb -o /tmp/hc-utils_0.0.4-1_all.deb -s
|
||||
- apt install /tmp/hc-utils_0.0.4-1_all.deb
|
||||
- reboot
|
|
@ -1,145 +0,0 @@
|
|||
locals {
|
||||
domain_period = "1Y"
|
||||
domain_renewal = "AUTORENEW"
|
||||
}
|
||||
|
||||
resource "inwx_domain_contact" "admin" {
|
||||
// contact configuration
|
||||
type = "PERSON"
|
||||
name = var.admin_name
|
||||
street_address = var.admin_street
|
||||
city = var.admin_city
|
||||
postal_code = var.admin_postal_code
|
||||
country_code = var.admin_country_code
|
||||
phone_number = var.admin_phone_number
|
||||
email = var.admin_email
|
||||
whois_protection = true
|
||||
}
|
||||
|
||||
resource "inwx_domain" "twomartens_de" {
|
||||
name = "2martens.de"
|
||||
nameservers = [
|
||||
"ns.inwx.de",
|
||||
"ns2.inwx.de",
|
||||
"ns3.inwx.eu"
|
||||
]
|
||||
period = local.domain_period
|
||||
renewal_mode = local.domain_renewal
|
||||
transfer_lock = true
|
||||
contacts {
|
||||
// references to terraform managed contact "example_person"
|
||||
registrant = inwx_domain_contact.admin.id
|
||||
admin = inwx_domain_contact.admin.id
|
||||
tech = 1
|
||||
billing = 1
|
||||
}
|
||||
}
|
||||
|
||||
resource "inwx_domain" "twomartens_eu" {
|
||||
name = "2martens.eu"
|
||||
nameservers = [
|
||||
"ns.inwx.de",
|
||||
"ns2.inwx.de",
|
||||
"ns3.inwx.eu"
|
||||
]
|
||||
period = local.domain_period
|
||||
renewal_mode = local.domain_renewal
|
||||
transfer_lock = true
|
||||
contacts {
|
||||
// references to terraform managed contact "example_person"
|
||||
registrant = inwx_domain_contact.admin.id
|
||||
admin = inwx_domain_contact.admin.id
|
||||
tech = 1
|
||||
billing = 1
|
||||
}
|
||||
extra_data = {
|
||||
"EU-COUNTRY-OF-CITIZENSHIP" : "DE"
|
||||
}
|
||||
}
|
||||
|
||||
// NS records
|
||||
resource "inwx_nameserver_record" "twomartens_de_ns1" {
|
||||
domain = "2martens.de"
|
||||
name = "2martens.de"
|
||||
content = "ns.inwx.de"
|
||||
type = "NS"
|
||||
ttl = 86400
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_de_ns2" {
|
||||
domain = "2martens.de"
|
||||
name = "2martens.de"
|
||||
content = "ns2.inwx.de"
|
||||
type = "NS"
|
||||
ttl = 86400
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_de_ns3" {
|
||||
domain = "2martens.de"
|
||||
name = "2martens.de"
|
||||
content = "ns3.inwx.eu"
|
||||
type = "NS"
|
||||
ttl = 86400
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_eu_ns1" {
|
||||
domain = "2martens.eu"
|
||||
name = "2martens.eu"
|
||||
content = "ns.inwx.de"
|
||||
type = "NS"
|
||||
ttl = 86400
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_eu_ns2" {
|
||||
domain = "2martens.eu"
|
||||
name = "2martens.eu"
|
||||
content = "ns2.inwx.de"
|
||||
type = "NS"
|
||||
ttl = 86400
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_eu_ns3" {
|
||||
domain = "2martens.eu"
|
||||
name = "2martens.eu"
|
||||
content = "ns3.inwx.eu"
|
||||
type = "NS"
|
||||
ttl = 86400
|
||||
}
|
||||
|
||||
// SOAs
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_de_soa" {
|
||||
domain = "2martens.de"
|
||||
name = "2martens.de"
|
||||
content = "ns.inwx.de hostmaster.inwx.de 2023103008 10800 3600 604800 3600"
|
||||
type = "SOA"
|
||||
ttl = 86400
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_eu_soa" {
|
||||
domain = "2martens.eu"
|
||||
name = "2martens.eu"
|
||||
content = "ns.inwx.de hostmaster.inwx.de 2023103001 10800 3600 604800 3600"
|
||||
type = "SOA"
|
||||
ttl = 86400
|
||||
}
|
||||
|
||||
// redirect 2martens.eu to 2martens.de
|
||||
resource "inwx_nameserver_record" "twomartens_eu_root_redirect" {
|
||||
domain = "2martens.eu"
|
||||
name = "2martens.eu"
|
||||
content = "https://2martens.de"
|
||||
type = "URL"
|
||||
url_redirect_type = "HEADER301"
|
||||
prio = 301
|
||||
ttl = 3600
|
||||
}
|
||||
resource "inwx_nameserver_record" "twomartens_eu_www_redirect" {
|
||||
domain = "2martens.eu"
|
||||
name = "www.2martens.eu"
|
||||
content = "https://2martens.de"
|
||||
type = "URL"
|
||||
url_redirect_type = "HEADER301"
|
||||
prio = 301
|
||||
ttl = 3600
|
||||
}
|
|
@ -1,230 +0,0 @@
|
|||
// data sources
|
||||
|
||||
data "hcloud_location" "falkenstein" {
|
||||
name = "fsn1"
|
||||
}
|
||||
|
||||
data "hcloud_location" "nuremberg" {
|
||||
name = "nbg1"
|
||||
}
|
||||
|
||||
data "hcloud_datacenter" "falkenstein" {
|
||||
name = "fsn1-dc14"
|
||||
}
|
||||
|
||||
data "hcloud_datacenter" "nuremberg" {
|
||||
name = "nbg1-dc3"
|
||||
}
|
||||
|
||||
data "hcloud_ssh_key" "macos" {
|
||||
name = "2martens@Jims-Air.fritz.box"
|
||||
}
|
||||
|
||||
data "hcloud_placement_group" "default" {
|
||||
name = "default"
|
||||
}
|
||||
|
||||
// common resources
|
||||
|
||||
resource "hcloud_network" "kubernetes-network" {
|
||||
name = "kubernetes"
|
||||
ip_range = "10.0.0.0/8"
|
||||
}
|
||||
|
||||
resource "hcloud_network_subnet" "k8s-network-subnet" {
|
||||
type = "cloud"
|
||||
network_id = hcloud_network.kubernetes-network.id
|
||||
network_zone = "eu-central"
|
||||
ip_range = "10.0.0.0/16"
|
||||
}
|
||||
|
||||
resource "hcloud_network_route" "k8s-route" {
|
||||
network_id = hcloud_network.kubernetes-network.id
|
||||
destination = "10.1.0.0/16"
|
||||
gateway = "10.0.0.2"
|
||||
depends_on = [hcloud_network_subnet.k8s-network-subnet]
|
||||
}
|
||||
|
||||
resource "hcloud_firewall" "basic-firewall" {
|
||||
name = "basic-firewall"
|
||||
rule {
|
||||
direction = "in"
|
||||
protocol = "tcp"
|
||||
port = "22"
|
||||
description = "allow SSH"
|
||||
source_ips = [
|
||||
"0.0.0.0/0",
|
||||
"::/0",
|
||||
]
|
||||
}
|
||||
|
||||
rule {
|
||||
direction = "in"
|
||||
protocol = "tcp"
|
||||
port = "80"
|
||||
description = "allow HTTP"
|
||||
source_ips = [
|
||||
"0.0.0.0/0",
|
||||
"::/0",
|
||||
]
|
||||
}
|
||||
|
||||
rule {
|
||||
direction = "in"
|
||||
protocol = "tcp"
|
||||
port = "443"
|
||||
description = "allow HTTPS"
|
||||
source_ips = [
|
||||
"0.0.0.0/0",
|
||||
"::/0",
|
||||
]
|
||||
}
|
||||
|
||||
rule {
|
||||
direction = "in"
|
||||
protocol = "icmp"
|
||||
description = "allow ICMP"
|
||||
source_ips = [
|
||||
"0.0.0.0/0",
|
||||
"::/0",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
resource "hcloud_firewall_attachment" "basic-firewall_attachment" {
|
||||
firewall_id = hcloud_firewall.basic-firewall.id
|
||||
server_ids = [hcloud_server.server_devops.id, hcloud_server.server_k8s_test.id]
|
||||
}
|
||||
|
||||
resource "hcloud_firewall" "k8s-firewall" {
|
||||
name = "k8s-firewall"
|
||||
rule {
|
||||
direction = "in"
|
||||
protocol = "tcp"
|
||||
port = "16443"
|
||||
description = "Access Kubernetes"
|
||||
source_ips = [
|
||||
"0.0.0.0/0",
|
||||
"::/0",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
resource "hcloud_firewall_attachment" "k8s-firewall_attachment" {
|
||||
firewall_id = hcloud_firewall.k8s-firewall.id
|
||||
server_ids = [hcloud_server.server_k8s_test.id]
|
||||
}
|
||||
|
||||
// servers
|
||||
resource "hcloud_primary_ip" "primary_ipv4_devops" {
|
||||
name = "primary_ipv4_devops"
|
||||
datacenter = data.hcloud_datacenter.falkenstein.name
|
||||
type = "ipv4"
|
||||
assignee_type = "server"
|
||||
auto_delete = false
|
||||
}
|
||||
|
||||
resource "hcloud_primary_ip" "primary_ipv6_devops" {
|
||||
name = "primary_ipv6_devops"
|
||||
datacenter = data.hcloud_datacenter.falkenstein.name
|
||||
type = "ipv6"
|
||||
assignee_type = "server"
|
||||
auto_delete = false
|
||||
}
|
||||
|
||||
resource "hcloud_server" "server_devops" {
|
||||
name = "devops"
|
||||
image = "ubuntu-22.04"
|
||||
allow_deprecated_images = false
|
||||
server_type = "cax21"
|
||||
location = data.hcloud_location.falkenstein.name
|
||||
public_net {
|
||||
ipv4_enabled = true
|
||||
ipv4 = hcloud_primary_ip.primary_ipv4_devops.id
|
||||
ipv6_enabled = true
|
||||
ipv6 = hcloud_primary_ip.primary_ipv6_devops.id
|
||||
}
|
||||
ignore_remote_firewall_ids = false
|
||||
keep_disk = false
|
||||
placement_group_id = data.hcloud_placement_group.default.id
|
||||
labels = {
|
||||
"apache" : "yes",
|
||||
"docker" : "yes",
|
||||
"drone" : "yes"
|
||||
}
|
||||
firewall_ids = [hcloud_firewall.basic-firewall.id]
|
||||
ssh_keys = [data.hcloud_ssh_key.macos.id]
|
||||
user_data = file("cloud-init.yaml")
|
||||
shutdown_before_deletion = true
|
||||
|
||||
lifecycle {
|
||||
ignore_changes = [ssh_keys, user_data]
|
||||
}
|
||||
}
|
||||
|
||||
resource "hcloud_primary_ip" "primary_ipv4_k8s_test" {
|
||||
name = "primary_ipv4_applications"
|
||||
datacenter = data.hcloud_datacenter.falkenstein.name
|
||||
type = "ipv4"
|
||||
assignee_type = "server"
|
||||
auto_delete = false
|
||||
}
|
||||
|
||||
resource "hcloud_primary_ip" "primary_ipv6_k8s_test" {
|
||||
name = "primary_ipv6_applications"
|
||||
datacenter = data.hcloud_datacenter.falkenstein.name
|
||||
type = "ipv6"
|
||||
assignee_type = "server"
|
||||
auto_delete = false
|
||||
}
|
||||
|
||||
resource "hcloud_server" "server_k8s_test" {
|
||||
name = "applications"
|
||||
image = "ubuntu-22.04"
|
||||
allow_deprecated_images = false
|
||||
server_type = "cax21"
|
||||
location = data.hcloud_location.falkenstein.name
|
||||
public_net {
|
||||
ipv4_enabled = true
|
||||
ipv4 = hcloud_primary_ip.primary_ipv4_k8s_test.id
|
||||
ipv6_enabled = true
|
||||
ipv6 = hcloud_primary_ip.primary_ipv6_k8s_test.id
|
||||
}
|
||||
ignore_remote_firewall_ids = false
|
||||
keep_disk = false
|
||||
placement_group_id = data.hcloud_placement_group.default.id
|
||||
labels = {
|
||||
"kubernetes" : "yes"
|
||||
}
|
||||
firewall_ids = [hcloud_firewall.basic-firewall.id, hcloud_firewall.k8s-firewall.id]
|
||||
ssh_keys = [data.hcloud_ssh_key.macos.id]
|
||||
user_data = file("cloud-init.yaml")
|
||||
shutdown_before_deletion = true
|
||||
|
||||
network {
|
||||
network_id = hcloud_network.kubernetes-network.id
|
||||
ip = "10.0.0.2"
|
||||
alias_ips = []
|
||||
}
|
||||
|
||||
lifecycle {
|
||||
ignore_changes = [ssh_keys, user_data]
|
||||
}
|
||||
|
||||
depends_on = [hcloud_network_subnet.k8s-network-subnet]
|
||||
}
|
||||
|
||||
module "drone_domain" {
|
||||
source = "./modules/domain"
|
||||
domain = "2martens.de"
|
||||
subdomain = "ci"
|
||||
ipv4 = "49.12.69.146"
|
||||
ipv6 = "2a01:4f8:c012:1fef::1"
|
||||
}
|
||||
resource "inwx_nameserver_record" "twomartens_de_ci-ownercheck_txt" {
|
||||
domain = "2martens.de"
|
||||
name = "ownercheck.ci.2martens.de"
|
||||
content = "e1eb600b"
|
||||
type = "TXT"
|
||||
ttl = 3600
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
module "argocd_domain" {
|
||||
source = "./modules/domain"
|
||||
domain = "2martens.de"
|
||||
subdomain = "argocd"
|
||||
ipv4 = "49.13.77.70"
|
||||
ipv6 = "2a01:4f8:c012:4d25::1"
|
||||
}
|
||||
|
||||
module "api_domain" {
|
||||
source = "./modules/domain"
|
||||
domain = "2martens.de"
|
||||
subdomain = "api"
|
||||
ipv4 = "49.13.77.70"
|
||||
ipv6 = "2a01:4f8:c012:4d25::1"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
[kubernetes]
|
||||
%{ for ip in k8s_servers ~}
|
||||
${ip} ansible_python_interpreter=/usr/bin/python3
|
||||
%{ endfor ~}
|
||||
|
||||
[ci]
|
||||
${devops} ansible_python_interpreter=/usr/bin/python3
|
|
@ -1,19 +0,0 @@
|
|||
terraform {
|
||||
cloud {
|
||||
organization = "2martens"
|
||||
|
||||
workspaces {
|
||||
name = "cloud-configuration"
|
||||
}
|
||||
}
|
||||
required_providers {
|
||||
inwx = {
|
||||
source = "inwx/inwx"
|
||||
version = "1.3.2"
|
||||
}
|
||||
hcloud = {
|
||||
source = "hetznercloud/hcloud"
|
||||
version = "1.44.1"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
terraform {
|
||||
required_providers {
|
||||
inwx = {
|
||||
source = "inwx/inwx"
|
||||
version = "1.3.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "a" {
|
||||
domain = var.domain
|
||||
name = var.subdomain != "" ? format("%s.%s", var.subdomain, var.domain) : var.domain
|
||||
content = var.ipv4
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
resource "inwx_nameserver_record" "aaaa" {
|
||||
domain = var.domain
|
||||
name = var.subdomain != "" ? format("%s.%s", var.subdomain, var.domain) : var.domain
|
||||
content = var.ipv6
|
||||
type = "AAAA"
|
||||
ttl = 3600
|
||||
}
|
||||
resource "inwx_nameserver_record" "mx" {
|
||||
domain = var.domain
|
||||
name = var.subdomain != "" ? format("%s.%s", var.subdomain, var.domain) : var.domain
|
||||
content = var.hostName
|
||||
type = "MX"
|
||||
prio = var.mxPrio
|
||||
ttl = 3600
|
||||
count = var.hasMXRecord ? 1 : 0
|
||||
}
|
||||
resource "inwx_nameserver_record" "mx-spf" {
|
||||
domain = var.domain
|
||||
name = var.subdomain != "" ? format("%s.%s", var.subdomain, var.domain) : var.domain
|
||||
content = var.mxSpf
|
||||
type = "TXT"
|
||||
ttl = 3600
|
||||
count = var.hasMXRecord ? 1 : 0
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
variable "ipv4" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "ipv6" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "domain" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "subdomain" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "hasMXRecord" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "hostName" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
|
||||
variable "mxPrio" {
|
||||
type = number
|
||||
default = 0
|
||||
}
|
||||
|
||||
variable "mxSpf" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
|
@ -1,116 +0,0 @@
|
|||
// A records
|
||||
resource "inwx_nameserver_record" "twomartens_de_allris_a" {
|
||||
domain = "2martens.de"
|
||||
name = "allris.2martens.de"
|
||||
content = "185.26.156.105"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_de_autoconfig_a" {
|
||||
domain = "2martens.de"
|
||||
name = "autoconfig.2martens.de"
|
||||
content = "185.26.156.22"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_de_autodiscover_a" {
|
||||
domain = "2martens.de"
|
||||
name = "autodiscover.2martens.de"
|
||||
content = "185.26.156.22"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_de_jim_a" {
|
||||
domain = "2martens.de"
|
||||
name = "jim.2martens.de"
|
||||
content = "185.26.156.65"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_de_pad_a" {
|
||||
domain = "2martens.de"
|
||||
name = "pad.2martens.de"
|
||||
content = "185.26.156.132"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_de_short_a" {
|
||||
domain = "2martens.de"
|
||||
name = "short.2martens.de"
|
||||
content = "95.143.172.56"
|
||||
type = "A"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
// AAAA records
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_de_allris_aaaa" {
|
||||
domain = "2martens.de"
|
||||
name = "allris.2martens.de"
|
||||
content = "2a00:d0c0:200:0:b9:1a:9c:61"
|
||||
type = "AAAA"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_de_autoconfig_aaaa" {
|
||||
domain = "2martens.de"
|
||||
name = "autoconfig.2martens.de"
|
||||
content = "2a00:d0c0:200:0:b9:1a:9c16:5d"
|
||||
type = "AAAA"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_de_autodiscover_aaaa" {
|
||||
domain = "2martens.de"
|
||||
name = "autodiscover.2martens.de"
|
||||
content = "2a00:d0c0:200:0:b9:1a:9c16:5d"
|
||||
type = "AAAA"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_de_jim_aaaa" {
|
||||
domain = "2martens.de"
|
||||
name = "jim.2martens.de"
|
||||
content = "2a00:d0c0:200:0:b9:1a:9c:40"
|
||||
type = "AAAA"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_de_pad_aaaa" {
|
||||
domain = "2martens.de"
|
||||
name = "pad.2martens.de"
|
||||
content = "2a00:d0c0:200:0:c0bf:e0ff:fec1:af72"
|
||||
type = "AAAA"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_de_short_aaaa" {
|
||||
domain = "2martens.de"
|
||||
name = "short.2martens.de"
|
||||
content = "2001:1a50:11:0:3854:d4ff:fe62:e0d8"
|
||||
type = "AAAA"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
// CNAME records
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_de_cdn_cname" {
|
||||
domain = "2martens.de"
|
||||
name = "cdn.2martens.de"
|
||||
content = "d1fvxyvcoii67h.cloudfront.net"
|
||||
type = "CNAME"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
resource "inwx_nameserver_record" "twomartens_de_aws-validations-cdn_cname" {
|
||||
domain = "2martens.de"
|
||||
name = "_4741e2d9c8a605950eebfa048029e4ef.cdn.2martens.de"
|
||||
content = "_cf71e85bb40cc12717f2718e4590ad23.acm-validations.aws"
|
||||
type = "CNAME"
|
||||
ttl = 3600
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
provider "inwx" {
|
||||
api_url = "https://api.domrobot.com/jsonrpc/"
|
||||
username = var.inwx_user
|
||||
password = var.inwx_password
|
||||
}
|
||||
|
||||
provider "hcloud" {
|
||||
token = var.hcloud_token
|
||||
}
|
|
@ -1,89 +0,0 @@
|
|||
// Identity management
|
||||
module "keycloak_domain" {
|
||||
source = "./modules/domain"
|
||||
domain = "2martens.de"
|
||||
subdomain = "id"
|
||||
ipv4 = "95.143.172.184"
|
||||
ipv6 = "2001:1a50:11:0:98b3:92ff:fe3e:bba1"
|
||||
hasMXRecord = true
|
||||
hostName = "monoceres.uberspace.de"
|
||||
mxPrio = 0
|
||||
mxSpf = "v=spf1 include:spf.uberspace.de ~all"
|
||||
}
|
||||
|
||||
// Angular frontends
|
||||
module "wahlrecht_domain" {
|
||||
source = "./modules/domain"
|
||||
domain = "2martens.de"
|
||||
subdomain = "wahlrecht"
|
||||
ipv4 = "185.26.156.43"
|
||||
ipv6 = "2a00:d0c0:200:0:470:9fff:fe83:16bc"
|
||||
}
|
||||
|
||||
// CI/CD
|
||||
module "gitea_domain" {
|
||||
source = "./modules/domain"
|
||||
domain = "2martens.de"
|
||||
subdomain = "git"
|
||||
ipv4 = "185.26.156.91"
|
||||
ipv6 = "2a00:d0c0:200:0:b9:1a:9c:5a"
|
||||
}
|
||||
|
||||
module "helm-repo_domain" {
|
||||
source = "./modules/domain"
|
||||
domain = "2martens.de"
|
||||
subdomain = "repo"
|
||||
ipv4 = "185.26.156.49"
|
||||
ipv6 = "2a00:d0c0:200:0:2ca6:bff:fe78:832f"
|
||||
}
|
||||
|
||||
// Monitoring
|
||||
module "statping_domain" {
|
||||
source = "./modules/domain"
|
||||
domain = "2martens.de"
|
||||
subdomain = "status"
|
||||
ipv4 = "185.26.156.33"
|
||||
ipv6 = "2a00:d0c0:200:0:f8e2:6fff:fec2:7a92"
|
||||
}
|
||||
|
||||
// Personal Website
|
||||
module "personal_website_domain" {
|
||||
source = "./modules/domain"
|
||||
domain = "2martens.de"
|
||||
subdomain = ""
|
||||
ipv4 = "185.26.156.65"
|
||||
ipv6 = "2a00:d0c0:200:0:b9:1a:9c:40"
|
||||
hasMXRecord = true
|
||||
hostName = "howell.uberspace.de"
|
||||
mxPrio = 10
|
||||
mxSpf = "v=spf1 include:spf.uberspace.de"
|
||||
}
|
||||
resource "inwx_nameserver_record" "twomartens_de_google-verification_txt" {
|
||||
domain = "2martens.de"
|
||||
name = "2martens.de"
|
||||
content = "google-site-verification=nUFiHQFxBpBMdX96ELH3TcfyIfXf2ZlwMFYtXjVq5lo"
|
||||
type = "TXT"
|
||||
ttl = 3600
|
||||
}
|
||||
|
||||
// Nextcloud
|
||||
module "nextcloud_domain" {
|
||||
source = "./modules/domain"
|
||||
domain = "2martens.de"
|
||||
subdomain = "cloud"
|
||||
ipv4 = "185.26.156.194"
|
||||
ipv6 = "2a00:d0c0:200:0:b9:1a:9c:95"
|
||||
hasMXRecord = true
|
||||
hostName = "kushida.uberspace.de"
|
||||
mxPrio = 0
|
||||
mxSpf = "v=spf1 mx ~all"
|
||||
}
|
||||
|
||||
// domain key
|
||||
resource "inwx_nameserver_record" "twomartens_de_uberspace-domainkey_txt" {
|
||||
domain = "2martens.de"
|
||||
name = "uberspace._domainkey.id.2martens.de"
|
||||
content = "v=DKIM1;t=s;n=core;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqs3bFL8W77z7VJHCFbsJ3o68Y1uBbVsbIS1y35CMfRv6wp7si7aIG2ZeKqzdh2dTMsvtvSMaYVq1gT/EtRmTbU/BYC21ff8sqcVqn/ll5nNsk5jKWXTYAlTQp4LBQN7icw94ZNGr5/SDYcnv2nsBYFf2GUviObWXGHX4RaBFNj9NVUNWNin/HicvW+LsbfYq37QtlhjmUn9K96VCwKcTV1mx+Ek0osErYefcOVNawqWIlVRQDLkHZhk1StLsOpRqV+qEjhzTk4n4ZiNtLJG1D9CpHl24d5DKsQDyVFdEfqHimFTSNgiitlkuXg+i+NMiRA9G3gNJtvw8uvfN8f+stQIDAQAB"
|
||||
type = "TXT"
|
||||
ttl = 3600
|
||||
}
|
|
@ -1,39 +0,0 @@
|
|||
variable "inwx_user" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
variable "inwx_password" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
variable "admin_name" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
variable "admin_street" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
variable "admin_city" {
|
||||
type = string
|
||||
}
|
||||
variable "admin_postal_code" {
|
||||
type = string
|
||||
}
|
||||
variable "admin_country_code" {
|
||||
type = string
|
||||
}
|
||||
variable "admin_phone_number" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
variable "admin_email" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
|
||||
variable "hcloud_token" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
Reference in New Issue