- Supports v28.0+ version of Typesense.
- Terraform >= v0.12.0 (v0.11.x may work but not supported actively)
Clone repository to: $GOPATH/src/github.com/ronati/terraform-provider-typesense
$ mkdir -p $GOPATH/src/github.com/ronati; cd $GOPATH/src/github.com/ronati
$ git clone git@github.com:ronati/terraform-provider-typesense
Enter the provider directory and build the provider
$ cd $GOPATH/src/github.com/ronati/terraform-provider-typesense
$ make buildgo test -v -short ./...Acceptance tests require a running Typesense instance:
# Start Typesense
docker run -d --name typesense-test \
-p 8108:8108 \
-e TYPESENSE_DATA_DIR=/tmp \
-e TYPESENSE_API_KEY=test-api-key \
typesense/typesense:29.0
# Wait for it to start
sleep 5
# Run tests (will use localhost:8108 by default)
make testacc
# Clean up
docker stop typesense-test && docker rm typesense-testNote: Tests will automatically connect to http://localhost:8108 with API key test-api-key if environment variables are not set.
All contributions are welcome!
This project uses Conventional Commits for automated semantic versioning and releases. Please read our Contributing Guide for details on:
- Setting up your development environment
- Commit message format and validation
- Testing requirements
- Pull request process
# Clone and setup
git clone https://github.com/ronati/terraform-provider-typesense.git
cd terraform-provider-typesense
npm install
# Setup git hooks for commit validation (optional)
./scripts/setup-git-hooks.sh
# Make changes and commit following conventional commits format
git commit -m "feat: add new feature"All commits must follow the Conventional Commits specification:
type(scope): subject
Examples:
feat: add support for nested fields
fix: resolve document update issue
docs: update README
test: add tests for synonym resource
Note: Commit messages are automatically validated in CI. PRs with invalid commit messages will fail the build.
This project uses GitHub Actions for continuous integration and deployment:
- Pull Requests: Validates commit messages and runs all tests
- Master/Beta Branch: Automatically creates releases using semantic versioning
- Version Tags: Publishes provider to Terraform Registry
See GitHub Workflows Documentation for more details.
When you merge a PR from beta into master and it successfully publishes a new version on the latest channel, don't forget to create a PR from master to beta. This is mandatory for semantic-release to take it into account for next beta version.