parent
6ecd68f862
commit
1ec28a61a7
4 changed files with 74 additions and 0 deletions
12
.devcontainer/devcontainer.json
Normal file
12
.devcontainer/devcontainer.json
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"name": "Ubuntu",
|
||||
"image": "mcr.microsoft.com/devcontainers/base:jammy",
|
||||
"postCreateCommand": "sudo apt update && sudo apt install -y wget gpg coreutils && wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg && echo \"deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main\" | sudo tee /etc/apt/sources.list.d/hashicorp.list && sudo apt update && sudo apt install -y terraform nomad",
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": [
|
||||
"HashiCorp.terraform"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
4
main.tf
4
main.tf
|
@ -9,3 +9,7 @@ module "dummy" {
|
|||
module "media-centre" {
|
||||
source = "./modules/media-centre"
|
||||
}
|
||||
|
||||
module "code-server" {
|
||||
source = "./modules/code-server"
|
||||
}
|
||||
|
|
54
modules/code-server/jobspec.json
Normal file
54
modules/code-server/jobspec.json
Normal file
|
@ -0,0 +1,54 @@
|
|||
{
|
||||
"Job": {
|
||||
"ID": "code-server",
|
||||
"Name": "Code Server",
|
||||
"TaskGroups": [
|
||||
{
|
||||
"Name": "Code Server",
|
||||
"Tasks": [
|
||||
{
|
||||
"Driver": "docker",
|
||||
"Name": "Code Server",
|
||||
"Count": 1,
|
||||
"Config": {
|
||||
"image": "codercom/code-server:latest",
|
||||
"ports": [
|
||||
"web"
|
||||
],
|
||||
"volumes": [
|
||||
".local:/home/coder/.local",
|
||||
".config:/home/coder/.config"
|
||||
]
|
||||
},
|
||||
"Resources": {
|
||||
"CPU": 1000,
|
||||
"MemoryMB": 1024
|
||||
}
|
||||
}
|
||||
],
|
||||
"Services": [
|
||||
{
|
||||
"Name": "code-server",
|
||||
"Provider": "nomad",
|
||||
"PortLabel": "web",
|
||||
"Tags": [
|
||||
"traefik.enable=true",
|
||||
"traefik.http.routers.code-server.entrypoints=websecure",
|
||||
"traefik.http.routers.code-server.rule=Host(`code.brmartin.co.uk`)"
|
||||
]
|
||||
}
|
||||
],
|
||||
"Networks": [
|
||||
{
|
||||
"DynamicPorts": [
|
||||
{
|
||||
"Label": "web",
|
||||
"To": 8080
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
4
modules/code-server/main.tf
Normal file
4
modules/code-server/main.tf
Normal file
|
@ -0,0 +1,4 @@
|
|||
resource "nomad_job" "media-centre" {
|
||||
jobspec = file("${path.module}/jobspec.json")
|
||||
json = true
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue