0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-06-30 18:42:58 +00:00
Commit Graph

157 Commits

Author SHA1 Message Date
renovate[bot]
3a9764e85f
chore(deps): update module github.com/hashicorp/terraform-plugin-docs (v0.20.0 → v0.20.1) in /tools (#1662)
| datasource | package                                    | from    | to      |
| ---------- | ------------------------------------------ | ------- | ------- |
| go         | github.com/hashicorp/terraform-plugin-docs | v0.20.0 | v0.20.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-27 21:34:50 -05:00
renovate[bot]
826b406d89
chore(deps): update module github.com/golangci/golangci-lint (v1.62.0 → v1.62.2) in /tools (#1657)
| datasource | package                           | from    | to      |
| ---------- | --------------------------------- | ------- | ------- |
| go         | github.com/golangci/golangci-lint | v1.62.0 | v1.62.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-25 19:55:11 -05:00
renovate[bot]
e67a8f783d
chore(deps): update module github.com/golangci/golangci-lint (v1.61.0 → v1.62.0) in /tools (#1634)
* chore(deps): update module github.com/golangci/golangci-lint (v1.61.0 → v1.62.0) in /tools

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

* adjust golangci-lint settings

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-11-20 01:11:23 +00:00
renovate[bot]
5aaf61ed9a
chore(deps): update module github.com/hashicorp/terraform-plugin-docs (v0.19.4 → v0.20.0) in /tools (#1629)
| datasource | package                                    | from    | to      |
| ---------- | ------------------------------------------ | ------- | ------- |
| go         | github.com/hashicorp/terraform-plugin-docs | v0.19.4 | v0.20.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-08 19:53:32 -05:00
vanillaSprinkles
eb2f36be21
feat(provider): add support for pre(external) auth'd session tokens (#1441)
* feat(provider): add support for pre(external) auth'd session tokens

adds provider config inputs:
  - env vars: PROXMOX_VE_AUTH_PAYLOAD; PROXMOX_VE_AUTH_TICKET with PROXMOX_VE_CSRF_PREVENTION_TOKEN
  - provider-config: auth_payload; auth_ticket with csrf_prevention_token

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

* add //nolint to "todo" comments/questions and lll for build to pass; add flags to terraform-plugin-docs

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

* address first iteration of comments: remove auth-payload, improve index.md

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

* refactor credentials using struct composition, other minor cleanups

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

* fix linter error

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

* fix make docs, add terraform to handle fmt

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

---------

Signed-off-by: vanillaSprinkles <vanillaSprinkles@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-10-02 20:40:33 -04: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
Björn Brauer
a6eb81af08
feat(acme): implement resources and data sources for ACME plugins (#1479)
* feat(acme): implement CRUD API for proxmox cluster ACME plugins

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* feat(acme): implement acme_plugins data source

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* feat(acme): implement acme_plugin data source

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* feat(acme): implement plugin resource creation

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* feat(acme): implement plugin resource read

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* feat(acme): implement plugin resource update

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* feat(acme): implement plugin resource deletion

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* feat(acme): implement plugin resource import

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* docs(acme): generate documentation

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* fix: apply suggestions from code review

Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* refactor: extract common fields into BasePluginData

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* fix: restrict plugin resource to type=dns only

because type=standalone is not configurable and always enabled by
default.

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* fix: remove unused 'nodes' property

https://github.com/bpg/terraform-provider-proxmox/pull/1479/files#r1710916265

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* fix: remove "delete" property

https://github.com/bpg/terraform-provider-proxmox/pull/1479/files#r1710908809

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* feat: implement attribute deletion

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* fix: ignore empty lines in dns plugin data

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* fix: partial revert of code review suggestions

Joining the values with a string literal would produce \\n instead of \n
and splitting at \\n doesn't match a newline.

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* refactor: extract acme plugin models into separate file

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

* fix: format disable parameter as int

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>

---------

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-09-08 10:54:16 -04:00
renovate[bot]
9172ec6a9f
chore(deps): update module go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp (v0.53.0 → v0.54.0) in /tools (#1509)
* chore(deps): update module go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp (v0.53.0 → v0.54.0) in /tools

| datasource | package                                                       | from    | to      |
| ---------- | ------------------------------------------------------------- | ------- | ------- |
| go         | go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp | v0.53.0 | v0.54.0 |

* cleanup tools/go.mod

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-24 21:00:20 -04:00
renovate[bot]
5707feab06
chore(deps): update module github.com/golangci/golangci-lint (v1.60.2 → v1.60.3) in /tools (#1507)
| datasource | package                           | from    | to      |
| ---------- | --------------------------------- | ------- | ------- |
| go         | github.com/golangci/golangci-lint | v1.60.2 | v1.60.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-23 02:46:35 -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
renovate[bot]
6635c89f63
chore(deps): update tools (#1490)
* chore(deps): update tools

| datasource     | package                           | from    | to      |
| -------------- | --------------------------------- | ------- | ------- |
| go             | github.com/golangci/golangci-lint | v1.59.1 | v1.60.1 |
| golang-version | go                                | 1.22.6  | 1.23.0  |

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

* fix: linter errors

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

* fix: 1.23.0 in the main `go.mod`

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-19 13:48:39 -04:00
renovate[bot]
10b2340c5b
chore(deps): update go (1.22.5 → 1.22.6) in /tools (#1470)
| datasource     | package | from   | to     |
| -------------- | ------- | ------ | ------ |
| golang-version | go      | 1.22.5 | 1.22.6 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 03:22:42 +00:00
Björn Brauer
9de4037a82
feat(acme): implement resources and data sources for ACME accounts (#1455)
* feat(acme): implement CRUD API for proxmox cluster ACME
* feat(acme): implement acme_accounts data source
* feat(acme): implement acme_account data source
* fix(acme): wait for task status on account creation
* feat(acme): implement account resource creation
* feat(acme): implement account read
* fix(acme): wait for task status on account update
* feat(acme): implement account update
* fix(acme): wait for task status on account deletion
* feat(acme): implement account deletion
* feat(acme): implement account import
* feat(acme): provide correctly typed API response for `account` field
* feat(acme): implement account schema for acme_account data source
* fix(acme): read `location` into state in acme_account resource
* fix(acme): ensure `name` of acme_account resource can't be changed
* docs(acme): generate documentation
* feat(acme): read back ACME account details from API
* Revert "fix(acme): ensure `name` of acme_account resource can't be changed"
* fix(acme): provide default for acme account name
* fix(acme): acme account name can't be changed
* chore(acme): update resource doc to clarify PVE auth requirements
* chore(acme): add `created_at` attr to the resource, sort model fields & schema attributes alphabetically

---------

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
Co-authored-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-08-07 23:16:31 -04:00
Björn Brauer
f7c3560260
fix(tools): ensure docs/guides files are copied correctly (#1464)
Before this change the `make docs` command would cause the generated
guides directory to be nested in `docs/guides/guides`.

Signed-off-by: Björn Brauer <zaubernerd@zaubernerd.de>
2024-08-03 01:04:12 +00:00
Sven Greb
357f7c70a7
feat(node): implement initial support to manage APT repositories (#1325)
* feat(nodes): Initial support to manage APT repositories

> Summary

This commit implements initial support for managing APT repositories
which is (currently) limited to…

- …adding "standard" repositories to allow to configure it.
- toggling the activation status (enabled/disabled) of any configured
  repository.

+ !WARNING!
+ Note that deleting or modifying a repository in any other way is
+ (sadly) not possible (yet?)!
+ The limited functionality is due to the (current) capabilities of
+ the Proxmox VE APT repository API [1] itself.

>> Why are there two resources for one API entity?

Even though an APT repository should be seen as a single API entity, it
was required to implement standard repositories as dedicated
`proxmox_virtual_environment_apt_standard_repository`. This is because
standard repositories must be configured (added) first to the default
source list files because their activation status can be toggled. This
is handled by the HTTP `PUT` request, but the modifying request is
`POST` which would require two calls within the same Terraform execution
cycle. I tried to implement it in a single resource and it worked out
mostly after some handling some edges cases, but in the end there were
still too many situations an edge cases where it might break due to
Terraform state drifts between states. In the end the dedicated
resources are way cleaner and easier to use without no complexity and
conditional attribute juggling for practitioners.

>> Other "specialties"

Unfortunately the Proxmox VE API responses to HTTP `GET` requests with
four larger arrays which are, more or less, kind of connected to each
other, but they also somehow stand on their own. This means that there
is a `files` array that contains the `repositories` again which again
contains all repositories with their metadata of every source file. On
the other hand available standard repositories are listed in the
`standard-repos` array, but their activation status is only stored when
they have already been added through a `PUT` request. The `infos` array
is more less useless.

So in order to get the required data and store them in the state the
`importFromAPI` methods of the models must loop through all the
deep-nested arrays and act based on specific attributes like a matching
file path, comparing it to the activation status and so on.

In the end the implementation is really stable after testing it with all
possible conditions and state combinations.

@bpg if you'd like me to create a small data logic flow chart to make it
easier to understand some parts of the code let me know. I can make my
local notes "shareable" which I created to not loose track of the logic.

>> What is the way to manage the activation status of a "standard" repository?

Because the two resources are modular and scoped they can be simply
combined to manage an APT "standard" repository, e.g. toggling its
activation status. The following examples are also included in the
documentations.

```hcl
// This resource ensure that the "no-subscription" standard repository
// is added to the source list.
// It represents the `PUT` API request.
resource "proxmox_virtual_environment_apt_standard_repository" "example" {
  handle = "no-subscription"
  node   = "pve"
}

// This resource allows to actually modify the activation status of the
// standard repository as it represents the `POST`.
// Using the values from the dedicated standard repository resource
// makes sure that Terraform correctly resolves dependency order.
resource "proxmox_virtual_environment_apt_repository" "example" {
  enabled   = true
  file_path = proxmox_virtual_environment_apt_standard_repository.example.file_path
  index     = proxmox_virtual_environment_apt_standard_repository.example.index
  node      = proxmox_virtual_environment_apt_standard_repository.example.node
}
```

[1]: https://pve.proxmox.com/pve-docs/api-viewer/#/nodes/{node}/apt/repositories

---------

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-07-05 18:48:35 -04:00
renovate[bot]
cf1142e24b
chore(deps): update module go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp (v0.52.0 → v0.53.0) in /tools (#1426)
| datasource | package                                                       | from    | to      |
| ---------- | ------------------------------------------------------------- | ------- | ------- |
| go         | go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp | v0.52.0 | v0.53.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-05 16:11:40 -04:00
renovate[bot]
d55f6706a4
chore(deps): update go (1.22.4 → 1.22.5) in /tools (#1421)
| datasource     | package | from   | to     |
| -------------- | ------- | ------ | ------ |
| golang-version | go      | 1.22.4 | 1.22.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-02 22:00:08 -04:00
Pavel Boldyrev
cfe1b1cc4b
chore(code): remove goreleaser from /tools (#1384)
chore(code): remove goreleaser from /tools

`goreleaser` from /tools is not used in the build/release, CI is using `goreleaser-action`

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-11 00:58:26 +00:00
Pavel Boldyrev
1eb64a2522
fix(docs): add more details about the usb block in VM (#1382)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-11 00:00:08 +00:00
renovate[bot]
095be69d8d
chore(deps): Update module github.com/goreleaser/goreleaser (v1.26.2 → v2.0.0) in /tools (#1381)
| datasource | package                          | from    | to     |
| ---------- | -------------------------------- | ------- | ------ |
| go         | github.com/goreleaser/goreleaser | v1.26.2 | v2.0.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-10 19:00:13 -04:00
renovate[bot]
24f9990249
chore(deps): update module github.com/golangci/golangci-lint (v1.59.0 → v1.59.1) in /tools (#1373)
| datasource | package                           | from    | to      |
| ---------- | --------------------------------- | ------- | ------- |
| go         | github.com/golangci/golangci-lint | v1.59.0 | v1.59.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-09 21:37:02 -04:00
Pavel Boldyrev
5d4193b6be
fix(vm): ignore 599 task status response when waiting for VM start (#1365)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-06-07 01:50:18 +00:00
renovate[bot]
7064f1259a
chore(deps): Update module github.com/goreleaser/goreleaser (v1.26.2 → v2.0.0) in /tools (#1363)
| datasource | package                          | from    | to     |
| ---------- | -------------------------------- | ------- | ------ |
| go         | github.com/goreleaser/goreleaser | v1.26.2 | v2.0.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-05 19:13:01 -04:00
renovate[bot]
9c4b9dbcba
chore(deps): update tools (#1358)
| datasource     | package                                    | from    | to      |
| -------------- | ------------------------------------------ | ------- | ------- |
| go             | github.com/hashicorp/terraform-plugin-docs | v0.19.3 | v0.19.4 |
| golang-version | go                                         | 1.22.3  | 1.22.4  |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-05 19:02:37 -04:00
renovate[bot]
2f87941f2b
chore(deps): update module github.com/hashicorp/terraform-plugin-docs (v0.19.2 → v0.19.3) in /tools (#1334)
| datasource | package                                    | from    | to      |
| ---------- | ------------------------------------------ | ------- | ------- |
| go         | github.com/hashicorp/terraform-plugin-docs | v0.19.2 | v0.19.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-29 05:15:05 +00:00
renovate[bot]
e0097d9880
chore(deps): update module github.com/golangci/golangci-lint (v1.58.2 → v1.59.0) in /tools (#1332)
* chore(deps): update module github.com/golangci/golangci-lint (v1.58.2 → v1.59.0) in /tools

| datasource | package                           | from    | to      |
| ---------- | --------------------------------- | ------- | ------- |
| go         | github.com/golangci/golangci-lint | v1.58.2 | v1.59.0 |

* adjust linters config

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-05-27 21:49:33 +00:00
renovate[bot]
93f86b1e13
chore(deps): update module github.com/goreleaser/goreleaser (v1.26.1 → v1.26.2) in /tools (#1322)
| datasource | package                          | from    | to      |
| ---------- | -------------------------------- | ------- | ------- |
| go         | github.com/goreleaser/goreleaser | v1.26.1 | v1.26.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-25 16:40:18 -04:00
Pavel Boldyrev
e3dd31f55e
chore(vm2): add datasource implementation (#1318)
* chore(vm2): add datasource implementation

---------

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-05-22 02:06:41 +00:00
renovate[bot]
3f97a7b5c3
chore(deps): update tools (#1316)
| datasource | package                                                       | from    | to      |
| ---------- | ------------------------------------------------------------- | ------- | ------- |
| go         | github.com/golangci/golangci-lint                             | v1.58.1 | v1.58.2 |
| go         | go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp | v0.51.0 | v0.52.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-21 19:42:52 -04:00
renovate[bot]
ea6bb93be5
chore(deps): update module github.com/goreleaser/goreleaser (v1.26.0 → v1.26.1) in /tools [security] (#1301)
| datasource | package                          | from    | to      |
| ---------- | -------------------------------- | ------- | ------- |
| go         | github.com/goreleaser/goreleaser | v1.26.0 | v1.26.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 21:24:56 -04:00
renovate[bot]
7853a53527
chore(deps): update module github.com/goreleaser/goreleaser (v1.25.1 → v1.26.0) in /tools (#1289)
| datasource | package                          | from    | to      |
| ---------- | -------------------------------- | ------- | ------- |
| go         | github.com/goreleaser/goreleaser | v1.25.1 | v1.26.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 02:12:09 +00:00
renovate[bot]
d3ea1ac560
chore(deps): update tools (#1275)
* chore(ci): update actions/checkout action (v4.1.4 → v4.1.5)

| datasource  | package          | from   | to     |
| ----------- | ---------------- | ------ | ------ |
| github-tags | actions/checkout | v4.1.4 | v4.1.5 |

* chore(ci): update hashicorp/setup-terraform action (v3.1.0 → v3.1.1)

| datasource  | package                   | from   | to     |
| ----------- | ------------------------- | ------ | ------ |
| github-tags | hashicorp/setup-terraform | v3.1.0 | v3.1.1 |

* chore(ci): update jetbrains/qodana-action action (v2024.1.3 → v2024.1.4)

| datasource  | package                 | from      | to        |
| ----------- | ----------------------- | --------- | --------- |
| github-tags | JetBrains/qodana-action | v2024.1.3 | v2024.1.4 |

* chore(deps): update tools

| datasource     | package                           | from    | to      |
| -------------- | --------------------------------- | ------- | ------- |
| go             | github.com/golangci/golangci-lint | v1.58.0 | v1.58.1 |
| golang-version | go                                | 1.22.2  | 1.22.3  |

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-08 20:31:42 -04: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
Serge
8220271eee
feat(access): add proxmox user token (#1159) 2024-05-08 15:26:33 -04:00
renovate[bot]
452b24b36b
chore(deps): update module github.com/golangci/golangci-lint (v1.57.2 → v1.58.0) in /tools (#1258)
* chore(ci): update actions/create-github-app-token action (v1.9.3 → v1.10.0)

| datasource  | package                         | from   | to      |
| ----------- | ------------------------------- | ------ | ------- |
| github-tags | actions/create-github-app-token | v1.9.3 | v1.10.0 |

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

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

* disable picky linters

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-05-04 16:21:16 -04:00
renovate[bot]
b9429cbd68
chore(deps): update module github.com/hashicorp/terraform-plugin-docs (v0.19.1 → v0.19.2) in /tools (#1247)
| datasource | package                                    | from    | to      |
| ---------- | ------------------------------------------ | ------- | ------- |
| go         | github.com/hashicorp/terraform-plugin-docs | v0.19.1 | v0.19.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 20:41:16 -04:00
renovate[bot]
e13bb03dda
chore(deps): update tools (#1238)
| datasource | package                                                       | from    | to      |
| ---------- | ------------------------------------------------------------- | ------- | ------- |
| go         | github.com/hashicorp/terraform-plugin-docs                    | v0.19.0 | v0.19.1 |
| go         | go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp | v0.50.0 | v0.51.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-27 06:42:16 -04:00
Pavel Boldyrev
d8202dd7a1
chore(vm2): initial experimental VM resource implementation using Plugin Framework (#1230)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2024-04-19 21:57:12 +00:00
renovate[bot]
c7e36ee1a1
chore(deps): update go (1.22.0 → 1.22.2) in /tools (#1227)
* chore(deps): update tools

| datasource     | package                                    | from    | to      |
| -------------- | ------------------------------------------ | ------- | ------- |
| go             | github.com/hashicorp/terraform-plugin-docs | v0.18.0 | v0.19.0 |
| golang-version | go                                         | 1.22.0  | 1.22.2  |

* bump toolchain

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-04-19 16:42:00 +00:00
dependabot[bot]
7e4710d3f0
chore(deps): bump golang.org/x/net from 0.22.0 to 0.23.0 in /tools (#1225)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.22.0 to 0.23.0.
- [Commits](https://github.com/golang/net/compare/v0.22.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 12:01:00 -04:00
Sven Greb
76c1c2282b
feat(cluster): Implement initial support for "hardware mappings" (#1213)
* feat(cluster): Implement initial support for "hardware mappings"

Right now it is alredy possible to use a mapped resource [1], but there
is no dedicated `proxmox_virtual_environment_cluster_hardware_mapping`
resource but this step must still be done manually (or automated through
other ways that interact with the Proxmox API).

This commit implements support for "hardware mapping" resources and data
sources for the, currently, available bus types PCI and USB, based on
the Proxmox VE API documentations [2].

There are some "specialities" in these resources and data sources:

1. The Proxmox VE API attribute, but this implementations names it
   "comment" since this naming is generally across the Proxmox VE web UI
   and API documentations. This still follows the Terraform
   "best practices" [3] as it improves the user experience by matching
   the field name to the naming used in the human-facing interfaces.

2. Like in point 1, the name of the attribute of "node checks
   diagnostics" for USB hardware mappings is "errors" in the Proxmox VE
   API while it is "checks" for hardware mappings of type PCI.
   The second naming pattern is also generally used across the
   Proxmox VE web UI and API documentations, including the "check_node"
   attribute that is also implemented in the
   "proxmox_virtual_environment_hardware_mappings" data source.
   Therefore, this implementation named both attributes "checks" which
   still follows the Terraform "best practices" [3] as it improves the
   user experience by matching the field name to the naming used in the
   human-facing interfaces.
3. This implmenetation comes with the "unique" feature of allowing
   comments (named "descriptions" by the Proxmox VE API) for an entry in
   a device map which is not possible through the web UI at all but only
   adding a comment for the whole mapping entry instead.

Note that this implementation also adds another point in the
"Known Issues" documentation since it is only possible to map a
PCI/USB device using the `root` PAM account, but this is still better
than having to manually configure it through the web UI or by
interacting with the Proxmox VE API on other ways.

[1]: https://github.com/bpg/terraform-provider-proxmox/pull/500
[2]: https://pve.proxmox.com/pve-docs/api-viewer/#/cluster/mapping/pci
[3]: https://developer.hashicorp.com/terraform/plugin/best-practices/hashicorp-provider-design-principles#resource-and-attribute-schema-should-closely-match-the-underlying-api

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

* fix linter

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-04-18 16:00:51 -04:00
renovate[bot]
1bf3bf0f68
chore(deps): update tools (#1216)
| datasource     | package                                    | from    | to      |
| -------------- | ------------------------------------------ | ------- | ------- |
| go             | github.com/hashicorp/terraform-plugin-docs | v0.18.0 | v0.19.0 |
| golang-version | go                                         | 1.22.0  | 1.22.2  |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 16:46:35 -04:00
dependabot[bot]
19a13bee0a
chore(deps): bump github.com/sigstore/cosign/v2 from 2.2.3 to 2.2.4 in /tools (#1207)
chore(deps): bump github.com/sigstore/cosign/v2 in /tools

Bumps [github.com/sigstore/cosign/v2](https://github.com/sigstore/cosign) from 2.2.3 to 2.2.4.
- [Release notes](https://github.com/sigstore/cosign/releases)
- [Changelog](https://github.com/sigstore/cosign/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sigstore/cosign/compare/v2.2.3...v2.2.4)

---
updated-dependencies:
- dependency-name: github.com/sigstore/cosign/v2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-11 21:13:04 -04:00
renovate[bot]
f4e5ef8aaa
chore(deps): update tools (#1184)
* chore(ci): update actions/create-github-app-token action (v1.9.2 → v1.9.3)

| datasource  | package                         | from   | to     |
| ----------- | ------------------------------- | ------ | ------ |
| github-tags | actions/create-github-app-token | v1.9.2 | v1.9.3 |

* chore(deps): update tools

| datasource | package                                                       | from    | to      |
| ---------- | ------------------------------------------------------------- | ------- | ------- |
| go         | github.com/goreleaser/goreleaser                              | v1.24.0 | v1.25.1 |
| go         | go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp | v0.49.0 | v0.50.0 |

* fix go.mod

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-04-06 16:39:15 -04: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
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
dependabot[bot]
f4c80ad297
chore(deps): bump github.com/docker/docker from 24.0.7+incompatible to 24.0.9+incompatible in /tools (#1142)
chore(deps): bump github.com/docker/docker in /tools

Bumps [github.com/docker/docker](https://github.com/docker/docker) from 24.0.7+incompatible to 24.0.9+incompatible.
- [Release notes](https://github.com/docker/docker/releases)
- [Commits](https://github.com/docker/docker/compare/v24.0.7...v24.0.9)

---
updated-dependencies:
- dependency-name: github.com/docker/docker
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-20 22:30:43 -04:00
dependabot[bot]
1ffc40b77a
chore(deps): bump google.golang.org/protobuf from 1.31.0 to 1.33.0 in /tools (#1121)
chore(deps): bump google.golang.org/protobuf in /tools

Bumps google.golang.org/protobuf from 1.31.0 to 1.33.0.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-13 20:36:09 -04:00
dependabot[bot]
4bc7b291fe
chore(deps): bump gopkg.in/go-jose/go-jose.v2 from 2.6.1 to 2.6.3 in /tools (#1102)
chore(deps): bump gopkg.in/go-jose/go-jose.v2 in /tools

Bumps gopkg.in/go-jose/go-jose.v2 from 2.6.1 to 2.6.3.

---
updated-dependencies:
- dependency-name: gopkg.in/go-jose/go-jose.v2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-08 18:38:10 -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