mirror of
https://github.com/bpg/terraform-provider-proxmox.git
synced 2025-07-05 21:43:59 +00:00
Merge pull request #8 from bpg/update-ci-and-project-configs
update various project configs, mostly for CI
This commit is contained in:
commit
d7b7952a13
4
.github/ISSUE_TEMPLATE/bug_report.md
vendored
4
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@ -1,8 +1,8 @@
|
|||||||
---
|
---
|
||||||
name: Bug report
|
name: Bug report
|
||||||
about: Create a report to help us improve
|
about: Create a report to help us improve
|
||||||
title: "[BUG]"
|
title: ""
|
||||||
labels: ''
|
labels: 'bug'
|
||||||
assignees: ''
|
assignees: ''
|
||||||
|
|
||||||
---
|
---
|
||||||
|
4
.github/ISSUE_TEMPLATE/feature_request.md
vendored
4
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@ -1,8 +1,8 @@
|
|||||||
---
|
---
|
||||||
name: Feature request
|
name: Feature request
|
||||||
about: Suggest an idea for this project
|
about: Suggest an idea for this project
|
||||||
title: "[FEATURE]"
|
title: ""
|
||||||
labels: ''
|
labels: 'enhancement'
|
||||||
assignees: ''
|
assignees: ''
|
||||||
|
|
||||||
---
|
---
|
||||||
|
31
.github/dependabot.yml
vendored
Normal file
31
.github/dependabot.yml
vendored
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: "github-actions"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
||||||
|
- package-ecosystem: "gomod"
|
||||||
|
directory: "/"
|
||||||
|
ignore:
|
||||||
|
- dependency-name: "golang.org/x/tools"
|
||||||
|
- dependency-name: "google.golang.org/grpc"
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
||||||
|
- package-ecosystem: "gomod"
|
||||||
|
directory: "/awsproviderlint"
|
||||||
|
ignore:
|
||||||
|
- dependency-name: "golang.org/x/tools"
|
||||||
|
- dependency-name: "google.golang.org/grpc"
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
||||||
|
- package-ecosystem: "gomod"
|
||||||
|
directory: "/tools"
|
||||||
|
ignore:
|
||||||
|
- dependency-name: "golang.org/x/tools"
|
||||||
|
- dependency-name: "google.golang.org/grpc"
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
||||||
|
- package-ecosystem: "terraform"
|
||||||
|
directory: "/infrastructure/repository"
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
28
.github/workflows/generate_changelog.yml
vendored
Normal file
28
.github/workflows/generate_changelog.yml
vendored
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
name: Generate CHANGELOG
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [closed]
|
||||||
|
|
||||||
|
release:
|
||||||
|
types: [published]
|
||||||
|
|
||||||
|
issues:
|
||||||
|
types: [closed, edited]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
generate_changelog:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Generate changelog for master branch
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Generate changelog
|
||||||
|
uses: charmixer/auto-changelog-action@v1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- uses: stefanzweifel/git-auto-commit-action@v4
|
||||||
|
with:
|
||||||
|
commit_message: Update Changelog for PR
|
||||||
|
file_pattern: CHANGELOG.md
|
85
.github/workflows/test.yml
vendored
85
.github/workflows/test.yml
vendored
@ -1,34 +1,71 @@
|
|||||||
name: Test changes
|
name: Tests
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- 'README.md'
|
||||||
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- master
|
- "release/**"
|
||||||
- 'release/v*'
|
paths-ignore:
|
||||||
|
- 'README.md'
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
# ensure the code builds...
|
||||||
name: Pull Request
|
build:
|
||||||
runs-on: ubuntu-20.04
|
name: Build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 5
|
||||||
steps:
|
steps:
|
||||||
-
|
|
||||||
name: Checkout the code
|
- name: Set up Go
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
-
|
|
||||||
name: Install and configure Go
|
|
||||||
uses: actions/setup-go@v2
|
uses: actions/setup-go@v2
|
||||||
with:
|
with:
|
||||||
go-version: 1.15
|
go-version: '1.16'
|
||||||
-
|
id: go
|
||||||
name: Install and configure GoReleaser
|
|
||||||
|
- name: Check out code into the Go module directory
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Get dependencies
|
||||||
|
run: |
|
||||||
|
go mod download
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
go build -v .
|
||||||
|
# run acceptance tests in a matrix with Terraform core versions
|
||||||
|
test:
|
||||||
|
name: Matrix Test
|
||||||
|
needs: build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 15
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
# list whatever Terraform versions here you would like to support
|
||||||
|
terraform:
|
||||||
|
- '0.14.11'
|
||||||
|
- '0.15.5'
|
||||||
|
- '1.0.6'
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@v2
|
||||||
|
with:
|
||||||
|
go-version: '1.16'
|
||||||
|
id: go
|
||||||
|
|
||||||
|
- name: Check out code into the Go module directory
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Get dependencies
|
||||||
|
run: |
|
||||||
|
go mod download
|
||||||
|
|
||||||
|
- name: TF acceptance tests
|
||||||
|
timeout-minutes: 10
|
||||||
env:
|
env:
|
||||||
GORELEASER_VERSION: '0.155.1'
|
TF_ACC: "1"
|
||||||
|
TF_ACC_TERRAFORM_VERSION: ${{ matrix.terraform }}
|
||||||
|
|
||||||
run: |
|
run: |
|
||||||
curl -sL -o goreleaser_amd64.deb "https://github.com/goreleaser/goreleaser/releases/download/v${GORELEASER_VERSION}/goreleaser_amd64.deb"
|
go test -v -cover ./...
|
||||||
sudo dpkg -i goreleaser_amd64.deb
|
|
||||||
rm -f goreleaser_amd64.deb
|
|
||||||
-
|
|
||||||
name: Create snapshot
|
|
||||||
run: |
|
|
||||||
goreleaser build --parallelism 2 --rm-dist --snapshot --timeout 1h
|
|
||||||
|
3
.github_changelog_generator
Normal file
3
.github_changelog_generator
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
since_tag=v0.4.4
|
||||||
|
add-sections={"dependencies":{"prefix":"**Dependency updates:**","labels":["dependencies"]}}
|
||||||
|
pr-wo-labels=false
|
1
.go-version
Normal file
1
.go-version
Normal file
@ -0,0 +1 @@
|
|||||||
|
1.16.0
|
@ -1,48 +1,47 @@
|
|||||||
|
archives:
|
||||||
|
- files:
|
||||||
|
- none*
|
||||||
|
format: zip
|
||||||
|
name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}'
|
||||||
before:
|
before:
|
||||||
hooks:
|
hooks:
|
||||||
- go mod tidy
|
- go mod download
|
||||||
builds:
|
builds:
|
||||||
- env:
|
- binary: '{{ .ProjectName }}_{{ .Version }}'
|
||||||
- CGO_ENABLED=0
|
|
||||||
mod_timestamp: '{{ .CommitTimestamp }}'
|
|
||||||
flags:
|
flags:
|
||||||
- -trimpath
|
- -trimpath
|
||||||
ldflags:
|
|
||||||
- '-s -w -X main.version={{.Version}} -X main.commit={{.Commit}}'
|
|
||||||
goos:
|
|
||||||
- freebsd
|
|
||||||
- windows
|
|
||||||
- linux
|
|
||||||
- darwin
|
|
||||||
goarch:
|
goarch:
|
||||||
- amd64
|
|
||||||
- '386'
|
- '386'
|
||||||
|
- amd64
|
||||||
- arm
|
- arm
|
||||||
- arm64
|
- arm64
|
||||||
|
goos:
|
||||||
|
- darwin
|
||||||
|
- freebsd
|
||||||
|
- linux
|
||||||
|
- windows
|
||||||
ignore:
|
ignore:
|
||||||
- goos: darwin
|
- goarch: '386'
|
||||||
goarch: '386'
|
goos: darwin
|
||||||
binary: '{{ .ProjectName }}_v{{ .Version }}'
|
ldflags:
|
||||||
archives:
|
- -s -w -X version.ProviderVersion={{.Version}}
|
||||||
- format: zip
|
mod_timestamp: '{{ .CommitTimestamp }}'
|
||||||
name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}'
|
changelog:
|
||||||
|
skip: true
|
||||||
checksum:
|
checksum:
|
||||||
name_template: '{{ .ProjectName }}_{{ .Version }}_SHA256SUMS'
|
name_template: '{{ .ProjectName }}_{{ .Version }}_SHA256SUMS'
|
||||||
algorithm: sha256
|
algorithm: sha256
|
||||||
|
env:
|
||||||
|
- CGO_ENABLED=0
|
||||||
|
release:
|
||||||
|
disable: true
|
||||||
signs:
|
signs:
|
||||||
- artifacts: checksum
|
- artifacts: checksum
|
||||||
args:
|
args:
|
||||||
- "--batch"
|
- "--batch"
|
||||||
- "--local-user"
|
- "--local-user"
|
||||||
- "{{ .Env.GPG_FINGERPRINT }}"
|
- "{{ .Env.GPG_FINGERPRINT }}" # set this environment variable for your signing key
|
||||||
- "--output"
|
- "--output"
|
||||||
- "${signature}"
|
- "${signature}"
|
||||||
- "--passphrase-fd"
|
|
||||||
- "0"
|
|
||||||
- "--detach-sign"
|
- "--detach-sign"
|
||||||
- "${artifact}"
|
- "${artifact}"
|
||||||
stdin_file: /tmp/.gpg_passphrase
|
|
||||||
release:
|
|
||||||
draft: false
|
|
||||||
changelog:
|
|
||||||
skip: true
|
|
||||||
|
143
HISTORY.md
Normal file
143
HISTORY.md
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
## v0.4.4
|
||||||
|
|
||||||
|
BUG FIXES:
|
||||||
|
|
||||||
|
* resource/virtual_environment_vm: Fix watchdog deserialization issue
|
||||||
|
|
||||||
|
## v0.4.3
|
||||||
|
|
||||||
|
BUG FIXES:
|
||||||
|
|
||||||
|
* resource/virtual_environment_container: Fix IP initialization issue
|
||||||
|
|
||||||
|
## v0.4.2
|
||||||
|
|
||||||
|
BUG FIXES:
|
||||||
|
|
||||||
|
* resource/virtual_environment_vm: Fix `disk.file_id` diff issue
|
||||||
|
* resource/virtual_environment_vm: Fix disk resizing issue
|
||||||
|
|
||||||
|
OTHER:
|
||||||
|
|
||||||
|
* provider/example: Remove support for Terraform v0.11 and older
|
||||||
|
* provider/makefile: Update to use plugin caching to support local builds
|
||||||
|
|
||||||
|
## v0.4.1
|
||||||
|
|
||||||
|
OTHER:
|
||||||
|
|
||||||
|
* provider/docs: Fix issue with navigational link titles in Terraform Registry
|
||||||
|
|
||||||
|
## v0.4.0
|
||||||
|
|
||||||
|
FEATURES:
|
||||||
|
|
||||||
|
* **New Data Source:** `proxmox_virtual_environment_time`
|
||||||
|
* **New Resource:** `proxmox_virtual_environment_time`
|
||||||
|
|
||||||
|
BREAKING CHANGES:
|
||||||
|
|
||||||
|
* resource/virtual_environment_vm: `interface` is now required to create disks
|
||||||
|
|
||||||
|
```
|
||||||
|
disk {
|
||||||
|
datastore_id = "local-lvm"
|
||||||
|
file_id = "${proxmox_virtual_environment_file.ubuntu_cloud_image.id}"
|
||||||
|
interface = "scsi0"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
ENHANCEMENTS:
|
||||||
|
|
||||||
|
* provider/configuration: Add `virtual_environment.otp` argument for TOTP support
|
||||||
|
* resource/virtual_environment_vm: Clone supports resize and datastore_id for moving disks
|
||||||
|
* resource/virtual_environment_vm: Bulk clones can now use retries as argument to try multiple times to create a clone.
|
||||||
|
* resource/virtual_environment_vm: `on_boot` parameter can be used to start a VM after the Node has been rebooted.
|
||||||
|
* resource/virtual_environment_vm: `reboot` parameter can be used to reboot a VM after creation
|
||||||
|
* resource/virtual_environment_vm: Has now multiple new parameters to set timeouts for the vm creation/cloning `timeout_clone`, `timeout_move_disk`, `timeout_reboot`, `timeout_shutdown_vm`, `timeout_start_vm`, `timeout_stop_vm`
|
||||||
|
|
||||||
|
BUG FIXES:
|
||||||
|
|
||||||
|
* library/virtual_environment_nodes: Fix node IP address format
|
||||||
|
* library/virtual_environment_nodes: Fix WaitForNodeTask now detects errors correctly
|
||||||
|
* library/virtual_environment_vm: Fix CloneVM now waits for the task to be finished and detect errors.
|
||||||
|
* resource/virtual_environment_container: Fix VM ID collision when `vm_id` is not specified
|
||||||
|
* resource/virtual_environment_vm: Fix VM ID collision when `vm_id` is not specified
|
||||||
|
* resource/virtual_environment_vm: Fix disk import issue when importing from directory-based datastores
|
||||||
|
* resource/virtual_environment_vm: Fix handling of storage name - correct handling of `-`
|
||||||
|
|
||||||
|
WORKAROUNDS:
|
||||||
|
|
||||||
|
* resource/virtual_environment_vm: Ignore default value for `cpu.architecture` when the root account is not being used
|
||||||
|
|
||||||
|
## 0.3.0
|
||||||
|
|
||||||
|
ENHANCEMENTS:
|
||||||
|
|
||||||
|
* resource/virtual_environment_container: Add `clone` argument
|
||||||
|
* resource/virtual_environment_container: Add `disk` argument
|
||||||
|
* resource/virtual_environment_container: Add `template` argument
|
||||||
|
* resource/virtual_environment_vm: Add `agent.timeout` argument
|
||||||
|
* resource/virtual_environment_vm: Add `audio_device` argument
|
||||||
|
* resource/virtual_environment_vm: Add `clone` argument
|
||||||
|
* resource/virtual_environment_vm: Add `initialization.datastore_id` argument
|
||||||
|
* resource/virtual_environment_vm: Add `serial_device` argument
|
||||||
|
* resource/virtual_environment_vm: Add `template` argument
|
||||||
|
|
||||||
|
BUG FIXES:
|
||||||
|
|
||||||
|
* resource/virtual_environment_container: Fix `network_interface` deletion issue
|
||||||
|
* resource/virtual_environment_vm: Fix `network_device` deletion issue
|
||||||
|
* resource/virtual_environment_vm: Fix slow refresh when VM is stopped and agent is enabled
|
||||||
|
* resource/virtual_environment_vm: Fix crash caused by assuming IP addresses are always reported by the QEMU agent
|
||||||
|
* resource/virtual_environment_vm: Fix timeout issue while waiting for IP addresses to be reported by the QEMU agent
|
||||||
|
|
||||||
|
OTHER:
|
||||||
|
|
||||||
|
* provider/docs: Add HTML documentation powered by GitHub Pages
|
||||||
|
|
||||||
|
## 0.2.0
|
||||||
|
|
||||||
|
BREAKING CHANGES:
|
||||||
|
|
||||||
|
* resource/virtual_environment_vm: Rename `cloud_init` argument to `initialization`
|
||||||
|
* resource/virtual_environment_vm: Rename `os_type` argument to `operating_system.type`
|
||||||
|
|
||||||
|
FEATURES:
|
||||||
|
|
||||||
|
* **New Data Source:** `proxmox_virtual_environment_dns`
|
||||||
|
* **New Data Source:** `proxmox_virtual_environment_hosts`
|
||||||
|
* **New Resource:** `proxmox_virtual_environment_certificate`
|
||||||
|
* **New Resource:** `proxmox_virtual_environment_container`
|
||||||
|
* **New Resource:** `proxmox_virtual_environment_dns`
|
||||||
|
* **New Resource:** `proxmox_virtual_environment_hosts`
|
||||||
|
|
||||||
|
ENHANCEMENTS:
|
||||||
|
|
||||||
|
* resource/virtual_environment_vm: Add `acpi` argument
|
||||||
|
* resource/virtual_environment_vm: Add `bios` argument
|
||||||
|
* resource/virtual_environment_vm: Add `cpu.architecture`, `cpu.flags`, `cpu.type` and `cpu.units` arguments
|
||||||
|
* resource/virtual_environment_vm: Add `tablet_device` argument
|
||||||
|
* resource/virtual_environment_vm: Add `vga` argument
|
||||||
|
|
||||||
|
## 0.1.0
|
||||||
|
|
||||||
|
FEATURES:
|
||||||
|
|
||||||
|
* **New Data Source:** `proxmox_virtual_environment_datastores`
|
||||||
|
* **New Data Source:** `proxmox_virtual_environment_group`
|
||||||
|
* **New Data Source:** `proxmox_virtual_environment_groups`
|
||||||
|
* **New Data Source:** `proxmox_virtual_environment_nodes`
|
||||||
|
* **New Data Source:** `proxmox_virtual_environment_pool`
|
||||||
|
* **New Data Source:** `proxmox_virtual_environment_pools`
|
||||||
|
* **New Data Source:** `proxmox_virtual_environment_role`
|
||||||
|
* **New Data Source:** `proxmox_virtual_environment_roles`
|
||||||
|
* **New Data Source:** `proxmox_virtual_environment_user`
|
||||||
|
* **New Data Source:** `proxmox_virtual_environment_users`
|
||||||
|
* **New Data Source:** `proxmox_virtual_environment_version`
|
||||||
|
* **New Resource:** `proxmox_virtual_environment_file`
|
||||||
|
* **New Resource:** `proxmox_virtual_environment_group`
|
||||||
|
* **New Resource:** `proxmox_virtual_environment_pool`
|
||||||
|
* **New Resource:** `proxmox_virtual_environment_role`
|
||||||
|
* **New Resource:** `proxmox_virtual_environment_user`
|
||||||
|
* **New Resource:** `proxmox_virtual_environment_vm`
|
@ -6,7 +6,7 @@ A Terraform Provider which adds support for Proxmox solutions.
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
- [Terraform](https://www.terraform.io/downloads.html) 0.13+
|
- [Terraform](https://www.terraform.io/downloads.html) 0.13+
|
||||||
- [Go](https://golang.org/doc/install) 1.15+ (to build the provider plugin)
|
- [Go](https://golang.org/doc/install) 1.16+ (to build the provider plugin)
|
||||||
- [GoReleaser](https://goreleaser.com/install/) 0.155+ (to build the provider plugin)
|
- [GoReleaser](https://goreleaser.com/install/) 0.155+ (to build the provider plugin)
|
||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
Loading…
Reference in New Issue
Block a user