Echo Driver
On this page
Resource Definitions using the Echo Driver
This section contains example Resource Definitions using the Echo Driver.
Namespace
This section contains example Resource Definitions using the Echo Driver for managing Kubernetes namespaces.
custom-namespace.yaml
: Shows how to use the Echo Driver to return the name of an externally managed namespace. This format is for use with the Humanitec CLI.custom-namespace.tf
: Shows how to use the Echo Driver to return the name of an externally managed namespace. This format is for use with the Humanitec Terraform provider.
custom-namespace.tf
(view on GitHub)
:
resource "humanitec_resource_definition" "namespace-echo" {
driver_type = "humanitec/echo"
id = "namespace-echo"
name = "namespace-echo"
type = "k8s-namespace"
driver_inputs = {
values_string = jsonencode({
"namespace" = "$${context.app.id}-$${context.env.id}"
})
}
}
resource "humanitec_resource_definition_criteria" "namespace-echo_criteria_0" {
resource_definition_id = resource.humanitec_resource_definition.namespace-echo.id
}
custom-namespace.yaml
(view on GitHub)
:
apiVersion: entity.humanitec.io/v1b1
kind: Definition
metadata:
id: namespace-echo
entity:
name: namespace-echo
type: k8s-namespace
driver_type: humanitec/echo
driver_inputs:
values:
namespace: "${context.app.id}-${context.env.id}"
criteria:
- {}
Postgres
This section contains example Resource Definitions using the Echo Driver for PostgreSQL.
postgres-secretstore.yaml
: Shows how to use the Echo Driver and secret references to fetch database credentials from an external secret store. This format is for use with the Humanitec CLI.
postgres-secretstore.tf
(view on GitHub)
:
resource "humanitec_resource_definition" "postgres-echo" {
driver_type = "humanitec/echo"
id = "postgres-echo"
name = "postgres-echo"
type = "postgres"
driver_inputs = {
values_string = jsonencode({
"name" = "my-database"
"host" = "products.postgres.dev.example.com"
"port" = 5432
})
secret_refs = jsonencode({
"username" = {
"store" = "my-gsm"
"ref" = "cloudsql-username"
}
"password" = {
"store" = "my-gsm"
"ref" = "cloudsql-password"
}
})
}
}
resource "humanitec_resource_definition_criteria" "postgres-echo_criteria_0" {
resource_definition_id = resource.humanitec_resource_definition.postgres-echo.id
}
postgres-secretstore.yaml
(view on GitHub)
:
apiVersion: entity.humanitec.io/v1b1
kind: Definition
metadata:
id: postgres-echo
entity:
name: postgres-echo
type: postgres
driver_type: humanitec/echo
driver_inputs:
values:
name: my-database
host: products.postgres.dev.example.com
port: 5432
secret_refs:
username:
store: my-gsm
ref: cloudsql-username
password:
store: my-gsm
ref: cloudsql-password
criteria:
- {}
Redis
This section contains example Resource Definitions using the Echo Driver for Redis.
redis-secret-refs.yaml
: Shows how to use the Echo Driver and secret references to provision a Redis resource. This format is for use with the Humanitec CLI.
redis-secret-refs.tf
(view on GitHub)
:
resource "humanitec_resource_definition" "redis-echo" {
driver_type = "humanitec/echo"
id = "redis-echo"
name = "redis-echo"
type = "redis"
driver_inputs = {
values_string = jsonencode({
"host" = "0.0.0.0"
"port" = 6379
})
secret_refs = jsonencode({
"password" = {
"store" = "my-gsm"
"ref" = "redis-password"
}
"username" = {
"store" = "my-gsm"
"ref" = "redis-user"
}
})
}
}
resource "humanitec_resource_definition_criteria" "redis-echo_criteria_0" {
resource_definition_id = resource.humanitec_resource_definition.redis-echo.id
}
redis-secret-refs.yaml
(view on GitHub)
:
apiVersion: entity.humanitec.io/v1b1
kind: Definition
metadata:
id: redis-echo
entity:
name: redis-echo
type: redis
driver_type: humanitec/echo
driver_inputs:
values:
host: 0.0.0.0
port: 6379
secret_refs:
password:
store: my-gsm
ref: redis-password
username:
store: my-gsm
ref: redis-user
criteria:
- {}