0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-07-02 03:22:59 +00:00
Commit Graph

31 Commits

Author SHA1 Message Date
Pavel Boldyrev
98e1cff7fe
feat: Add firewall resources (#246)
* refactoring existing cluster / firewall API for better composition

* add basic security groups API
fix linter errors

* add rules API

* fix after renaming resourceVirtualEnvironmentClusterIPSet

* fix linter errors

* make linter happy

* even more refactoring

* tidy up datasources

* in refactoring spree

* update examples

* fix firewall resource/datasource & client error handling

* add ipset(s) datasource

* update docs

* add security group resource with rules

* docs

* fix security group update, TODO: rule update

* fix after rebase

* add rule update, extract common rule schema, refactor group

* fix linter  errors

* bump linter for ci

* make alias and ipset reusable

* make security group reusable

* refactor datasources

* add security group datasources

* fix linter errors

* update docs

TODO: documentation for group datasources

* add sg docs, update doc index

* minor cleanup

* fix examples & tests

* stub for firewall-level options and rules

* extract firewall interface

* add firewall options and rules on the cluster level

TODO: issues with rule list management

* refactor all resources format AGAIN, now more flat, without complex subresources

* sort out hierarchy of APIs and remove duplication in API wrappers

* bring back security group

* finally, working rules

* restore cluster firewall option

* add containers support

* add options

* move rules back under security group, update docs

* fix vm_id / container_id attrs

* add examples

* cleanup

* more cleanup


Release-As: 0.17.0-rc1
2023-04-02 18:01:10 -04:00
Pavel Boldyrev
c2d3f46474
feat(vm): Add bare minimum VM datasource (#268)
* feat(vm): Add a bare minimum VM datasource

* fix linter errors

* fix doc

* add lookup across all nodes in the cluster, add filter by tags

* stable vm list

* fix linter errors

* pr feedback: switch to dynamic id for vms

* add datasource examples

* add unit tests

* Update virtual_environment_vms.md
2023-03-22 01:52:58 +00:00
Pavel Boldyrev
bf9e31ecfc
chore: lint and reformat the code (#204)
* chore: reformat code

* chore: add commitlint config

* reformat README.md

* add linter config

* lint & reformat docs

* go linter: only new issues

* fix some linting errors

* more reformatting

* disable linter warning for some duplicated code
2023-01-16 18:07:30 -05:00
Pavel Boldyrev
13080b44dc
feat: Deletion of VM also purges all storages and configs (#196) 2022-12-28 23:13:29 -05:00
Pascal Wiedenbeck
0df14f9d6a
feat: add the ability to clone to non-shared storage on different nodes (#178)
* feat: add workaround for cloning to non-shared storage

* fix: fix wrong API params used

* test: add new var to tests

* fix: lint issues

* docs: add new argument to docs

* docs: fix function documentation

* fix: better work with heterogeneous datastores

* docs: clarify clone behavior

* fix: go lint issues

Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2022-12-12 16:28:53 -05:00
Szczepan Wiśniowski
722e01053b
fix: Check if any interface has global unicast address instead of all interfaces (#182)
* fix: Check if any interface has global unicast address instead of all interfaces

This allows us to have multiple interfaces and only one (instead of all) has to have assigned ip

* add multiple network devices to the example VM

Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2022-12-11 16:29:25 -05:00
Pavel Boldyrev
0fad160ed6
fix: linter issues (#158)
* fix: remove io/ioutil

* fix: lost diagnostic context

* fix: various linter errors

* fix: json manifests
2022-10-24 19:40:57 -04:00
Oto Petřík
029dc1fb0a
Wait for 'net.IsGlobalUnicast' IP address (#115)
VM can get IPv6 link-local address faster than a DHCP server response,
that results in 'ipv4_addresses' output being an empty list.
It is then impossible to provision the VM using 'connection.host' field
derived from 'self.ipv4_addresses'.

Change the waiting for IP address to ignore IPv4 link-local addresses
and IPv6 link-local addresses.
2022-08-14 21:23:41 -04:00
Pavel Boldyrev
192cbd5e3d
Upgrade the provider codebase to use Terraform SDK v2 (#91)
* Update TF SDK using `tf-sdk-migrator v2upgrade`
Address some linter issues
Clean up `resource_virtual_environment_file.go` (still, error handling is not ideal)

* few minor cleanups

* Clean up, add context and diagnostics to `resource_virtual_environment_vm.go`

* Clean up, add context and diagnostics to `resource_virtual_environment_container.go`

* Clean up, add context and diagnostics to `resource_virtual_environment_container.go`

* Update remaining resources and data sources

* fix `make example`... now it actually uses the built provider 🤦

* propagate Context everywhere
use tflog.* for logging

* add support for debug flag

* fix old issues with:
- setting `resource_virtual_environment_file.changed` attribute
- setting `resource_virtual_environment_cluster_ipset.cidr` attributes
- setting `data_source_virtual_environment_user.groups` and `.keys` attributes

* bump dependencies

* minor cleanups

* Bump Go to v1.18
Dropped support for TF v0.x

* more cleanups

* update README.md

* update PR template

* update release.yml
2022-07-14 12:20:30 -04:00
Pavel Boldyrev
0742ac5091
Fix SIGSEGV if cloned VM is in a different storage.
closes #1
2021-09-08 18:27:36 -04:00
Lucas Hahn
8ae3b2c0e3 Parameterize all timeouts 2021-01-08 14:29:08 +01:00
Lucas Hahn
3956a31494 Add multidisk support 2021-01-02 14:21:55 +01:00
Lucas Hahn
8acafc0bb7 Fix Errors
- Fix required disk interface parameter
 - Fix datastore move to same datastore error
 - Fix compare sizes for resize disk
2021-01-02 14:21:20 +01:00
Lucas Hahn
328acd80df set retries to default 1 and add guard 2021-01-02 14:18:45 +01:00
Lucas Hahn
1798bade56 added support to reboot vm after creation or clone 2021-01-02 14:20:52 +01:00
Dan Petersen
7642a319ce Support for moving and resizing disks
- Utilize asynchronous Functions for proxmox
2021-01-02 14:18:45 +01:00
Dan Petersen
c077ea4060 fix: changed ip detection logic based on review and added initial terraform 0.13 compatibility for the example module 2020-09-15 22:08:03 +02:00
Dan Petersen
6fee532f92 fix: ignore ip addresses from lo interface and increase container state timeout 2020-06-26 22:09:51 +02:00
Dan Petersen
9775ede37e Fix VM ID collision 2020-04-03 22:12:44 +02:00
Dan Petersen
913580b9e8 Fix timeout issue 2020-03-15 23:31:50 +01:00
Dan Petersen
cfe0831b1c Additional logic while waiting for QEMU agent to publish the network interfaces 2020-03-14 17:40:59 +01:00
Dan Petersen
bec026361d Wait for VM creation while waiting for VM configuration lock to be released 2020-01-21 20:48:00 +01:00
Dan Petersen
94679a3f5e Initial support for VM cloning 2020-01-19 03:40:10 +01:00
Dan Petersen
6dac302a01 Initial work on container resource 2020-01-02 07:57:48 +01:00
Dan Petersen
6dd3cb454c Continued work on VM update logic 2019-12-30 05:20:23 +01:00
Dan Petersen
1dfe979e9e Initial support for remote-exec provisioners 2019-12-29 21:21:48 +01:00
Dan Petersen
08e389dac8 Continued work on VM resource 2019-12-27 19:13:40 +01:00
Dan Petersen
96d139fcb4 Initial work on VM resource implementation 2019-12-26 23:01:43 +01:00
Dan Petersen
fdad166b6a Continued work on VM support 2019-12-25 23:38:29 +01:00
Dan Petersen
1d763c5efe Continued work on VM API code 2019-12-16 01:15:23 +01:00
Dan Petersen
51f671ad23 Initial work on VM API handling 2019-12-16 00:05:53 +01:00