0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-06-30 10:33:46 +00:00
Commit Graph

423 Commits

Author SHA1 Message Date
Pavel Boldyrev
89d72cd37f
fix(lxc): add new storage-backed mount point to existing container (#1553)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-09-23 21:47:43 -04:00
Pavel Boldyrev
14a62a712a
chore(lxc): update list of supported OS-es in operating_system.type (#1548)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-09-21 23:20:37 +00:00
Pavel Boldyrev
569db6df3b
fix(vm): handle more than 4 hostpci devices (#1543)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-09-20 19:04:45 -04:00
Pavel Boldyrev
f4ee6291cc
feat(vm): remove deprecated vga.enabled (#1533)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-09-11 22:20:29 +00:00
renovate[bot]
356c978ece
chore(deps): update module github.com/golangci/golangci-lint (v1.60.3 → v1.61.0) in /tools (#1527)
* chore(deps): update module github.com/golangci/golangci-lint (v1.60.3 → v1.61.0) in /tools

| datasource | package                           | from    | to      |
| ---------- | --------------------------------- | ------- | ------- |
| go         | github.com/golangci/golangci-lint | v1.60.3 | v1.61.0 |

* disable gosec: G115 linter

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-09-09 20:55:46 -04:00
Pavel Boldyrev
c20d79dfbe
fix(vm): cpu.architecture showed as new attribute at re-apply after creation (#1524)
Fix for another use case of mismanaged default value. This one was a bit trickier to spot as it triggered only when provider is authenticated using root@pam, as architecture change is allowed only for root.

Removing default value altogether, as the PVE API default for this attribute is an empty string.

VM2 resource will have no such issue, related: #1310, #1311

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-09-08 19:25:40 -04:00
Sven Greb
9b34c485ab
feat(lxc): Implement support for container's "protection flag" (#1512)
* feat(lxc): Implement support for container's "protection flag"

The Proxmox VE types already has the `protection` API parameter [1],
but it is not exposed to the provider users.
This pull request implements the missing logic to make it available in
order to allow to protect containers against deletion/update operations,
including the container's disks.

[1]: https://github.com/bpg/terraform-provider-proxmox/blob/v0.63.0/proxmox/nodes/containers/containers_types.go#L59

Relates GH-1126

Signed-off-by: Sven Greb <development@svengreb.de>

* Update example/resource_virtual_environment_container.tf

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Sven Greb <development@svengreb.de>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-09-08 11:08:13 -04:00
renovate[bot]
35cbe98d6b
chore(deps): update module github.com/golangci/golangci-lint (v1.60.1 → v1.60.2) in /tools (#1499)
* chore(deps): update module github.com/golangci/golangci-lint (v1.60.1 → v1.60.2) in /tools

| datasource | package                           | from    | to      |
| ---------- | --------------------------------- | ------- | ------- |
| go         | github.com/golangci/golangci-lint | v1.60.1 | v1.60.2 |

* fix linter errors

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-08-22 00:30:20 +00:00
Sven Greb
cc9d0e7131
feat(file): add support to set the file mode (#1478)
* feat(file): Add support to set the file mode

GH-733 [1] implemented basic support for hook scripts, but the authors
"did not manage to find time to work on" [2] also including support to
set the file mode. This small but important feature makes the use of the
`proxmox_virtual_environment_container.hook_script_file_id` [3] and
`virtual_environment_vm.hook_script_file_id` [34] attributes basically
useless when not combined with the manual step of making the uploaded
file executable (manually running `chmod +x /path/to/script` or using
other methods, based on the storage backend). Using the
`hook_script_file_id` on its own also causes all planned and applies
changes in the same execution to not be saved in the state because the
Proxmox VE API responses with a HTTP `500` because the uploaded and
assigned file is not executable.

This pull request implements the missing feature to set the file mode
by adding a new `file_mode` attribute of type `string` where an
octal-formatted value can be passed, e.g. `0700` or only `600`.
Note that the support for the octal prefixes `0o` and `0x` are not
supported to reduced the complexity, even though Go of course support
it, including the used `os.FileMode` type [5].
Changing the file mode also causes the file to be replaced, which is
true for almost any attribute in the `proxmox_virtual_environment_file`
resource, to ensure that the file mode can also be changed after the
initial creation.

[1]: https://github.com/bpg/terraform-provider-proxmox/pull/733
[2]: https://github.com/bpg/terraform-provider-proxmox/pull/733#issuecomment-2096716738
[3]: https://registry.terraform.io/providers/bpg/proxmox/latest/docs/resources/virtual_environment_container#hook_script_file_id
[4]: https://registry.terraform.io/providers/bpg/proxmox/latest/docs/resources/virtual_environment_vm#hook_script_file_id
[5]: https://pkg.go.dev/os#FileMode

Related to GH-570
Related to GH-733

Signed-off-by: Sven Greb <development@svengreb.de>


---------

Signed-off-by: Sven Greb <development@svengreb.de>
2024-08-13 21:28:48 -04:00
Pavel Boldyrev
55bfe14ce1
fix(firewall): remove limit for number of CIRDs in ipset. (#1487)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-08-13 00:22:16 +00:00
Pavel Boldyrev
b4d4e4f9d4
fix(time): embed timezone data to fix set/get TZ on windows (#1436)
* fix(time): embed timezone data to fix set/get TZ on windows

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-07-10 21:07:40 -04:00
Konstantin Kornienko
65f8ba5bfe
feat(vm): implement filtering in vms data source. (#1423)
* feat(vm): implement filtering in vms data source.

* Additional attributes for vm data source (status, template)

* fix qodana CI job condition

---------

Signed-off-by: Konstantin Kornienko <konstantin.kornienko@gmail.com>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-07-05 15:52:39 -04:00
Pavel Boldyrev
4f70459c26
chore(code): fix code quality warnings (#1409)
* chore(code): fix code quality warnings

+ re-enable Qodana on PRs

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-25 00:47:50 -04:00
Pavel Boldyrev
a0d9300f0f
chore: refactor container acc test (#1408)
+ beautify test output on CI

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-24 23:08:59 -04:00
Pavel Boldyrev
5d1c8c606d
chore(vm): fix regression after storage devices refactoring (#1399)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-17 03:53:16 +00:00
Pavel Boldyrev
4a8bf8da27
fix(lxc): use default rootfs size (4Gb) prevents creation of mount points (#1398)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-17 03:47:50 +00:00
Pavel Boldyrev
cc7fc63ec1
chore(vm): refactor storage devices handling from/to API (#1394)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-17 01:23:48 +00:00
Connor Creek
bc079c0c19
fix(lxc): make container vm_id computed (#1386)
fix(vm): make container vm_id computed

Signed-off-by: Connor Creek <creek.connor@yahoo.com>
2024-06-11 20:45:53 -04:00
Pavel Boldyrev
de349523fe
feat(vm): add support for disk.serial attribute (#1385)
* feat(vm): add support for `disk.serial` attribute

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-11 01:40:03 +00:00
Pavel Boldyrev
8892118228
misc: restore 0.59.1 code
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-09 23:40:27 -04:00
Pavel Boldyrev
80cafa689f
feat(vm2): add initial support for cdrom (#1370)
feat(vm2): add initial support for `cdrom`

This is a breaking change comparing to v1 - switching the cdrom schema from a nested block to a nested attribute map.

Improvements comparing to v1:
- support for `ide`, `sata`, `scsi` interfaces
- support for multiple cdroms

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-10 01:28:18 +00:00
Pavel Boldyrev
580381f892
chore(api): refactor nodes/vms/vms_types.go: split into multiple files (#1368)
Split all `Custom*` structs and marshaling code into separate files from `vms_types.go`

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-09 04:11:16 +00:00
Pavel Boldyrev
994f367cc2
feat(vm): allow none cdrom (#1347)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-03 01:24:06 +00:00
Pavel Boldyrev
bdd9225041
fix(access): fix user and role import (#1346)
* fix(access): fix `user` and `role` import

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-03 00:51:44 +00:00
Pavel Boldyrev
9bbbf8db39
fix(lxc,vm): fix panics when a resource block is empty (#1345)
* fix(lxc,vm): fix panics when a resource block is empty

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-03 00:41:50 +00:00
Pavel Boldyrev
d02dc1eb0a
fix(vm): adding disks causes VM to be re-created (#1336)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-05-29 23:12:05 -04:00
Pavel Boldyrev
2785c40d44
fix(vm): regression: vga.clipboard attribute check (#1340)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-05-30 01:36:47 +00:00
Karlie Meads
76d980683c
fix(vm): host parameter is optional if using mapping for usb (#1338)
Signed-off-by: Karlie Meads <68717336+karliemeads@users.noreply.github.com>
2024-05-29 21:03:03 -04:00
Pavel Boldyrev
d843e46b37
misc(vm2): add support for vga (#1328)
* misc(vm2): add support for `vga`
* fix: use random VM IDs in parallel acc tests

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-05-27 21:30:12 -04:00
Pavel Boldyrev
206fc4b03d
fix(lxc): mount_point.backup should be false by default (#1327)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-05-26 21:42:15 +00:00
Pavel Boldyrev
32de050605
feat(vm): add support for vga.clipboard, virtio-gl type (#1326)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-05-26 21:08:04 +00:00
Pavel Boldyrev
aa309fd9ea
chore(vm2): add support for cpu (#1310)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-05-18 04:52:02 +00:00
Pavel Boldyrev
3180f81b4a
fix(vm): yet another fix for disk reordering (#1297)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-05-15 02:31:41 +00:00
Pavel Boldyrev
2b7dd08020
feat(vm): remove support for initialization.upgrade attribute (#1295)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-05-15 00:55:29 +00:00
Pavel Boldyrev
be4a3b7c6f
fix(vm): cdrom is not attached when creating a VM from scratch (#1287)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-05-13 02:08:44 +00:00
hrmny
afcbb415a3
feat(access): add ACL resource (#1166)
* feat: add ACL resource

Signed-off-by: hrmny <8845940+ForsakenHarmony@users.noreply.github.com>

* chore: move code under /access, cleanup acc tests

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: hrmny <8845940+ForsakenHarmony@users.noreply.github.com>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-05-08 20:22:15 -04:00
Pavel Boldyrev
10790f668d
fix(vm): fix timeout when resizing custom disk at create (#1260)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-05-06 23:21:55 +00:00
Kai
97624052f1
fix(vm): only set initialization.upgrade attribute when not using custom cloud-init file (#1253)
* fix: ignore upgrade parameter when custom cloud-init file is used

Signed-off-by: Kai <nankeen@users.noreply.github.com>

* fix acceptance tests, make `upgrade` computed

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Kai <nankeen@users.noreply.github.com>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Kai <nankeen@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-05-06 19:16:14 -04:00
Pavel Boldyrev
b3caf6af82
fix: use raw file format for efi_disk by default (#1249)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-05-01 01:01:23 +00:00
DevMiner
bd195d6606
feat(vm): add initial support for IDE (#1237)
* feat(vm): add initial support for IDE

Very broken, doesn't properly work at the moment, WIP

Signed-off-by: DevMiner <devminer@devminer.xyz>

* add acceptance test for ide disks, fixed few issues

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* update VM example

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: DevMiner <devminer@devminer.xyz>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-04-29 20:11:07 -04:00
Pavel Boldyrev
efd0d7b466
chore: remove unused code (#1236)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-04-24 20:52:41 -04:00
Pavel Boldyrev
7209fe0321
chore(vm2): experimental support for clone and inherited attributes (#1235)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-04-24 02:00:11 +00:00
Pavel Boldyrev
0c9c2066fd
fix(vm,lxc,file): improve timeouts handling (#1222)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-04-19 12:38:16 -04:00
Pavel Boldyrev
ad036a67e8
fix(vm): state drift due to disk re-ordering (#1215)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-04-15 16:45:38 -04:00
Pavel Boldyrev
628d0f15dd
fix(vm): regression: force VM recreation due to initialization.upgrade when it is not in the plan (#1209)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-04-12 03:13:29 +00:00
joris
46d323d31b
fix(vm): error 'resizing of efidisks is not supported' when clonning a VM with re-defined efi_disk (#1206)
* fix(vm): compare efiType value instead of address

Signed-off-by: tyxieblub <5111464+tyxieblub@users.noreply.github.com>

* update example to reproduce the error case

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: tyxieblub <5111464+tyxieblub@users.noreply.github.com>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-04-11 23:09:56 -04:00
Pavel Boldyrev
59972dc1b5
feat(vm): add support for initialization.upgrade attribute (#1203)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-04-10 23:43:39 +00:00
Pavel Boldyrev
ae88cf603d
fix(firewall): remove strict validation for rule.iface attribute (#1199)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-04-10 01:46:53 +00:00
Pavel Boldyrev
b4174a7c82
fix(vm): panic if initialization.user_account_keys contains null (#1197)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-04-09 02:48:07 +00:00
DevMiner
f0a7afa57d
impl(proxmoxtf): Intel E1000E support (#1191)
Signed-off-by: DevMiner <devminer@devminer.xyz>
2024-04-08 20:35:58 -04:00
Serge
dbbd966736
feat(vm): add support for numa architecture attribute (#1156) (#1175)
* feat(vm): add support for numa architecture attribute (#1156)

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>

* fix: numa blocks reordering issue

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-04-06 16:30:13 -04:00
Pavel Boldyrev
31b6812ce2
fix(vm): regression: provider always tries to update memory.*hugepages even if it is not specified (#1188)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-04-06 12:27:55 +00:00
Pavel Boldyrev
82d435f575
fix(vm): regressions: provider always tries to update cpu.affinity even if it is not specified (#1182)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-04-04 23:48:49 +00:00
renovate[bot]
02efdc40bf
chore(deps): update module github.com/golangci/golangci-lint (v1.57.1 → v1.57.2) in /tools (#1172)
* chore(ci): update actions/create-github-app-token action (v1.9.0 → v1.9.1)

| datasource  | package                         | from   | to     |
| ----------- | ------------------------------- | ------ | ------ |
| github-tags | actions/create-github-app-token | v1.9.0 | v1.9.1 |

* chore(deps): update module github.com/golangci/golangci-lint (v1.57.1 → v1.57.2) in /tools

| datasource | package                           | from    | to      |
| ---------- | --------------------------------- | ------- | ------- |
| go         | github.com/golangci/golangci-lint | v1.57.1 | v1.57.2 |

* fix linter errors

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-03-30 03:32:08 +00:00
Serge
a2f055a916
feat(vm): add support for memory hugepages and keep_hugepages attributes (#1158)
Allow use hugepages on the VM.

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
2024-03-27 18:13:03 -04:00
Michael Franzl
d41463de79
fix(vm): re-use ide, sata, and scsi cloud-init storage (#1083) (#1141)
* fix(vm): add failing acceptance test for cloud-init over scsi interface (#1083)

Signed-off-by: Michael Franzl <michael@franzl.name>

* fix(vm): re-use ide, sata, and scsi initialization storage (#1083)

Signed-off-by: Michael Franzl <michael@franzl.name>

* fix linter error

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Michael Franzl <michael@franzl.name>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-03-25 21:23:10 -04:00
renovate[bot]
48756b69ba
chore(deps): update module github.com/golangci/golangci-lint (v1.56.2 → v1.57.1) in /tools (#1149)
* chore(deps): update module github.com/golangci/golangci-lint (v1.56.2 → v1.57.1) in /tools

| datasource | package                           | from    | to      |
| ---------- | --------------------------------- | ------- | ------- |
| go         | github.com/golangci/golangci-lint | v1.56.2 | v1.57.1 |

* fix linter errors

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-03-25 21:06:06 -04:00
Soubinan KACOU
c45e3367e7
fix(lxc): improve configurable timeouts for containers operations (#1161)
feat(lxc): Improve configurable timeouts for containers operations

Fix timeouts on CT creation (related to #1160)
Add configurable timeout for CT start

Signed-off-by: Soubinan <contact@soubinan.tk>
Co-authored-by: Soubinan <contact@soubinan.tk>
2024-03-24 21:15:40 -04:00
Serge
83a5971cf6
feat(vm): add support for cpu affinity attribute (#1148) (#1153)
* feat(vm): add support for cpu `affinity` attribute (#1148)

It helps to pin VMs to the special cpu.

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>

* add clarification about the format and permission requirements for `affinity`
* do not add `affinity` property to the API call if is not set

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-03-23 21:34:59 -04:00
Serge
9fee8c1e2e
feat(vm): add proxmox_virtual_environment_node datasource (#1151)
* feat(vm): add proxmox_virtual_environment_node datasource

It helps to get CPU model, number of cores and sockets.

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>

* fix node_name ref
* add acceptance test

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-03-23 20:17:09 -04:00
Pavel Boldyrev
84440d8329
feat(lxc): add configurable timeout for container creation (#1146)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-03-21 03:02:26 +00:00
msdnna
0deaf1801a
feat(lxc): support hook script for LXC (#1140)
* feat(lxc): support hook script for LXC

Signed-off-by: msdnna <extracker0mail@gmail.com>

---------

Signed-off-by: msdnna <extracker0mail@gmail.com>
2024-03-20 22:13:57 -04:00
Pavel Boldyrev
11ca880f28
feat(vm): add support for disconnected attribute in network interface (#1129)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-03-16 01:41:53 +00:00
Pavel Boldyrev
29b5438faf
chore(vm): refactoring: extract network device code from vm.go (#1127)
chore(vm): refactoring: extract network code

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-03-16 01:06:30 +00:00
Pavel Boldyrev
cea65a8a12
feat(vm): add support for protection attribute (#1126)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-03-14 22:23:02 -04:00
Pavel Boldyrev
014b59e04f
feat(vm): add support for disk aio, backup, iops* attributes (#1124)
* feat(vm): add support for disk `aio`, `backup`, `iops*` attributes

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-03-14 00:24:17 -04:00
Pavel Boldyrev
27dbcad5cd
chore: minor cleanups and doc updates (#1108)
* Fix some obvious errors, remove dead code
* Add instructions for manually adding public key to authorized_keys file
* Add GitHub context dump step and update testacc workflow condition
---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-03-09 23:20:44 -05:00
marvkos
461321cf5e
fix: allow LDAP realm API tokens (#1101)
Signed-off-by: Marvin Kosmider <marvin.kosmider@technikum-wien.at>
2024-03-08 18:31:30 -05:00
renovate[bot]
fbd04ed950
chore(deps): update tools (#1017)
* chore(deps): update tools

| datasource | package                                                       | from    | to      |
| ---------- | ------------------------------------------------------------- | ------- | ------- |
| go         | github.com/golangci/golangci-lint                             | v1.55.2 | v1.56.2 |
| go         | go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp | v0.48.0 | v0.49.0 |

* fix linter errors

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-03-04 21:41:53 -05:00
Jack Hodgkiss
cb5fc279cd
feat(vm): add VLAN trunk support (#1086)
* feat(vm): add `VLAN` trunk support

Signed-off-by: Jack Hodgkiss <identity@jackhodgkiss.uk>

* update docs
* better error handling
* add trunks to acceptance test

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Jack Hodgkiss <identity@jackhodgkiss.uk>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-03-03 13:57:58 -05:00
Pavel Boldyrev
3195b3cdf4
feat(file)!: snippets upload using SSH input stream (#1085)
* feat(file)!: safer snippets upload using SSH input stream
* fixes for acceptance tests on windows
* enable other OS-es for acceptance tests
* update example templates to use api token auth

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-03-02 19:06:59 -05:00
Pavel Boldyrev
2c6d3ad01d
feat(provider): add support for private key authentication for SSH (#1076)
* feat(provider): add support for private key authentication for SSH

Also fix bunch of issues with acceptance tests

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-03-02 11:10:42 -05:00
Pavel Boldyrev
3c5276093a
fix(user): expiration_date attribute handling (#1066)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-02-27 03:06:58 +00:00
Pavel Boldyrev
493ad1c121
chore(vm): refactor: move disks code out of vm.go (#1062)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-02-25 15:56:07 -05:00
Pavel Boldyrev
518e25efaf
fix(vm): regression: mac_addresses list is missing some interfaces (#1049)
* fix(vm): regression: `mac_addresses` list is missing some interfaces

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* add acceptance test

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-02-21 02:14:48 +00:00
Pavel Boldyrev
079119444d
chore(lxc,vm): refactor: move vm and container code to subpackages (#1046)
* chore(lxc,vm): refactor: move vm and container code to subpackages

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-02-19 22:56:25 -05:00
Pavel Boldyrev
69c4a66345
fix(lxc): panic on empty initialization.ip_config.ipv4|6 block (#1043)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-02-19 18:50:42 -05:00
Pavel Boldyrev
eb3e374432
fix(lxc): panic when handling network_interface.firewall attribute (#1042)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-02-19 18:34:14 -05:00
Pavel Boldyrev
b648e5bcb0
chore(vm): refactoring, add acceptance tests (#1040)
cleaning up and refactoring the VM code, add some acceptance tests around disks, few minor bugfixes

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-02-19 16:56:13 -05:00
Pavel Boldyrev
027cf1e81a
fix(vm): fix panic when a config block is empty (#1033)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-02-15 20:53:50 -05:00
Pavel Boldyrev
797873b257
fix(vm): multi-line description field is always marked as changed (#1030)
Also, fix acceptance tests

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-02-15 19:33:23 -05:00
Everaldo Canuto
b6fbdcf5ab
fix: snippets upload (#1013)
* fix: snippets upload (#1011)

* Use rm -rf on tempFileDir to cleanup temp folder

Signed-off-by: Everaldo Canuto <everaldo.canuto@gmail.com>

* fix: snippets upload

* Use two rmdir commands to cleanup temp folder

Signed-off-by: Everaldo Canuto <everaldo.canuto@gmail.com>

* fix: handle empty content type

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Everaldo Canuto <everaldo.canuto@gmail.com>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-02-06 19:38:32 -05:00
Pavel Boldyrev
60fb679e9f
fix(file): use sudo for snippets upload (#1004)
* fix(file): use `sudo` for snippets upload

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* fix: linter

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* fix: no more rm -rf

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-02-05 21:28:28 -05:00
Jayden Lind
363e502a56
fix(vm): update disk size to 0 vmReadCustom (#991)
* fix: don't crash when disk size isn't set

Signed-off-by: Jayden Lind <jaydenlind@gmail.com>

* fix: fix linting

Signed-off-by: Jayden Lind <jaydenlind@gmail.com>

---------

Signed-off-by: Jayden Lind <jaydenlind@gmail.com>
2024-01-31 20:56:33 -05:00
Pavel Boldyrev
0253eb9757
fix(lxc): panic on empty initialization.ip_config block (#977)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-01-28 02:09:09 +00:00
Pavel Boldyrev
ed33a18c9b
fix(pool): missing pool_id after import (#974)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-01-28 01:18:51 +00:00
Pavel Boldyrev
da1d7804af
feat(provider): add SOCKS5 proxy support for SSH connections (#970)
* feat(provider): add support for SOCKS5 proxy for SSH connection.

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* fix: linter

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-01-27 20:09:14 +00:00
Pavel Boldyrev
01a8f9779c
fix(vm): regression: sudo: command not found when creating a VM (#966)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-01-26 20:27:25 -05:00
Pavel Boldyrev
9d764e5889
feat(provider): use sudo to execute commands over SSH (#950)
* feat(provider): use `sudo` to execute commands over SSH

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* fix: simplify everything, use sudo per command

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* feat: add documentation

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* minor doc fix

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* chore: cleanup docs

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-01-21 21:44:12 -05:00
Robert Kaussow
01ff2cb7db
feat: add min-tls option to provider config (#931)
* feat: add min-tls option to provider config

Signed-off-by: Robert Kaussow <mail@thegeeklab.de>

* fix: clenup code and add min-tls to file resource

Signed-off-by: Robert Kaussow <mail@thegeeklab.de>

* fix: linter errors, wrong schema type in file resource

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* chore: update docs

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Robert Kaussow <mail@thegeeklab.de>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-01-19 20:26:14 -05:00
Pavel Boldyrev
e5bccbc53d
fix(vm): panic on empty initialization.dns block (#928)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-01-18 02:57:52 +00:00
Jason Kossis
c9c3067b61
feat(lxc): add container startup options (#923)
Signed-off-by: Jason Kossis <jkossis@gmail.om>
Co-authored-by: Jason Kossis <jkossis@gmail.om>
2024-01-17 20:45:30 -05:00
Pavel Boldyrev
a8bf497c7f
fix(vm): missing disks when importing VM to a TF state (#877)
* fix(vm): missing disks when importing VM to a TF state

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

* fix: add error handling

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-01-10 22:46:33 -05:00
Sakari Rautiainen
e436427e00
fix(provider): check if err is nil (#874)
Signed-off-by: Sakari Rautiainen <sakari.rautiainen@gmail.com>
2024-01-10 20:45:42 -05:00
CppBunny
613be842be
fix(vm): optimize retrieval of VM volume attributes from a datastore (#862)
* Use GetDatastoreFile instead of ListDatastoreFiles

Signed-off-by: CppBunny <noah@vantiggel.be>

* make linter happy

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: CppBunny <noah@vantiggel.be>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-01-07 08:31:30 -05:00
Rafał Safin
58347c09fe
feat(storage): add new resource proxmox_virtual_environment_download_file (#837)
* feat(core): add query url metadata endpoint to nodes client api

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* feat(core): move storage api code to nodestorage folder

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* feat(core): add download url api

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* feat(storage): add  resource_download_file

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* feat(storage): finish new resource_download_file

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* feat(storage): generate docs for new download file resource, update other docs and examples

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* feat(storage): add basic acc tests for resource download_file

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* fix(test): lint new test file

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* feat(storage): warning instead of error when file already exists on resource download file

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* feat(storage): better validation in resource download file, delete upload task on error

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* feat(storage): better err message in resource download file

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* fix(core): removed unnecessary toint in custom type bool

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* fix(storage): typo in resource download file error

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* feat(storage): download file resource review - 1

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* feat(storage): finish resource download file after review

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* fix(storage): error instead of warnings in parse int errors in sizeRequiresReplaceModifier

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* fix(docs): remove unwanted changes in virtual_environment_file.md

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* fix(test): fix download file base acceptance tests

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* fix(test): fix resource download file acc tests

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* fix(test): last fix resource download file acc test

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>

* fix: use PVE-compatible jammy LXC image, fix few typos

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>

---------

Signed-off-by: Rafał Safin <rafal.safin@rafsaf.pl>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Rafał Safin <rafal.safin@rafsaf.pl>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-01-02 21:29:13 -05:00
Pavel Boldyrev
d398c9c102
feat(provider): add DNS lookup fallback for node IP resolution (#848)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2023-12-29 12:24:36 -05:00
Daniel Lowry
5281ac2492
fix(vm): Fixed missing default for disk discard (#840)
The default value of "ignore" was missing from the disk discard
parameter of the terraform module. This commit sets the default to
"ignore" instead of the current "".

This fixes terraform incorrectly flagging that the state is different than
what is currently running on the proxmox node when the discard option isn't
defined under the disk object.

Signed-off-by: Daniel Lowry <development@daniellowry.co.uk>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2023-12-28 23:30:48 -05:00
Pavel Boldyrev
ac923cd1b4
fix(vm,lxc): unexpected state drift when using initialization.dns.servers (#844)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2023-12-28 23:07:53 -05:00
Guillaume
bf5cbd9dad
fix(vm,lxc): accept IPv6 in initialization.dns.servers attribute (#842)
fix: accept ipv6 in dns servers initialization

Signed-off-by: Guillaume <4112243+LEI@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2023-12-28 10:55:59 -05:00