Terraform Provider for Algolia
Terraform Provider Algolia
Terraform Provider for Algolia.
Documentation
Full, comprehensive documentation is available on the Terraform website:
https://registry.terraform.io/providers/k-yomo/algolia/latest/docs
Using the provider
Set an environment variable ALGOLIAAPIKEY to store your Algolia API key.
$ export ALGOLIAAPIKEY=<your api key>
The example below demonstrates the following operations:
- create index
- create rule for the index
- create api key to search the index
terraform {
required_providers {
algolia = {
source = "k-yomo/algolia"
version = ">= 0.1.0, < 1.0.0"
}
}
}
provider "algolia" { app_id = "XXXXXXXXXX" }
resource "algolia_index" "example" { name = "example" attributes_config { searchable_attributes = [ "title", "category,tag", "unordered(description)", ] attributesforfaceting = [ "category" ] unretrievable_attributes = [ "author_email" ] attributestoretrieve = [ "title", "category", "tag", "description", "body" ] }
ranking_config { ranking = [ "words", "proximity" ] }
faceting_config { maxvaluesper_facet = 50 sortfacetvalues_by = "alpha" }
languages_config { removestopwords_for = ["en"] } }
resource "algolia_rule" "example" { indexname = algoliaindex.example.name object_id = "example-rule"
conditions { pattern = "{facet:category}" anchoring = "contains" }
consequence { params_json = jsondecode({ automaticFacetFilters = { facet = "category" disjunctive = true } }) } }
resource "algoliaapikey" "example" { acl = [ "search", "browse" ] expires_at = "2030-01-01T00:00:00Z" maxhitsper_query = 100 maxqueriesperipper_hour = 10000 description = "This is a example api key" indexes = [algolia_index.example.name] referers = ["https://algolia.com/\\*"] }
Supported resources
- [x] Settings
- [x] Rule
- [x] Api Keys
- [x] Synonym
- [x] Query Suggestions
- [ ] A/B Test
- [ ] Dictionaries
- [ ] Personalization
Contributing
I appreciate your help!
To contribute, please read the Contributing to Terraform - Algolia Provider
Sponsor
ManoMano