Required Inputs
The following input variables are required:
logs_storage
Description: MinIO S3 bucket configuration values for the bucket where the logs will be stored.
Type:
object({
    bucket_name = string
    endpoint    = string
    access_key  = string
    secret_key  = string
    insecure    = optional(bool, true)
  })Optional Inputs
The following input variables are optional (have default values):
argocd_project
Description: Name of the Argo CD AppProject where the Application should be created. If not set, the Application will be created in a new AppProject only for this Application.
Type: string
Default: null
argocd_labels
Description: Labels to attach to the Argo CD Application resource.
Type: map(string)
Default: {}
destination_cluster
Description: Destination cluster where the application should be deployed.
Type: string
Default: "in-cluster"
target_revision
Description: Override of target revision of the application chart.
Type: string
Default: "v10.0.0"
helm_values
Description: Helm chart value overrides. They should be passed as a list of HCL structures.
Type: any
Default: []
app_autosync
Description: Automated sync options for the Argo CD Application resource.
Type:
object({
    allow_empty = optional(bool)
    prune       = optional(bool)
    self_heal   = optional(bool)
  })Default:
{
  "allow_empty": false,
  "prune": true,
  "self_heal": true
}dependency_ids
Description: IDs of the other modules on which this module depends on.
Type: map(string)
Default: {}
resources
Description: Resource limits and requests for Loki’s components. Follow the style on official documentation to understand the format of the values.
| These are not production values. You should always adjust them to your needs. | 
Type:
object({
    ingester = optional(object({
      requests = optional(object({
        cpu    = optional(string, "100m")
        memory = optional(string, "256Mi")
      }), {})
      limits = optional(object({
        cpu    = optional(string)
        memory = optional(string, "512Mi")
      }), {})
    }), {})
    distributor = optional(object({
      requests = optional(object({
        cpu    = optional(string, "100m")
        memory = optional(string, "256Mi")
      }), {})
      limits = optional(object({
        cpu    = optional(string)
        memory = optional(string, "512Mi")
      }), {})
    }), {})
    querier = optional(object({
      requests = optional(object({
        cpu    = optional(string, "100m")
        memory = optional(string, "256Mi")
      }), {})
      limits = optional(object({
        cpu    = optional(string)
        memory = optional(string, "512Mi")
      }), {})
    }), {})
    query_frontend = optional(object({
      requests = optional(object({
        cpu    = optional(string, "100m")
        memory = optional(string, "256Mi")
      }), {})
      limits = optional(object({
        cpu    = optional(string)
        memory = optional(string, "512Mi")
      }), {})
    }), {})
    query_scheduler = optional(object({
      requests = optional(object({
        cpu    = optional(string, "100m")
        memory = optional(string, "256Mi")
      }), {})
      limits = optional(object({
        cpu    = optional(string)
        memory = optional(string, "512Mi")
      }), {})
    }), {})
    compactor = optional(object({
      requests = optional(object({
        cpu    = optional(string, "100m")
        memory = optional(string, "512Mi")
      }), {})
      limits = optional(object({
        cpu    = optional(string)
        memory = optional(string, "1Gi")
      }), {})
    }), {})
    index_gateway = optional(object({
      requests = optional(object({
        cpu    = optional(string, "100m")
        memory = optional(string, "256Mi")
      }), {})
      limits = optional(object({
        cpu    = optional(string)
        memory = optional(string, "1Gi")
      }), {})
    }), {})
    memcached_chunks = optional(object({
      requests = optional(object({
        cpu    = optional(string, "100m")
        memory = optional(string, "256Mi")
      }), {})
      limits = optional(object({
        cpu    = optional(string)
        memory = optional(string, "512Mi")
      }), {})
    }), {})
    memcached_frontend = optional(object({
      requests = optional(object({
        cpu    = optional(string, "100m")
        memory = optional(string, "256Mi")
      }), {})
      limits = optional(object({
        cpu    = optional(string)
        memory = optional(string, "512Mi")
      }), {})
    }), {})
    memcached_index_queries = optional(object({
      requests = optional(object({
        cpu    = optional(string, "100m")
        memory = optional(string, "256Mi")
      }), {})
      limits = optional(object({
        cpu    = optional(string)
        memory = optional(string, "512Mi")
      }), {})
    }), {})
    memcached_index_writes = optional(object({
      requests = optional(object({
        cpu    = optional(string, "100m")
        memory = optional(string, "256Mi")
      }), {})
      limits = optional(object({
        cpu    = optional(string)
        memory = optional(string, "512Mi")
      }), {})
    }), {})
    promtail = optional(object({
      requests = optional(object({
        cpu    = optional(string, "100m")
        memory = optional(string, "256Mi")
      }), {})
      limits = optional(object({
        cpu    = optional(string)
        memory = optional(string, "512Mi")
      }), {})
    }), {})
    grafana_eventhandler = optional(object({
      requests = optional(object({
        cpu    = optional(string, "100m")
        memory = optional(string, "128Mi")
      }), {})
      limits = optional(object({
        cpu    = optional(string)
        memory = optional(string, "256Mi")
      }), {})
    }), {})
  })Default: {}
ingress
Description: Loki frontend ingress configuration.
Type:
object({
    hosts          = list(string)
    cluster_issuer = string
    allowed_ips    = optional(list(string), [])
  })Default: null
retention
Description: Logs retention period. To deactivate retention, pass 0s.
Type: string
Default: "30d"
Outputs
The following outputs are exported:
id
Description: ID to pass other modules in order to refer to this module as a dependency.
Modules
| Name | Source | Version | 
|---|---|---|
Inputs
| Name | Description | Type | Default | Required | ||
|---|---|---|---|---|---|---|
| MinIO S3 bucket configuration values for the bucket where the logs will be stored. |  | n/a | yes | |||
| Name of the Argo CD AppProject where the Application should be created. If not set, the Application will be created in a new AppProject only for this Application. | 
 | 
 | no | |||
| Labels to attach to the Argo CD Application resource. | 
 | 
 | no | |||
| Destination cluster where the application should be deployed. | 
 | 
 | no | |||
| Override of target revision of the application chart. | 
 | 
 | no | |||
| Helm chart value overrides. They should be passed as a list of HCL structures. | 
 | 
 | no | |||
| Automated sync options for the Argo CD Application resource. |  |  | no | |||
| IDs of the other modules on which this module depends on. | 
 | 
 | no | |||
| Resource limits and requests for Loki’s components. Follow the style on official documentation to understand the format of the values. 
 |  | 
 | no | |||
| Loki frontend ingress configuration. |  | 
 | no | |||
| Logs retention period. To deactivate retention, pass 0s. | 
 | 
 | no | 
Outputs
| Name | Description | 
|---|---|
| ID to pass other modules in order to refer to this module as a dependency. | |
| Credentials to access the Loki ingress, if activated. |