diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..1beaea8 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,49 @@ +# This GitHub action can publish assets for release when a tag is created. +# Currently its setup to run on any tag that matches the pattern "v*" (ie. v0.1.0). +# +# This uses an action (hashicorp/ghaction-import-gpg) that assumes you set your +# private key in the `GPG_PRIVATE_KEY` secret and passphrase in the `PASSPHRASE` +# secret. If you would rather own your own GPG handling, please fork this action +# or use an alternative one for key handling. +# +# You will need to pass the `--batch` flag to `gpg` in your signing step +# in `goreleaser` to indicate this is being used in a non-interactive mode. +# +name: release +on: + push: + tags: + - 'v*' +jobs: + goreleaser: + runs-on: ubuntu-latest + steps: + - + name: Checkout + uses: actions/checkout@v3 + - + name: Unshallow + run: git fetch --prune --unshallow + - + name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.16 + - + name: Import GPG key + id: import_gpg + uses: hashicorp/ghaction-import-gpg@v2.1.0 + env: + # These secrets will need to be configured for the repository: + GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} + PASSPHRASE: ${{ secrets.PASSPHRASE }} + - + name: Run GoReleaser + uses: goreleaser/goreleaser-action@v2.9.1 + with: + version: latest + args: release --rm-dist + env: + GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }} + # GitHub sets this automatically + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.goreleaser.yml b/.goreleaser.yml new file mode 100644 index 0000000..9bb0aa7 --- /dev/null +++ b/.goreleaser.yml @@ -0,0 +1,60 @@ +# Visit https://goreleaser.com for documentation on how to customize this +# behavior. +before: + hooks: + # this is just an example and not a requirement for provider building/publishing + - go mod tidy +builds: +- env: + # goreleaser does not work with CGO, it could also complicate + # usage by users in CI/CD systems like Terraform Cloud where + # they are unable to install libraries. + - CGO_ENABLED=0 + mod_timestamp: '{{ .CommitTimestamp }}' + flags: + - -trimpath + ldflags: + - '-s -w -X main.version={{.Version}} -X main.commit={{.Commit}}' + goos: + - freebsd + - windows + - linux + - darwin + goarch: + - amd64 + - '386' + - arm + - arm64 + ignore: + - goos: darwin + goarch: '386' + binary: '{{ .ProjectName }}_v{{ .Version }}' +archives: +- format: zip + name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}' +checksum: + extra_files: + - glob: 'terraform-registry-manifest.json' + name_template: '{{ .ProjectName }}_{{ .Version }}_manifest.json' + name_template: '{{ .ProjectName }}_{{ .Version }}_SHA256SUMS' + algorithm: sha256 +signs: + - artifacts: checksum + args: + # if you are using this in a GitHub action or some other automated pipeline, you + # need to pass the batch flag to indicate its not interactive. + - "--batch" + - "--local-user" + - "{{ .Env.GPG_FINGERPRINT }}" # set this environment variable for your signing key + - "--output" + - "${signature}" + - "--detach-sign" + - "${artifact}" +release: + extra_files: + - glob: 'terraform-registry-manifest.json' + name_template: '{{ .ProjectName }}_{{ .Version }}_manifest.json' + # If you want to manually examine the release before its live, uncomment this line: + # draft: true +changelog: + skip: true diff --git a/docs/data-sources/org.md b/docs/data-sources/org.md new file mode 100644 index 0000000..2741619 --- /dev/null +++ b/docs/data-sources/org.md @@ -0,0 +1,32 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "gitea_org Data Source - terraform-provider-gitea" +subcategory: "" +description: |- + +--- + +# gitea_org (Data Source) + + + + + + +## Schema + +### Optional + +- `name` (String) + +### Read-Only + +- `avatar_url` (String) +- `description` (String) +- `full_name` (String) +- `id` (Number) The ID of this resource. +- `location` (String) +- `visibility` (String) +- `website` (String) + + diff --git a/docs/data-sources/repo.md b/docs/data-sources/repo.md new file mode 100644 index 0000000..c033cab --- /dev/null +++ b/docs/data-sources/repo.md @@ -0,0 +1,50 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "gitea_repo Data Source - terraform-provider-gitea" +subcategory: "" +description: |- + +--- + +# gitea_repo (Data Source) + + + + + + +## Schema + +### Required + +- `name` (String) +- `username` (String) + +### Optional + +- `id` (String) The ID of this resource. + +### Read-Only + +- `clone_url` (String) +- `created` (String) +- `default_branch` (String) +- `description` (String) +- `fork` (Boolean) +- `forks` (Number) +- `full_name` (String) +- `html_url` (String) +- `mirror` (Boolean) +- `open_issue_count` (Number) +- `permission_admin` (Boolean) +- `permission_pull` (Boolean) +- `permission_push` (Boolean) +- `private` (Boolean) +- `size` (Number) +- `ssh_url` (String) +- `stars` (Number) +- `updated` (String) +- `watchers` (Number) +- `website` (String) + + diff --git a/docs/data-sources/user.md b/docs/data-sources/user.md new file mode 100644 index 0000000..b86c466 --- /dev/null +++ b/docs/data-sources/user.md @@ -0,0 +1,33 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "gitea_user Data Source - terraform-provider-gitea" +subcategory: "" +description: |- + +--- + +# gitea_user (Data Source) + + + + + + +## Schema + +### Optional + +- `username` (String) + +### Read-Only + +- `avatar_url` (String) +- `created` (String) +- `email` (String) +- `full_name` (String) +- `id` (Number) The ID of this resource. +- `is_admin` (Boolean) +- `language` (String) +- `last_login` (String) + + diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..9c3e82c --- /dev/null +++ b/docs/index.md @@ -0,0 +1,25 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "gitea Provider" +subcategory: "" +description: |- + +--- + +# gitea Provider + + + + + + +## Schema + +### Optional + +- `base_url` (String) The Gitea Base API URL +- `cacert_file` (String) A file containing the ca certificate to use in case ssl certificate is not from a standard chain +- `insecure` (Boolean) Disable SSL verification of API calls +- `password` (String) Password in case of using basic auth +- `token` (String) The application token used to connect to Gitea. +- `username` (String) Username in case of using basic auth