Terraform Provider for Algolia.
Full, comprehensive documentation is available on the Terraform website:
https://registry.terraform.io/providers/k-yomo/algolia/latest/docs
Set an environment variable ALGOLIA_API_KEY
to store your Algolia API key.
$ export ALGOLIA_API_KEY=<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)",
]
attributes_for_faceting = [
"category"
]
unretrievable_attributes = [
"author_email"
]
attributes_to_retrieve = [
"title",
"category",
"tag",
"description",
"body"
]
}
ranking_config {
ranking = [
"words",
"proximity"
]
}
faceting_config {
max_values_per_facet = 50
sort_facet_values_by = "alpha"
}
languages_config {
remove_stop_words_for = ["en"]
}
}
resource "algolia_rule" "example" {
index_name = algolia_index.example.name
object_id = "example-rule"
conditions {
pattern = "{facet:category}"
anchoring = "contains"
}
consequence {
params_json = jsondecode({
automaticFacetFilters = {
facet = "category"
disjunctive = true
}
})
}
}
resource "algolia_api_key" "example" {
acl = [
"search",
"browse"
]
expires_at = "2030-01-01T00:00:00Z"
max_hits_per_query = 100
max_queries_per_ip_per_hour = 10000
description = "This is a example api key"
indexes = [algolia_index.example.name]
referers = ["https://algolia.com/\\*"]
}
I appreciate your help!
To contribute, please read the Contributing to Terraform - Algolia Provider
ManoMano