open-nomad/ui/app/utils/default_jobs/hello-world.js
2023-04-10 15:36:59 +00:00

72 lines
2 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
export default `job "hello-world" {
// Specifies the datacenter where this job should be run
// This can be omitted and it will default to ["*"]
datacenters = ["*"]
meta {
// User-defined key/value pairs that can be used in your jobs.
// You can also use this meta block within Group and Task levels.
foo = "bar"
}
// A group defines a series of tasks that should be co-located
// on the same client (host). All tasks within a group will be
// placed on the same host.
group "servers" {
// Specifies the number of instances of this group that should be running.
// Use this to scale or parallelize your job.
// This can be omitted and it will default to 1.
count = 1
network {
port "www" {
to = 8001
}
}
service {
provider = "nomad"
port = "www"
}
// Tasks are individual units of work that are run by Nomad.
task "web" {
// This particular task starts a simple web server within a Docker container
driver = "docker"
config {
image = "busybox:1"
command = "httpd"
args = ["-v", "-f", "-p", "\${NOMAD_PORT_www}", "-h", "/local"]
ports = ["www"]
}
template {
data = <<EOF
<h1>Hello, Nomad!</h1>
<ul>
<li>Task: {{env "NOMAD_TASK_NAME"}}</li>
<li>Group: {{env "NOMAD_GROUP_NAME"}}</li>
<li>Job: {{env "NOMAD_JOB_NAME"}}</li>
<li>Metadata value for foo: {{env "NOMAD_META_foo"}}</li>
<li>Currently running on port: {{env "NOMAD_PORT_www"}}</li>
</ul>
EOF
destination = "local/index.html"
}
// Specify the maximum resources required to run the task
resources {
cpu = 50
memory = 64
}
}
}
}`;