All Projects → k-yomo → terraform-provider-algolia

k-yomo / terraform-provider-algolia

Licence: MPL-2.0 license
Terraform Provider for Algolia

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to terraform-provider-algolia

terraform-provider-qingcloud
Terraform QingCloud Provider
Stars: ✭ 34 (+25.93%)
Mutual labels:  terraform-provider
terraform-provider-nix
terraform provider that manages nix builds and nixos machines.
Stars: ✭ 105 (+288.89%)
Mutual labels:  terraform-provider
Pure
Pure is a free social networking App. it is simple, reliable and it makes it easy to keep in touch with your friends and family. Pure works across mobile devices even on slow internet connections.
Stars: ✭ 28 (+3.7%)
Mutual labels:  algolia
terraform-provider-sumologic
Terraform provider for Sumo Logic
Stars: ✭ 24 (-11.11%)
Mutual labels:  terraform-provider
terraform-provider-checkly
Terraform provider for the Checkly monitoring service
Stars: ✭ 37 (+37.04%)
Mutual labels:  terraform-provider
terraform-provider-astra
A project that allows DataStax Astra users to manage their full database lifecycle for Astra Serverless databases (built on Apache Cassandra(TM)) using Terraform
Stars: ✭ 16 (-40.74%)
Mutual labels:  terraform-provider
terraform-provider-ignition
Terraform Ignition provider
Stars: ✭ 37 (+37.04%)
Mutual labels:  terraform-provider
terraform-provider-ddcloud
Terraform provider for Dimension Data cloud compute.
Stars: ✭ 17 (-37.04%)
Mutual labels:  terraform-provider
terraform-provider-twilio
Terraform provider for Twilio. 🌎☎️ Preserved for archaeological fun. Please see the official Twilio TF provider @ https://github.com/twilio/terraform-provider-twilio.
Stars: ✭ 32 (+18.52%)
Mutual labels:  terraform-provider
terraform-provider-jumpcloud
A Terraform provider for JumpCloud
Stars: ✭ 17 (-37.04%)
Mutual labels:  terraform-provider
terraform-provider-honeycombio
A Terraform provider for Honeycomb.io
Stars: ✭ 37 (+37.04%)
Mutual labels:  terraform-provider
terraform-provider-bitbucketserver
Terraform provider for Bitbucket Server Management
Stars: ✭ 26 (-3.7%)
Mutual labels:  terraform-provider
instantsearch-core-swift
⚡️ InstantSearch Core library for Swift and Objective-C
Stars: ✭ 18 (-33.33%)
Mutual labels:  algolia
terraform-provider-kite
Terraform provider for managing long term portfolio with Zerodha Kite
Stars: ✭ 21 (-22.22%)
Mutual labels:  terraform-provider
terraform-provider-vmc
Terraform provider for VMware Cloud on AWS
Stars: ✭ 16 (-40.74%)
Mutual labels:  terraform-provider
terraform-provider-nexus
Terraform provider for Sonatype Nexus
Stars: ✭ 74 (+174.07%)
Mutual labels:  terraform-provider
terraform-provider-spacelift
Terraform provider to interact with Spacelift
Stars: ✭ 26 (-3.7%)
Mutual labels:  terraform-provider
terraform-provider-ansiblevault
Read ansible vault from Terraform
Stars: ✭ 70 (+159.26%)
Mutual labels:  terraform-provider
terraform-provider-ncloud
Terraform NaverCloud provider
Stars: ✭ 25 (-7.41%)
Mutual labels:  terraform-provider
terraform-provider-dnsimple
Terraform DNSimple provider
Stars: ✭ 15 (-44.44%)
Mutual labels:  terraform-provider

Terraform Provider Algolia

License: MPL-2.0 Tests Workflow codecov Go Report Card

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 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 {
      automatic_facet_filters {
        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/\\*"]
}

Supported resources

Contributing

I appreciate your help!

To contribute, please read the Contributing to Terraform - Algolia Provider

Sponsor


ManoMano
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].