Gitea lists "Terraform" among its package registries, which reads as if the provider could be published there. It stores remote state for the http backend -- not modules, not providers.
91 lines
2.3 KiB
YAML
91 lines
2.3 KiB
YAML
# Publishes provider binaries to a Gitea release.
|
|
#
|
|
# These archives are consumed through a filesystem mirror, because Gitea cannot
|
|
# serve the provider protocol. Its package registry list does include
|
|
# "Terraform", but that one stores remote state for the `http` backend -- it is
|
|
# neither a module nor a provider registry. See "Installing" in the README.
|
|
#
|
|
# The archive names follow HashiCorp's convention
|
|
# (terraform-provider-NAME_VERSION_OS_ARCH.zip) because a filesystem mirror
|
|
# recognises exactly that shape, and nothing else.
|
|
version: 2
|
|
|
|
project_name: terraform-provider-dokploy
|
|
|
|
before:
|
|
hooks:
|
|
- go mod download
|
|
|
|
builds:
|
|
- id: provider
|
|
main: .
|
|
binary: "{{ .ProjectName }}_v{{ .Version }}"
|
|
env:
|
|
- CGO_ENABLED=0
|
|
flags:
|
|
- -trimpath
|
|
ldflags:
|
|
- -s -w
|
|
- -X main.version={{ .Version }}
|
|
goos:
|
|
- darwin
|
|
- linux
|
|
- windows
|
|
- freebsd
|
|
goarch:
|
|
- amd64
|
|
- arm64
|
|
- "386"
|
|
ignore:
|
|
- goos: darwin
|
|
goarch: "386"
|
|
|
|
archives:
|
|
- id: provider
|
|
formats: [zip]
|
|
name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
|
|
files:
|
|
- none*
|
|
|
|
checksum:
|
|
name_template: "{{ .ProjectName }}_{{ .Version }}_SHA256SUMS"
|
|
algorithm: sha256
|
|
|
|
# No `signs:` block on purpose. GPG signatures are required by the Terraform
|
|
# *registry* protocol; a filesystem mirror never checks them. Adding signing
|
|
# here would imply a verification step that nothing performs.
|
|
|
|
changelog:
|
|
use: git
|
|
sort: asc
|
|
filters:
|
|
exclude:
|
|
- "^docs:"
|
|
- "^test:"
|
|
- "^chore:"
|
|
|
|
gitea_urls:
|
|
api: https://gitea.coolify.vojtkov.dev/api/v1
|
|
download: https://gitea.coolify.vojtkov.dev
|
|
|
|
release:
|
|
gitea:
|
|
owner: usr_unknown
|
|
name: terraform-provider-dokploy
|
|
header: |
|
|
## terraform-provider-dokploy {{ .Tag }}
|
|
|
|
Gitea cannot serve the Terraform registry protocol, so install through a
|
|
filesystem mirror:
|
|
|
|
```bash
|
|
VERSION={{ trimprefix .Tag "v" }}
|
|
OS_ARCH="$(go env GOOS)_$(go env GOARCH)"
|
|
DEST=~/.local/share/terraform/plugins/registry.terraform.io/maxvojtkov/dokploy/$VERSION/$OS_ARCH
|
|
mkdir -p "$DEST"
|
|
unzip -j terraform-provider-dokploy_${VERSION}_${OS_ARCH}.zip -d "$DEST"
|
|
```
|
|
|
|
Then point Terraform at the mirror -- the exact `~/.terraformrc` block is
|
|
printed by `make install`.
|