You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			47 lines
		
	
	
		
			998 B
		
	
	
	
		
			HCL
		
	
			
		
		
	
	
			47 lines
		
	
	
		
			998 B
		
	
	
	
		
			HCL
		
	
| terraform {
 | |
|   required_version = ">= 1.0"
 | |
| 
 | |
|   required_providers {
 | |
|     coder = {
 | |
|       source  = "coder/coder"
 | |
|       version = ">= 0.12"
 | |
|     }
 | |
|   }
 | |
| }
 | |
| 
 | |
| variable "agent_id" {
 | |
|   type        = string
 | |
|   description = "The ID of a Coder agent."
 | |
| }
 | |
| 
 | |
| variable "auth_provider_id" {
 | |
|   type        = string
 | |
|   description = "The ID of an external auth provider."
 | |
| }
 | |
| 
 | |
| variable "slack_message" {
 | |
|   type        = string
 | |
|   description = "The message to send to Slack."
 | |
|   default     = "👨💻 `$COMMAND` completed in $DURATION"
 | |
| }
 | |
| 
 | |
| resource "coder_script" "install_slackme" {
 | |
|   agent_id     = var.agent_id
 | |
|   display_name = "install_slackme"
 | |
|   run_on_start = true
 | |
|   script = <<OUTER
 | |
|     #!/usr/bin/env bash
 | |
|     set -e
 | |
| 
 | |
|     CODER_DIR=$(dirname $(which coder))
 | |
|     cat > $CODER_DIR/slackme <<INNER
 | |
| ${replace(templatefile("${path.module}/slackme.sh", {
 | |
|   PROVIDER_ID : var.auth_provider_id,
 | |
|   SLACK_MESSAGE : replace(var.slack_message, "`", "\\`"),
 | |
| }), "$", "\\$")}
 | |
| INNER
 | |
| 
 | |
|     chmod +x $CODER_DIR/slackme
 | |
|     OUTER 
 | |
| }
 |