Skip to content
This repository has been archived by the owner on Jul 24, 2021. It is now read-only.

Releases: joyent/conch-api

v2.32.1

29 Jul 21:52
2a8e43c
Compare
Choose a tag to compare
v2.32.1 Pre-release
Pre-release

Release v2.32.1

PR #842 - v2: better request id

  • Branch: ether/v2-better-request_id
  • Revision: 2a8e43c
  • Labels:

in lieu of mojolicious/mojo#1390

People

Commits

  • 7e4390 - use a more unique request_id

v2.32.0

29 Jul 20:18
fe866aa
Compare
Choose a tag to compare
v2.32.0 Pre-release
Pre-release

Release v2.32.0

PR #840 - v2: no log report data

  • Branch: ether/v2-no-log-report-data
  • Revision: fe866aa
  • Labels: device reports, v2, validation

do not dump the entire device report into the log on error

we already logged the device_report id, and we include the device id here, so
that is sufficient to find the bad data

People

Commits

  • 906f18 - update Test::Spelling to resolve . in @INC issue on older versions
  • e47adc - do not dump the entire device report into the log on error

v3.0.0-a2

15 Jul 21:16
0f8cd05
Compare
Choose a tag to compare
v3.0.0-a2 Pre-release
Pre-release

Release v3.0.0-a2

PR #827 - v3: relays!

  • Branch: ether/v3-relays
  • Revision: d57a817
  • Labels: api, breaking, database, enhancement, needs-shell, v3
  • relay.id is now a uuid; old id is now known as 'serial_number'
  • relay.alias is renamed 'name'
  • new endpoint: GET /relay/:id_or_serial_number

closes #760.

People

Commits

  • 9a2800 - test authorization level for GET relay endpoint
  • 33927d - new endpoint: GET /relay/:serial_number
  • fa1f91 - fix this stash name: it is always a serial_number
  • ad5f8c - tweaks to POST /relay/:serial/register
  • d9f2b1 - relay.id -> serial_number; add new uuid primary key; alias renamed to 'name'

PR #830 - allow null entries in /dimms/<int>/memory-size

  • Branch: ether/fix-dimm-schema
  • Revision: e3fa648
  • Labels: bug, device reports

fixes joyent/conch-livesys#141

People

Commits

  • 7f09ea - allow null entries in /dimms/<int>/memory-size

PR #831 - fix: memory-serial-number might also be null

  • Branch: ether/fix-dimm-schema2
  • Revision: 4f786df
  • Labels: bug, device reports

People

Commits

  • 971d58 - fix: memory-serial-number might also be null

PR #828 - v3: various device changes

  • Branch: ether/v3-device-changes
  • Revision: 89265a7
  • Labels: api, breaking, database, device reports, enhancement, needs-shell, needs-ui, v3
  • device.id is now a uuid

    • old device.id is now device.serial_number
    • all foreign keys are fixed to point to the uuid
    • accept either device id or serial_number in all /device/:identifier endpoints
    • POST /rack/:rack_id/assignment now accepts 'device_id' and/or 'device_serial_number' in request payloads
      closes #474.
  • remove triton* fields from device, and related endpoints
    closes #800.

  • drop device.state

  • add Location header to response from POST /device/:serial_number

  • drop device.graduated, moving graduated devices to the production phase
    closes #813.

  • drop device.deactivated

  • drop preservation of invalid device reports
    closes #804.

  • drop device_environment, device_disk.temp, device_nic.speed, device_neighbor.want_switch and .want_port
    closes #791.

  • add device.links

    • store links from device report
    • include links in GET requests for devices
    • allow searching for a link in GET /device/link=:value
    • new endpoints:
      POST /device/:device_id_or_serial_number/links
      DELETE /device/:device_id_or_serial_number/links
      closes #825.

People

Commits

  • 4b24af - device.id is now a uuid
  • 6ca9e5 - /device endpoints: fix stash name when retrieving device serial_number from path
  • ce3862 - /device endpoints: combine these non-terminated route definitions together
  • 7354dc - remove triton* fields from device, and related endpoints
  • 3d4ef4 - tighten up these tests a bit
  • e0462c - drop device.state
  • 470a0a - drop device.deactivated column
  • 7cd42b - drop preservation of invalid device reports
  • 2d2bb3 - fix to device_report retention policy: keep previous pass if current report does not pass
  • ced79c - drop device_environment table
  • 634178 - return the canonical URL of the (newly created?) device on report submission
  • 971180 - drop device.graduated, moving graduated devices to the production phase
  • 9ec25f - drop device_disk.temp
  • 5239a4 - drop device_nic.speed
  • e48085 - device.links
  • 4a69c6 - drop device_neighbor.want_switch, .want_port

PR #832 - clean up user authentication

  • Branch: ether/v3-user-authentication
  • Revision: d18e198
  • Labels: api, breaking, database, enhancement, refactor, security, v3
  • drop support for basic auth (user+password in URL) (closes #762.)

  • drop support for breaking up the JWT and putting part of it in a cookie (closes #778.)

  • user_session_token now has a uuid primary key (closes #761.) All current tokens are purged.

  • bespoke password handling code is removed; blowfish cost parameter increased to harden security.

  • login token is reused if it has over half its life left, rather than creating another (closes #829.)

People

Commits

  • 27f215 - drop support for basic auth (user+password in URL)
  • 89897a - drop support for breaking up the JWT and putting part of it in a cookie
  • e3693c - user_session_token now has a uuid primary key
  • 0e4fff - consolidate response generation when creating a login JWT
  • 0997e7 - remove bespoke and unnecessary password handling code
  • 122797 - check for user session validity and consistency
  • 2897f8 - clear out expired session tokens no matter which auth method is used
  • 964c2a - expire both the session and the token, not one or the other
  • 373396 - reuse the login token if it has a lot of life left

PR #833 - doc fixes

  • Branch: ether/v3-doc-fixes
  • Revision: 0f8cd05
  • Labels: docs
  • errors fixed re endpoint specifications
  • pod markup improved
  • wording is more consistent
  • missing links in main index page presented on the web

People

Commits

  • e2c2cf - docs: fix entries regarding authorization
  • 854248 - docs: add missing link
  • 7d1f81 - remove outdated comment
  • b2a685 - ignore doc changes that are in the index (e.g. during a rebase)
  • [4274ee](4274e...
Read more

v2.31.1

05 Jul 19:39
Compare
Choose a tag to compare
v2.31.1 Pre-release
Pre-release

Release v2.31.1

Commits

  • 702e41 - fix: memory-serial-number might also be null

v2.31.0

05 Jul 18:53
Compare
Choose a tag to compare
v2.31.0 Pre-release
Pre-release

Release v2.31.0

Commits

  • 7dab94 - allow null entries in /dimms/<int>/memory-size

v3.0.0-a1

02 Jul 20:54
05b0357
Compare
Choose a tag to compare
v3.0.0-a1 Pre-release
Pre-release

release v3.0.0-a1

PR #808 - v3: and so it begins...

  • Branch: ether/v3-and-so-it-begins
  • Revision: 557ef8f
  • Labels: database

First set of changes for v3!

No api changes here, but all older db migrations have been removed, and an assertion added to ensure that v2 is up-to-date before v3 can be deployed.

Also added:

  • now logging the time it took to service a request
  • version of Conch UI, Shell client is verified
  • small internal fixes.

People

Commits

  • 6d4aff - v3: detect client version, rejecting the request if the shell or UI is too old
  • c3dded - clean up these log tests to use normal logging history
  • 60900b - use latest naming scheme
  • e32b2a - remove use of timestamps in dumped result classes
  • d7d84a - v3: refresh everything in carton snapshot
  • 968936 - v3: remove all v2 sql migrations, and ensure they have all been run
  • c0b1dc - 9.6.13 is now the latest 9.6.x
  • 0b2843 - add a "no_db" feature, used to speed up tests that do not need a db
  • b970d3 - rename test files for consistency
  • ab73b6 - remove all the redundant url_for calls
  • 0c3ce3 - v3: remove old one-time scripts that should not be re-run
  • 7190fb - do not set response code on intentional rollback
  • d18a84 - do not reset log history pointer, only contents
  • a229b5 - fix column names in doc examples
  • 124b54 - also log the request duration, in milliseconds
  • 30af64 - sungo does not need to review every single PR

PR #809 - allow for git tags that look like "v3.0.0-a0"

  • Branch: ether/v3-alpha-versions
  • Revision: a04cbe2
  • Labels: build

People

Commits

  • 89d4d6 - allow for git tags that look like "v3.0.0-a0"

PR #810 - v3: adjustments to request, response schemas

  • Branch: ether/v3-request-response-schemas
  • Revision: 6c3a75e
  • Labels: api, breaking, docs, needs-shell, needs-ui, v3, wat

Many breaking changes to request and response payloads, many of which are normalizing field names to match their database counterparts. Also take special note of the additional data returned in HTTP 400 responses when request payload validation fails, which should give the client's developer more clues as to what went wrong.

People

Commits

  • 5373c4 - add perigrin to reviewers for device report schema changes
  • 585d52 - add all json schema names to stopwords list
  • 6d6d80 - input -> request for consistency
  • ff7647 - json schemas: define a consistent type for various object keys
  • d1fbfa - json schemas: pull out remaining uses of patternProperties
  • 07dc20 - json schemas, breaking: use normal device health values in circonus endpoint, without uppercasing
  • 57124e - json schemas: remove duplicate definitions across multiple files
  • 659e37 - json schemas: int_or_stringy_int should not be used outside device reports
  • 6c3e2a - json schemas: create an enum type for user_workspace_role
  • e484ba - json schemas: visibly document these definitions rather than using comments
  • 88bd8d - return a more nuanced error on request schema validation failure
  • d0ee10 - json schemas: validations in response data are unique
  • 233745 - json schemas, breaking: canonicalize field names in device_progress results
  • ab0da6 - json schemas, breaking: normalize "role" to "rack_role_id"
  • 641fe5 - json schemas, breaking: normalize "datacenter" to "datacenter_id"
  • 212ab5 - json schemas, breaking: normalize "product_id" -> "hardware_product_id", "ru_start" -> "rack_unit_start"
  • 7c8885 - json schemas, breaking: normalize "vendor" -> "hardware_vendor_id"
  • f1b6c6 - json schemas, breaking: normalize "rack_unit" -> "rack_unit_start"
  • 89b053 - json schemas: tighten up many integer types
  • 6e4159 - json schemas, breaking: normalize "role" -> "role_name", "size" => "rack_size" or "rack_unit_size"
  • fe2f2f - json schemas, breaking: normalize "hardware_product" -> "hardware_product_name"
  • 9bb7f5 - json schemas: combine some common parts of the hardware_product schemas

PR #811 - v3: more endpoint changes

  • Branch: ether/v3-more-endpoint-changes
  • Revision: e9da5ac
  • Labels: api, breaking, device reports, needs-reporter, needs-shell, needs-ui, refactor, v3, wat
  • removal of a few deprecated endpoints
  • alteration of the path specifications for some /user endpoints
  • addition, removal of a few fields in responses
  • removal of some unused fields in the device_report specification

People

Commits

  • ad3153 - remove already-deprecated endpoints
  • 168ad7 - remove POST /workspace/:id/rack/:id/layout
  • 4b90da - unroll this resultset into the places it is used
  • 441fd5 - json schemas: remove device_id from individual validation_result responses
  • [85a6bd](ht...
Read more

v2.30.0

03 Jun 21:17
132166c
Compare
Choose a tag to compare

Release v2.30.0

PR #795 - add rack phase to GET /workspace/:id/rack

  • Branch: ether/phase-in-workspace-rack-summary
  • Revision: 8cf91e4
  • Labels: api

closes #793.

People

Commits

  • b08978 - add rack phase to GET /workspace/:id/rack

PR #798 - POST /rack/:id/assignment now overwrites existing assignments

  • Branch: ether/atomic-rack-assignments
  • Revision: 9d09126
  • Labels: api, enhancement

Rather than requiring the user to move aside existing devices in the layout of
concern, or to remove devices from their previous assignments, we now do all
this work in one go, atomically.

closes #797.

People

Commits

  • fb1bca - POST /rack/:id/assignment now overwrites existing assignments

PR #803 - final v2 changes

  • Branch: ether/final-v2-changes
  • Revision: 132166c
  • Labels:

very minor and non-functionally-affecting changes that might as well go in now, pre-fork.

People

Commits

  • a79826 - simplify quotes
  • 1e20e1 - remove unneeded curlies
  • b906f7 - remove unneeded empty parens
  • 7b84db - add missing comment for this endpoint
  • 8896a8 - be consistent in endpoint documentation with placeholders
  • dcb7bb - simplify this test setup
  • 97605d - remove unused variables
  • 397d37 - add a usage example for this helper
  • 20209b - dump response when status is unexpected
  • 20b584 - remove unnecessary uses of scalar
  • 0b63a8 - tighter test, and fix typo in error message

v2.29.1

24 May 20:02
09f65ed
Compare
Choose a tag to compare

Release v2.29.1

PR #794 - issue a redirect to the rack after POST /rack/:id/phase

  • Branch: ether/redirect-after-rack-phase
  • Revision: 09f65ed
  • Labels: api

closes #792

People

Commits

  • 95deef - issue a redirect to the rack after POST /rack/:id/phase

v2.29.0

21 May 21:55
20a4ed8
Compare
Choose a tag to compare

Conch API release v2.29.0

PR #759 - fixes for 2.29

  • Branch: ether/fixes-for-2.29
  • Revision: d781cff
  • Labels: docs, refactor, tests

contains only very minor changes to functionality in error conditions.

  • doc fixes
  • test cleanup
  • some query rewrites for efficiency
  • refactor some code for ether's sanity

People

Commits

  • 541f6a - log the full Postgres version being run
  • b8eb03 - clarify user deactivation + revoking tokens
  • fdd3ba - add markup for documentation links to modules
  • 19f551 - test the response schema here
  • a721f9 - remove doc references to dead code
  • 845548 - fix doc typo
  • 870edc - rewrite some queries, to make better use of DBIC helpers
  • a2c6e2 - collapse these test cases together
  • 9a713d - delay db queries until they are needed, after performing more sanity checks
  • ca4f1b - use helper sub here
  • c082af - remove unhelpful check and local variable
  • 0acc5c - fix variable use
  • 2f63a5 - remove a useless check - if creation fails, we will die
  • 94e23b - we can skip this exists check
  • 195b2e - simplify code flow
  • 19a9e3 - move relay tests out of user test file
  • 482313 - always check permissions first
  • d2420d - simplify input failure case
  • 73e9a4 - 422 is a better response code here
  • d2eebe - remove more unneeded local variables
  • 58f261 - add Test::Warnings to all tests

PR #763 - fix doc links

  • Branch: ether/fix-doc-links
  • Revision: 9a462de
  • Labels: bug, docs, wat

rewrite the doc generator so internal links work properly. This necessitated moving all the internal markdown documents to filenames that retain the arisdottles.

closes #755.

People

Commits

  • f4c242 - rewrite pod->markdown generator to fix internal links
  • 8d37f0 - update Pod::Markdown::Github passively
  • b3c32a - add markup for documentation links to local modules

PR #764 - rework our logging infrastructure

  • Branch: ether/rewrite-logging
  • Revision: 6d7dcc5
  • Labels: enhancement, refactor, tests, wat

fixes bugs:

  • unicode is no longer mojibaked
  • stack traces were misidentifying filenames (last part of the filename,
    rather than relative to the application root), source functions (wrong frame)

improvements:

  • full test coverage of our logging
  • now possible to test any logging from application endpoints
  • no need for a role to be composed into all controllers
  • less overriding of Mojo::Log innards means we no longer need to manually
    incorporate bug fixes
  • trace mode can be turned on and off through the config file
  • audit mode turns on traces (but an explicit config can turn it back off)
  • the request id is included in all places where it exists, including messages
    logged directly from mojo core
  • more verbose logging during tests
  • api version (including tag and git sha) added to dispatch log messages

People

Commits

  • 173a81 - upgrade Mojolicious to latest release
  • 2227f2 - better request_id tests (requires Mojolicious 8.14)
  • 03efdf - use a more obvious password in tests
  • 9377c5 - invoke helpers against our real $c, rather than a fake one
  • a33d95 - move rollbar hook to its own plugin
  • 4f5739 - turn on audit mode for tests
  • 9e5c0f - rework our logging infrastructure
  • b6e91b - improvement: log json bodies directly, instead of encoded json strings
  • 5110f1 - add api version (including tag and git sha) to dispatch log messages
  • 924a91 - dump the log when hitting an exception during tests

PR #765 - seamless upgrading of validation plans, while remaining immutable

  • Branch: ether/immutable-but-updatable-validation-plans
  • Revision: 51b7ade
  • Labels: enhancement, v2, validation, wat

closes #546.

People

Commits

  • 8b6aba - remove this utility that no longer does a desirable thing
  • e6875a - remove these old upgrade utilities whose underlying code is changing
  • ab4391 - fix whitespace in validation descriptions, and stop trimming
  • 6626cd - new utility to run check_validation_plans
  • 654a90 - validation rows are immutable
  • ecd27c - `update_validation_plans s...
Read more

v2.28.0

06 May 20:47
d3412d4
Compare
Choose a tag to compare

Release v2.28.0

PR #748 - restrict names in other affected paths

  • Branch: ether/restrict-names-in-paths
  • Revision: f953435
  • Labels: api, bug

Tighten up naming restrictions on endpoints where names can appear in paths.

People

Commits

  • 737b32 - Ensure that email addresses do not use characters prohibited by mojo routes
  • 546119 - restrict characters in names that appear in URLs
  • 048751 - further restrict device_setting.value

PR #749 - remove dead code relating to workspace-room relations

  • Branch: ether/no-workspace-room
  • Revision: bb58012
  • Labels: api

closes #745.

People

Commits

  • 27aa07 - remove dead code relating to workspace-room relations

PR #750 - big cleanup

  • Branch: ether/KHAN
  • Revision: 9413825
  • Labels:

a bunch of stuff that has been piling up. NO functionality has changed, anywhere, at all.

People

Commits

  • a2553e - remove unused lib includes and pragmas
  • 41ac65 - whitespace changes ONLY
  • 65f2d7 - use expr form instead of block in map, grep for efficiency
  • 75ad08 - remove unneeded use of quotes for hash keys
  • 88530e - use sub signatures
  • 76547e - drop some uses of the fat comma
  • 069631 - lowercase NOW()
  • d5bb29 - remove unneeded first arg to test methods
  • 5d8a3e - some " -> '
  • 4be145 - other inconsequential punctuation fixes
  • 0508d2 - reduce single-item lists to single scalars where feasible
  • 11e5a2 - simplify literal test of json content
  • 126e65 - use postfix dereference syntax
  • f4d5fe - ensure filehandles, pragmas are set up for utf8
  • fc0e09 - drop redundant tests of "Forbidden" error
  • 5f2780 - drop redundant use of $_
  • 28808e - switch "unless" to clearer "if not"

PR #751 - send more email, more sensibly

  • Branch: ether/moar-mail
  • Revision: c796592
  • Labels: api, enhancement

refactor the Mail plugin

  • use modern SMTP and sendmail tools
  • use proper Mojo::Template files
  • use of event signalling allows for testing of sent messages

mail out notifications in more situations:

  • token revocation
  • updating a user
  • removing a user from a workspace
  • use different messages for modifying a user's workspace access, vs. adding
    them to a workspace they could not access at all

closes #716.

People

Commits

  • 472b5e - move user lookup into a helper sub for better reuse
  • 51dfad - refactor the Mail plugin
  • 8630ef - mail out notifications in more situations

PR #752 - Add new docs and autogeneration process for github pages based docs hosting

  • Branch: sungo/docs
  • Revision: efb76ff
  • Labels: build, docs

To be clear, this is not intended to be complete documentation, but rather a base that we can start adding to.

People

Commits

  • 0b3a01 - basic infrastructure for turning our pod into github pages friendly markdown
  • 7d6ba8 - autogenerated markdown docs and a handwritten index

PR #753 - regenerate documentation

  • Branch: ether/doc-regen
  • Revision: c050292
  • Labels: docs

..and update its infrastructure a bit

People

Commits

  • 6abea1 - whitespace
  • aae988 - ghdocs depends on up-to-date carton install
  • 75e781 - blow away old docs first
  • 707c4c - use pod markup for licence link
  • fe1ca5 - regenerate docs
  • c782b0 - fix licence link here too

PR #754 - fix leaky logs

  • Branch: ether/leaky-logs
  • Revision: 52a9d94
  • Labels: bug, high priority, security

we were leaking passwords and tokens into the log in audit mode.

People

Commits

  • cb8d67 - do not leak passwords, token strings into the logs in audit mode

PR #756 - fix: request and response bodies are not always json hashes

  • Branch: ether/fix-dispatch-logging
  • Revision: 3da44a7
  • Labels: bug, high priority

People

Commits

Read more