Skip to content

Commit 9dfcbe1

Browse files
committed
example: Add Kubernetes multi-service
1 parent 8165a6e commit 9dfcbe1

File tree

2 files changed

+83
-0
lines changed

2 files changed

+83
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
name: Develop multiple services in Kubernetes
3+
description: Get started with Kubernetes development.
4+
tags: [cloud, kubernetes]
5+
---
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
terraform {
2+
required_providers {
3+
coder = {
4+
source = "coder/coder"
5+
version = "~> 0.3.1"
6+
}
7+
kubernetes = {
8+
source = "hashicorp/kubernetes"
9+
version = "~> 2.10"
10+
}
11+
}
12+
}
13+
14+
provider "kubernetes" {
15+
config_path = "~/.kube/config"
16+
}
17+
18+
data "coder_workspace" "me" {}
19+
20+
resource "coder_agent" "go" {
21+
os = "linux"
22+
arch = "amd64"
23+
}
24+
25+
resource "coder_agent" "java" {
26+
os = "linux"
27+
arch = "amd64"
28+
}
29+
30+
resource "coder_agent" "ubuntu" {
31+
os = "linux"
32+
arch = "amd64"
33+
}
34+
35+
resource "kubernetes_pod" "main" {
36+
count = data.coder_workspace.me.start_count
37+
metadata {
38+
name = "coder-${data.coder_workspace.me.owner}-${data.coder_workspace.me.name}"
39+
}
40+
spec {
41+
container {
42+
name = "go"
43+
image = "mcr.microsoft.com/vscode/devcontainers/go:1"
44+
command = ["sh", "-c", coder_agent.go.init_script]
45+
security_context {
46+
run_as_user = "1000"
47+
}
48+
env {
49+
name = "CODER_TOKEN"
50+
value = coder_agent.go.token
51+
}
52+
}
53+
container {
54+
name = "java"
55+
image = "mcr.microsoft.com/vscode/devcontainers/java"
56+
command = ["sh", "-c", coder_agent.java.init_script]
57+
security_context {
58+
run_as_user = "1000"
59+
}
60+
env {
61+
name = "CODER_TOKEN"
62+
value = coder_agent.java.token
63+
}
64+
}
65+
container {
66+
name = "ubuntu"
67+
image = "mcr.microsoft.com/vscode/devcontainers/base:ubuntu"
68+
command = ["sh", "-c", coder_agent.ubuntu.init_script]
69+
security_context {
70+
run_as_user = "1000"
71+
}
72+
env {
73+
name = "CODER_TOKEN"
74+
value = coder_agent.ubuntu.token
75+
}
76+
}
77+
}
78+
}

0 commit comments

Comments
 (0)