2019-06-06 19:18:45 +00:00
|
|
|
# New `jobspec` Entry Checklist
|
|
|
|
|
|
|
|
## Code
|
|
|
|
|
2020-02-12 16:07:07 +00:00
|
|
|
* [ ] Consider similar features in Consul, Kubernetes, and other tools. Is
|
|
|
|
there prior art we should match? Terminology, structure, etc?
|
2019-06-12 22:35:48 +00:00
|
|
|
* [ ] Parse in `jobspec/parse.go`
|
|
|
|
* [ ] Test in `jobspec/parse_test.go` (preferably with a
|
2019-06-06 19:18:45 +00:00
|
|
|
`jobspec/text-fixtures/<feature>.hcl` test file)
|
2019-06-12 22:35:48 +00:00
|
|
|
* [ ] Add structs/fields to `api/` package
|
2019-06-06 19:18:45 +00:00
|
|
|
* structs usually have Canonicalize, Copy, and Merge methods
|
|
|
|
* New fields should be added to existing Canonicalize, Copy, and Merge
|
|
|
|
methods
|
|
|
|
* Test the struct/field via all methods mentioned above
|
2019-06-12 22:35:48 +00:00
|
|
|
* [ ] Add structs/fields to `nomad/structs` package
|
2019-06-06 19:18:45 +00:00
|
|
|
* Validation happens in this package and must be implemented
|
|
|
|
* Implement other methods and tests from `api/` package
|
2020-04-10 23:44:19 +00:00
|
|
|
* Note that analogous struct field names should match with `api/` package
|
2019-06-12 22:35:48 +00:00
|
|
|
* [ ] Add conversion between `api/` and `nomad/structs` in `command/agent/job_endpoint.go`
|
2020-03-04 17:06:32 +00:00
|
|
|
* [ ] Add check for job diff in `nomad/structs/diff.go`
|
2020-03-25 15:33:27 +00:00
|
|
|
* Note that fields must be listed in alphabetical order in `FieldDiff` slices in `nomad/structs/diff_test.go`
|
2019-06-12 22:35:48 +00:00
|
|
|
* [ ] Test conversion
|
2019-06-06 19:18:45 +00:00
|
|
|
|
|
|
|
## Docs
|
|
|
|
|
2019-06-12 22:35:48 +00:00
|
|
|
* [ ] Changelog
|
|
|
|
* [ ] Jobspec entry https://www.nomadproject.io/docs/job-specification/index.html
|
2019-10-08 17:55:53 +00:00
|
|
|
* [ ] Jobspec sidebar entry https://github.com/hashicorp/nomad/blob/master/website/source/layouts/docs.erb
|
2019-06-12 22:35:48 +00:00
|
|
|
* [ ] Job JSON API entry https://www.nomadproject.io/api/json-jobs.html
|
|
|
|
* [ ] Sample Response output in API https://www.nomadproject.io/api/jobs.html
|
|
|
|
* [ ] Consider if it needs a guide https://www.nomadproject.io/guides/index.html
|