Skip to content

Instantly share code, notes, and snippets.

View schmichael's full-sized avatar

Michael Schurter schmichael

View GitHub Profile
# There can only be a single job definition per file. This job is named
# "example" so it will create a job with the ID and Name "example".
# The "job" block is the top-most configuration option in the job
# specification. A job is a declarative specification of tasks that Nomad
# should run. Jobs have a globally unique name, one or many task groups, which
# are themselves collections of one or many tasks.
#
# For more information and examples on the "job" block, please see
# the online documentation at:
package main
import (
"bufio"
"bytes"
"fmt"
"log"
"net"
"strings"
"time"
// TestRead_Interrupted asserts that blocked reads without a deadline are
// interrupted when a session is closed.
func TestRead_Interrupted(t *testing.T) {
client, server := testClientServer()
defer client.Close()
defer server.Close()
stream, err := client.Open()
if err != nil {
t.Fatalf("unexpected error opening a new stream: %v", err)
@schmichael
schmichael / devagent.hcl
Created January 30, 2024 21:58
Run with `nomad agent -config devagent.hcl`
enable_debug = true
log_level = "DEBUG"
data_dir = "/tmp/nomad-devagent"
client {
enabled = true
}
server {
@schmichael
schmichael / nginx-proxy.nomad.hcl
Created November 1, 2023 20:27
Exposes Nomad's HTTP API on port 8080 with /.well-known/ endpoints available without auth.
job "nginx-proxy" {
group "nginx" {
network {
port "http" {
static = 8080
to = 8080
}
}
job "example" {
type = "batch"
task t {
driver = "exec"
config {
command = "/bin/sh"
args = ["-c", "echo '>> /proc'; grep ^Cap /proc/self/status; echo '>> getpcaps'; getpcaps 0; echo '>> prlimit'; prlimit"]
}
}
}
variable "vault_version" {
type = string
default = "1.14.0"
}
job "vault" {
datacenters = ["*"]
type = "service"
group "vault" {
count = 1
@schmichael
schmichael / mixed1.hcl
Created April 11, 2023 00:03
Nomad Client/Server Agent configs
enable_debug = true
log_level = "debug"
name = "mixed1"
data_dir = "/tmp/nomad-mixed1"
client {
enabled = true
servers = ["127.0.0.1:4647"]
}
package main
import (
"fmt"
"sync"
"time"
)
func timeTasks(count int) time.Duration {
nopTask := func(done func()) {