Skip to content

Instantly share code, notes, and snippets.

View guivin's full-sized avatar

Guillaume Vincent guivin

View GitHub Profile
@guivin
guivin / grafana-values.yml
Created November 1, 2020 18:42
helm_terraform_example
rbac:
create: true
pspEnabled: true
pspUseAppArmor: true
namespaced: true
extraRoleRules: []
# - apiGroups: []
# resources: []
# verbs: []
extraClusterRoleRules: []
@guivin
guivin / provider.tf
Created November 1, 2020 18:46
helm_terraform_example_provider
provider "helm" {
kubernetes {
config_path = pathexpand(var.kube_config)
}
}
provider "kubernetes" {
config_path = pathexpand(var.kube_config)
}
@guivin
guivin / variables.tf
Created November 1, 2020 18:48
helm_terraform_example_variables
variable "kube_config" {
type = string
default = "~/.kube/config"
}
variable "namespace" {
type = string
default = "staging"
}
@guivin
guivin / namespace.tf
Created November 1, 2020 18:53
helm_terraform_example_namespace
resource "kubernetes_namespace" "this" {
metadata {
name = var.namespace
}
}
@guivin
guivin / prometheus.tf
Last active November 1, 2020 18:57
helm_terraform_example_prometheus
resource "helm_release" "prometheus" {
chart = "prometheus"
name = "prometheus"
namespace = var.namespace
repository = "https://prometheus-community.github.io/helm-charts"
# When you want to directly specify the value of an element in a map you need \\ to escape the point.
set {
name = "podSecurityPolicy\\.enabled"
value = true
@guivin
guivin / grafana.tf
Created November 1, 2020 19:20
helm_terraform_example_grafana
data "template_file" "grafana_values" {
template = file("./templates/grafana-values.yml")
vars = {
GRAFANA_SERVICE_ACCOUNT = "grafana"
GRAFANA_ADMIN_USER = "admin"
GRAFANA_ADMIN_PASSWORD = var.grafana_password
PROMETHEUS_SVC = "${helm_release.prometheus.name}-server"
NAMESPACE = var.namespace
}
@guivin
guivin / grafana-values.yml
Created November 1, 2020 19:23
helm_terraform_example_grafana_values
rbac:
create: true
pspEnabled: true
pspUseAppArmor: true
namespaced: true
extraRoleRules: []
# - apiGroups: []
# resources: []
# verbs: []
extraClusterRoleRules: []
@guivin
guivin / grafana-values.yml
Created December 5, 2020 16:54
helm_terraform_grafana_values
rbac:
create: true
pspEnabled: true
pspUseAppArmor: true
namespaced: true
extraRoleRules: []
# - apiGroups: []
# resources: []
# verbs: []
extraClusterRoleRules: []
@guivin
guivin / main.tf
Last active December 5, 2020 18:42
terraform_external_data_main_tf
variable "todo_id" {
type = number
}
data "external" "todo" {
program = ["python", "${path.module}/fetch_todo.py"]
query = {
id = var.todo_id
}
@guivin
guivin / fetch_todo.py
Created December 5, 2020 18:30
terraform_external_data_sources_python
#!/usr/bin/env python3
# coding: utf-8
import sys
import json
import requests
def fetch():
# The program needs to read the passed data in query from stdin
input_json = sys.stdin.read()