Skip to content

Commit History for provision-server

This is the commit history for the provision-server component.

(2025/10/31)

  • fix(staticfs): Add back mountRefs tracking
  • feat(content-archive): applying merge directory changes to staticfs
  • fix(billing): Don't panic on nil license

v4.16.0-alpha00 (2025/10/08)

  • feat(v4.16): Start v4.16 development

v4.15.5 (2025/10/02)

  • fix(cert): Validate API and static certs in the frontend.
  • fix(backend/plugins): there is a typo in the Action set for the event published wwhen a plugin is configured.
  • perf(info): Enhance performance of the info get API call.
  • perf(urlcheck): Reduce overhead of URL checking.

v4.14.23 (2025/10/02)

  • fix(cert): Validate API and static certs in the frontend.

v4.13.41 (2025/10/02)

  • fix(cert): Validate API and static certs in the frontend.
  • perf(urlcheck): Reduce overhead of URL checking.
  • perf(info): Enhance performance of the info get API call.
  • fix(vuln): Pull in latest provision package.

fix-info-and-repo-checking-perf-issues-v4.14 (2025/09/30)

  • fix: undo some test updates
  • perf(info): Enhance performance of the info get API call.
  • fix(tests): Fix unit tests.
  • fix(deps): Update Go tools package and xz package.
  • perf(urlcheck): Reduce overhead of URL checking.

fix-greg-error-msgs (2025/09/30)

  • build: Update provision for the server to resolve xz vulnerability
  • fix(staticfs): Update attribute error message for wider range of errors
  • fix: update render blob function to set cache variable to enable MacAddr function
  • update(frontend/support): for support bundles to pass job validation set job Current to false and Independent to true if Previous is nil

v4.13.40 (2025/09/11)

  • fix(test): Derp, fix busted cherry pick.
  • fix(rejoin): Fix consensus waiting for artifact sync.
  • fix(race): Make passive node startup wait for artifact sync.

v4.15.4 (2025/09/10)

  • fix(rejoin): Fix consensus waiting for artifact sync.
  • fix(swagger): fix getMachinesRender swagger def
  • fix(race): Make passive node startup wait for artifact sync.

v4.14.22 (2025/09/10)

  • fix(rejoin): Fix consensus waiting for artifact sync.
  • fix(race): Make passive node startup wait for artifact sync.
  • fix(machines): virtual media iso mount paths were not correct
  • fix(provision): update to pick up provision changes
  • fix(raft): Pull in latest Raft library.
  • refactor(tests): Refactor rolling upgrade tests.
  • Add backup with no changes at key points in mgr-multiversion and
  • fix(sync): Clean leftover directories if artifactSync fails.

v4.15.3 (2025/08/28)

  • fix(machines): fixes bug in swagger
  • feat(backend): Add url customization for virtual-media mount

v4.15.2 (2025/08/12)

  • fix(patch): Fix patch handling die to overflowing int64 values.

v4.15.1 (2025/08/07)

  • fix(prereqs): Pull in latest provision version.
  • doc(staticfs): Add method and function comments to staticfs.

v4.15.0 (2025/07/29)

  • build: update provision to v4.15.0
  • fix(frontend): Interfaces don't have indexes - don't report them.

up-se-re (2025/07/25)

  • fix(upgrade): restorecon new binary
  • fix(server): remove broken test
  • fix(swagger-ui): Update initializer to default swagger.json location
  • feat(drpcli): Update to global flags help off by default
  • fix(provision): update to pick up provision changes
  • fix(raft): Pull in latest Raft library.
  • refactor(tests): Refactor rolling upgrade tests.
  • Add backup with no changes at key points in mgr-multiversion and
  • fix(sync): Clean leftover directories if artifactSync fails.
  • fix(patch): Pull in latest jp and provision.
  • fix(bsdtar): added missing zip support
  • enhance(swagger): Bump the displayed version
  • docs: Make sure that the docs have pieces for inclusion in content.
  • build: remove rel note construction - extra tools will do
  • fix: path to history docs.
  • build: add change history for provision-server
  • fix: update provision to latest
  • feat(dr-waltool): dr-waltool backups will also backup plugins by default
  • fix(agent): fix runnable patch
  • fix(dhcp): Add option 119 parsing support
  • fix(self-runner): looking for an existing self runner for a drp-id before creating a new one
  • feat(patch): Refactor Patch operations.
  • fix(docs): Publish markdown docs to the tree
  • fix(build-plugins-for-test): updating code to get plugins from the catalog instead of git
  • feat(split): Plugin utils moved.
  • fix(backend): subnet identifier added
  • fix(tests): Fix changed size of the linkhammer asset.
  • update(bootloaders): Update bootloaders.
  • fix(mgr): Unstage upgrades in most cases.
  • feat(support): Added workorder support to bundle
  • refactor(store): Pull in Raft store changes.
  • fix(backend): if object already as source map, use it.
  • fix(event): Add and fix event trigger matching to handle event test
  • Revert "fix(event): Add and fix event trigger matching to handle event test"
  • fix(event): Add and fix event trigger matching to handle event test
  • feat(frontend): Allow RawModels to mimic k8s objects
  • updated to bsdtar-3.7.9 and added clitests
  • fix(machines): removing machine render check for users only to allow for generating machine tokens
  • feat(systemd): don't use systemd to configure certs
  • fix(backend): fix deadlock in store object registration
  • refactor(backend): Add debug start process
  • feat(backend,frontend): Add decode token system API endpoint
  • feat(backend): Add ServerPathInfo render option
  • test(upgrade): Add stepwise tests to rolling upgrade test.
  • Fix unit tests for version bumps in installed content
  • updated the bsdtar build to use a makefile and docker buildx for amd64, arm64 and ppc64le
  • feat(uncluster): Add dr-waltool for offline unclustering.
  • feat(frontend): Add token expire info on the connection
  • feat(backend): allow store objects to be in content packs
  • feat(ha): Fix unit tests and a race condition
  • feat(ha): Update the prom stats with more consensus data
  • feat(backend): Update the workflow timeout to work on bootenvs too
  • feat(backend): Allow other objects to have external secure parameters
  • fix(backend): Allow unmanaged context changes in workorders as well
  • feat(shrink): Add database shrinking.
  • added dynamic_iso artifact test
  • removed unessecary code
  • handle duplicate subnet IP allocation attempts
  • fix(backend): Enable non-core triggers by registering for events.
  • updated virtual media mount with tests
  • feat(server): All self-runners for HA members
  • updated test to cleanup created machines
  • udpated tests for cli filter cases
  • build: Update drpcli for new hypervisor
  • perf(raft): Pull in latest raftStore and update unit tests.
  • fix(systemd): add missing config options
  • changed obj type to pass properly for filter queries of integer values
  • feat(drp): systemd setup in drp
  • perf(store): Stop tanking commit rates during snapshots.
  • fix(race): Fix race in stream replication.
  • test(consensus): Add primitive snapshot commit parallelism testing.
  • fix(race): Race detector caught an etag race error.
  • fix(nit): Go 1.24 warns on non-constant format strings.
  • build: update drpcli provision
  • feat(dr-provision): use dr-provision as dr-waltool. add drp-location to env vars for plugins
  • fix(sec): Update deps to resolve upstream DoS vuln.
  • fix: put incrementer info back and fix bios flexiflow
  • fix(backend): Remove invalid leases on start-up. They weren't working anyway.
  • fix(backend): batch should not be marked failed until all runnable are done
  • build: Update golang vulns
  • fix(content): Rework content validation on load
  • fix(datastack): Fix content validation logic when replacing a layer.
  • fix(params): Make switching Param security to false work correctly.
  • build: update to new client to fix task stack issues
  • feat(backend): Add render functions .CurrentTask and .Tasks
  • build: update drp client
  • fix(triggers): Improve cron trigger validation.
  • fix(triggers): Fix trigger registration.
  • fix(manager): If item is already removed, let action be success.
  • fix(upgrade): Remove race condition on restart directory removal
  • fix(backend): Fix fired event names and register sinks for cron triggers
  • fix(triggers): Fix triggers using StoreDataInParameter and MergeDataInParams.
  • fix(test): Handle branch names
  • build: Update unit tests for hardware-tools / flexiflow updates
  • build: update to latest drpcli

v4.13.39 (2025/07/22)

  • Simplify recovery a bit
  • fix(provision): update to pick up provision changes
  • fix(raft): Pull in latest Raft library.
  • fix(tests): Fix plugin provider unit tests.
  • refactor(tests): Refactor rolling upgrade tests.
  • Add backup with no changes at key points in mgr-multiversion and
  • fix(sync): Clean leftover directories if artifactSync fails.

v4.14.21 (2025/07/16)

  • fix(bsdtar): added missing zip support

v4.13.38 (2025/07/16)

  • fix(bsdtar): added missing zip support

v4.14.20 (2025/07/09)

  • docs: Make sure that the docs have pieces for inclusion in content.
  • build: remove rel note construction - extra tools will do

v4.14.19 (2025/07/08)

  • build: fix path to docs

v4.14.18 (2025/07/08)

  • build: Add change log docs for provision-server

v4.13.37 (2025/07/03)

  • updates
  • updates
  • updates
  • fixed tar options on explode, updated to bsdtar-3.7.9 and added clitests
  • fix(npe): adding check to confirm that auth claim is not nil before checking for grantorID

v4.14.16 (2025/06/27)

  • feat(dhcp): Add option119 parsing support
  • build: fix supermicro unit test failure
  • build: Fix go vuln
  • fix(docs): Publish markdown docs to the tree

v4.14.15 (2025/05/29)

  • fix(tests): Fix changed size of the linkhammer asset.
  • update(bootloaders): Update bootloaders.
  • fix(mgr): Unstage upgrades in most cases.
  • fix(tests): Fix clitests to account for updated hardware tooling.

v4.14.14 (2025/05/16)

  • updating provision to v4.14.10

v4.13.36 (2025/05/15)

  • updating provision to v4.13.22

v4.14.13 (2025/05/15)

  • updating provision to v4.14.9

v4.14.12 (2025/05/01)

  • feat(backend,frontend): Add decode token system API endpoint
  • fix(tests): Fix tests
  • test(upgrade): Add stepwise tests to rolling upgrade test.
  • fix(jwt): Pull in latest JWT library to address security vuln.

v4.13.35 (2025/04/29)

  • fix(jwt): Pull in latest JWT library to address security vuln.
  • test(upgrade): Add stepwise tests to rolling upgrade test.
  • fix(upgrade): Fix a msgpack incompatibility bug.

v4.14.17 (2025/04/15)

  • fixed tar options on explode, updated to bsdtar-3.7.9 and added clitests

v4.12.32 (2025/04/09)

  • fix(secure): Pull in latest upstream crypto libraries.

v4.14.11 (2025/03/28)

  • feat(backend): Allow other objects to have external secure parameters
  • fix(backend): Allow unmanaged context changes in workorders as well

v4.14.10 (2025/03/19)

  • fix(backend): Enable non-core triggers by registering for events.
  • fix(secure): Pull un upstream security fixes.
  • perf(store): swap to external RaftStore
  • Update trees to latest to pull in bugfixes

v4.13.34 (2025/03/13)

  • fix(secure): Pull in security fixes
  • perf(store): swap to external RaftStore

v4.13.33 (2025/03/07)

  • build: update drpcli for support bundle

v4.14.9 (2025/03/07)

  • build: Update drpcli for support bundle fixes

v4.14.8 (2025/02/11)

  • perf(raft): Refactor raftStore repacking and locking.

v4.13.32 (2025/02/11)

  • perf(raft): Refactor raftStore repacking and locking.

v4.14.7 (2025/02/05)

  • fix(backend): Remove invalid leases on start-up. They weren't working anyway.

v4.13.31 (2025/02/05)

  • fix(backend): Remove invalid leases on start-up. They weren't working anyway.
  • fix(livelock): Fix livelock when managers cannot keep up.

v4.12.31 (2025/01/29)

  • build: fix golang vuln for crypto and archiver

v4.13.30 (2025/01/29)

  • build: Update golang vuln for glog and crypto

v4.14.6 (2025/01/29)

  • build: Update golang vuln

v4.14.4 (2025/01/14)

  • fix(datastack): Fix content validation logic when replacing a layer.

v4.14.3 (2025/01/08)

  • fix(triggers): Improve cron trigger validation.
  • fix(triggers): Fix trigger registration.
  • fix(manager): If item is already removed, let action be success.
  • fix(upgrade): Remove race condition on restart directory removal
  • build: update to provision v4.14.2 - go sec
  • fix(backend): Fix fired event names and register sinks for cron triggers
  • fix(triggers): Fix triggers using StoreDataInParameter and MergeDataInParams.

v4.14.2 (2024/12/30)

  • fix(params): Make switching Param security to false work correctly.
  • fix(test): Handle branch names
  • build: fix build break because of content pack updates

v4.14.1 (2024/12/16)

  • build: Update to prov 4.14.1

v4.14.5 (2024/12/11)

  • fix(content): Rework content validation on load

v4.15.0-alpha00 (2024/12/05)

  • Release v4.15.0 Initial

v4.14.0 (2024/12/05)

  • build: update to v4.14.0
  • fix: use v4.14 instead of v4.13 as starting point
  • fix(reservations): reservation.Subnet handling is broken.
  • feat(swagger): Bump version to reflect release point support
  • build: Update drpcli
  • build: update drpcli for fieldinfo fix
  • fix(boot): Fix virtual media transaction issues.
  • fix(dhcp): getting machine object for write before saving it
  • fix(vuln): Update JWT handling library.
  • fix(await): Pull in await parsing fixes.
  • fix(frontend): On migrate machine, keep identity info.
  • fix(failover): Fix test to use a context in license
  • feat(whoami): Have whoami handle older macaddress based matching.
  • feat(await): Advertise and use support for enhanced websocket await filters.
  • fix(backend): batches should only validate incomplete batches
  • fix(cluster): Oops, don't auto-remove all failed nodes.
  • docs: replace old readthedocs links with rackn.io links
  • fix(em): need to do a Find or FindForWrite when looking for an object if it needs to be saved
  • fix(frontend): Make sure that the logs load on upload.
  • fix(auth): Whitelist auth plugins for startup.
  • fix(frontend): When creating a job for a machine or workorder add them to the transaction
  • fix(backend): Handle HPE in GenerateCreateOrMachineToken
  • fix(backend): Fix NPE during auth claims checking
  • fix(backend): Make pref off by default and audit
  • fix(backend,frontend): Split tokens to allow forward and backwards compat
  • fix(backend): Restrict machine tokens - need to reduce before publish
  • fix(misc): Update provision and add feature flag for strict-machine-token
  • fix(backend,frontend): Clear parts of the Machine object when created by runners
  • fix(backend): Don't store the job Token and only send it on the createJob call
  • fix(backend): job token should be based upon the original machine token
  • fix(backend): Add strictMachineToken pref that defaults to true
  • fix(machines): CurrentJob can only change when in job management code.
  • fix(jobs): Enhance job token security.
  • fix(tokens): Force all jobs to get tokens
  • refactor(machines): Tidy up imports in machines.go
  • refactor(db): Remove unneeded field from Maker
  • feat(secure-params) Add feature flag for automatic secure params
  • fix(plugins): Emit log messages when plugins fail to start.
  • fix(triggers): Fix onLoad crash with Triggers on a fresh database.
  • fix(test): hardware-tooling has one more task.
  • fix(render): Restrict access to machines/uuid/render
  • feat(static-firewall): Add basic "firewall" capabilities to the static fs.
  • fix: update doc ref tools
  • doc: Update refs to drpcli and plugins
  • fix: update drpcli and plugins for latest doc fixes
  • build: Include cli updates and fix unit tests
  • feat(event): Split PublishEvent into a two-phase function.
  • perf(events): Refactor event publish handling.
  • feat(swagger): Update the swagger-ui in DRP Server
  • fix(swagger): Remove required from list descriptors
  • fix(bootenv): Fix bootenv override calculations.
  • fix(backend): allow jsonobject: and expandable parameters to skip schema validation
  • fix(backend): remove linux from OS names to allow for consistent repo lookup
  • fix(frontend): whoami should not directly write objects
  • build: update drpcli client version
  • fix(backend): Clean-up panics from radix tree fixes
  • fix(clitest): Update batch tests to make handle full results
  • feat(frontend): Allow for loading of machine bundles into the server.
  • fix(rawFind): Add framework for detecting invalid uses of RawFind.
  • doc(transact): Add more transact comments.
  • fix(tests): Clean up unit tests.
  • perf(memory): Optimize memory usage in more places.
  • test(backup): Beef up backup and rolling upgrade tests.
  • fix(unsafe) Ditch unsafe.Pointer use in backend/params.go
  • feat(radix): Initial database conversion to radix trees.
  • feat(cli): More drpcli improvements
  • fix(crash): Fix concurrent map write crash introduced in last commit.
  • feat(cli): Add generate cli to server
  • fix(transact): Stop taking locks against invalid keys.
  • Fix perf tests of managers
  • perf(jobs): Address job management API scalability in the field.
  • perf(jobs): Update jobs perf tests to have realistic machines.
  • Bump go.mod to pull in cluent updates
  • refactor: Update models to use embedded structs to reduce code
  • fix(backend): res.cron is temporally safe. exclude from race detector.
  • feat(frontend): Rework swagger to be more generated
  • fix(frontend): Add object format helpers
  • fix(license): Fix license counts for migrated machines.
  • fix(certauth): Fix certain client cert types breaking snapshots.
  • fix(upgrade): Allow self upgrade to finish in more cases.
  • Pull in latest v4 client code
  • fix(consensus): Set lock on initialization because unit tests can be reentrant
  • fix(backend): Convert parameter validator to atomic pointer to prevent race issues
  • fix(backend): Make API add/remove of content packs/plugins fail for prereq reasons
  • fix: When a workflow change happens attempt to turn off workorder mode if no WO are pending
  • fix(backend): Restart the jobSweep timer after purging jobs
  • fix(saml): Add root certs as saml intermediates
  • Abort endpoint reconciliation if drp cannot be upgraded for whatever reason
  • Refactor validity checking to be more precise in onLoad vs. beforeSave situations
  • fix(endpoint_manager): Reset action event count on apply changes
  • fix(endpoint_manager): fix tests for new endpoint piece
  • fix(endpoint_manager): Add failure when all the actions have failed.
  • fix(upgrade): Cut out extra API calls when upgrading
  • fix(upgrade): Add single node upgrade test to the rolling upgrade tests.
  • Bump go-swagger to latest released version
  • Make plugin stuff panic if it detects an impossible client situation
  • fix(esxi): Add backwards compat for third-party ESXi bootenvs.
  • feat(frontend): Add job logs size into the HEAD header
  • security: Fix golang sec updates
  • fix(backend,dhcpv4): handle missing bootenv in dhcp processing.
  • fix(dns): If authorative, return 0 answers instead of NXDomain
  • fix(manager): Make manager no longer require artifact sync.
  • Pull in latest client library withg vuln fixes
  • fix(secure-params): Fix secure param encryption on content load.
  • secure params in plugins fix part 1
  • fix(dns): Make failure to start DNS servers non fatal.
  • Clean no-longer-referenced CLU unit test data
  • test(secureParams): Add unit test for in-content secure param upgrade
  • fix(vuln): Pull in archiver fork to fix security vuln.
  • fix(error): Emit errors in static fs responses.
  • fix(dns): handle PTR across zones
  • debug(panic): Add more panic stack traces.
  • fix(arm64): Automatically set machine arch via DHCP.
  • fix(arm64): Fix up path handling for arm64 booting of Sledgehammer
  • fix(tests) Increase passive replication timeouts.
  • Fix(mgr): Fix license expiration calculations.
  • fix: Make ux* models paramers to prevent crash
  • feat(dhcp): Add ability to skip server-side duplicate address detection
  • fix(backend): Handle case where reference is already removed
  • fix(race): Fix race condition in unit tests.
  • fix(jobs): Fix in-memory job object size explosion.
  • Add more verbose error handling around connections being cancelled
  • fix(explode): Fix archive explode when receiving passive streams.
  • fix(manager): Cache the results of merging catalogs for version set management.
  • fix(secureContent): Handle secure params when loading content from a plugin provider.
  • fix(backend): Add caching of IPAM objects for faster lookup
  • fix(websocket): Upgrade melody to latest code and stop infinite loop on unexpected close.
  • build: update go pieces
  • fix(manager): Add managed node backpressure.
  • fix(deadlock): Fix manager deadlock under heavy traffic.
  • fix(security): Update protobuf library
  • fix(backend): send the expanded URI to the decrypt plugin
  • Fix(race): Remove race conditions in endpoint management code
  • fix(backend): Allow pool workflow changes to start on workflow change.
  • fix(endpoint_manager): Allow for ReplaceWritable in VersionSet Components
  • fix(auth): Stop creating job logs for certain plugin actions.
  • fix(modelReflect): Hydrate null pointers when populating fields.
  • feat(roles): Allow for rbac update to specify a value that can be set.
  • fix(livelock): Stop holding consensus locks during replication.
  • Update rofs
  • fix(jobs): Fix goroutine leak when handling job log archives.
  • fix(test): Fix version-dependent unit test failures.

v4.13.29 (2024/12/04)

  • fix(reservations): reservation.Subnet handling is broken.

v4.11.33, v4.11.34 (2024/11/21)

  • build: fix dependencies
  • fix(vuln): Pull in fixed version of the JWT library we use.
  • fix(em): need to do a Find or FindForWrite when looking for an object if it needs to be saved

v4.12.30 (2024/11/21)

  • fix(vuln): Fix security vulnerability in the JWT parsing library.

v4.13.28 (2024/11/21)

  • fix(vuln): Update JWT handling library.
  • fix(boot): Fix virtual media transaction issues.

v4.12.29 (2024/11/19)

  • secure(gin): Bump Gin CORS and the rest of the Gin components.
  • fix(em): need to do a Find or FindForWrite when looking for an object if it needs to be saved

v4.13.27 (2024/10/29)

  • fix(cluster): Oops, don't auto-remove all failed nodes.
  • fix(em): need to do a Find or FindForWrite when looking for an object if it needs to be saved

v4.13.26 (2024/10/23)

  • fix(auth): Whitelist auth plugins for startup.
  • fix(frontend): When creating a job for a machine or workorder add them to the transaction
  • feat(secure): Advertise inline secure param handling
  • feat(secure-params) Add feature flag for automatic secure params
  • fix(plugins): Emit log messages when plugins fail to start.

v4.13.25 (2024/09/26)

  • feat(http-requests): updating tests with backend changes
  • fix(bootenv): Fix bootenv override calculations.

v4.13.24 (2024/09/17)

  • build: Update the client to v4.13.14

v4.13.23 (2024/09/06)

  • fix(crash): Fix concurrent map write crash introduced in last commit.

v4.12.28 (2024/09/06)

  • fix(crash): Fix concurrent map write crash introduced in last commit.

v4.13.22 (2024/08/30)

  • fix(transact): Stop taking locks against invalid keys.

v4.12.27 (2024/08/30)

  • fix(transact): Stop taking locks against invalid keys.

v4.13.21 (2024/08/29)

  • perf(jobs): Address job management API scalability in the field.
  • perf(jobs): Update jobs perf tests to have realistic machines.
  • fix(cluster): Pull in cluster-aware drpcli system upgrade

v4.12.26 (2024/08/29)

  • perf(jobs): Address job management API scalability in the field.
  • perf(getParamSources): Make getParamSources use RawFind everywhere.
  • perf(jobs): Update jobs perf tests to have realistic machines.
  • fix(build) Update to build with Go 1.23

v4.13.19 (2024/08/08)

  • fix(upgrade): Allow self upgrade to finish in more cases.

v4.13.18 (2024/08/07)

  • fix(filter): Fix import of content with filters.

v4.13.17 (2024/07/31)

  • fix(backend): Restart the jobSweep timer after purging jobs

v4.13.16 (2024/07/29)

  • build: update to latest version of provision v4.13.10
  • Abort endpoint reconciliation if drp cannot be upgraded for whatever reason
  • Refactor validity checking to be more precise in onLoad vs. beforeSave situations
  • fix(endpoint_manager): Reset action event count on apply changes
  • fix(endpoint_manager): fix tests for new endpoint piece
  • fix(endpoint_manager): Add failure when all the actions have failed.
  • fix(manager): Make manager no longer require artifact sync.
  • fix(upgrade): Cut out extra API calls when upgrading
  • fix(upgrade): Add single node upgrade test to the rolling upgrade tests.
  • Bump go-swagger to latest released version
  • Make plugin stuff panic if it detects an impossible client situation

v4.13.15 (2024/07/15)

  • fix(esxi): Add backwards compat for third-party ESXi bootenvs.

v4.13.20 (2024/07/15)

  • fix(license): Fix license counts for migrated machines.
  • fix(certauth): Fix certain client cert types breaking snapshots.

v4.13.14 (2024/07/12)

  • fix: Fix go deps
  • security: Fix golang sec updates
  • fix(backend,dhcpv4): handle missing bootenv in dhcp processing.

v4.13.13 (2024/06/18)

  • fix(secure-params): Fix secure param encryption on content load.
  • secure params in plugins fix part 1
  • fix(dns): Make failure to start DNS servers non fatal.
  • Clean no-longer-referenced CLU unit test data
  • test(secureParams): Add unit test for in-content secure param upgrade
  • fix(vuln): Pull in archiver fork to fix security vuln.
  • fix(error): Emit errors in static fs responses.
  • fix(dns): handle PTR across zones
  • debug(panic): Add more panic stack traces.
  • fix(arm64): Automatically set machine arch via DHCP.
  • fix(arm64): Fix up path handling for arm64 booting of Sledgehammer
  • Fix(mgr): Fix license expiration calculations.

v4.13.12 (2024/04/24)

  • fix: Update to make ux-* models paramers
  • feat(dhcp): Add ability to skip server-side duplicate address detection

v4.13.11 (2024/04/23)

  • fix(backend): Handle case where reference is already removed

v4.12.25 (2024/04/19)

  • Add updates for latest volnerabilities.
  • fix(jobs): Fix in-memory job object size explosion.

v4.13.10 (2024/04/18)

  • fix(jobs): Fix in-memory job object size explosion.
  • Add more verbose error handling around connections being cancelled
  • fix(explode): Fix archive explode when receiving passive streams.
  • fix(manager): Cache the results of merging catalogs for version set management.
  • fix(backend): Add caching of IPAM objects for faster lookup
  • fix(secureContent): Handle secure params when loading content from a plugin provider.

v4.13.9 (2024/04/05)

  • fix(websocket): Upgrade melody to latest code and stop infinite loop on unexpected close.
  • build: Fix go versions
  • build: update go pieces

v4.13.8 (2024/03/20)

  • fix(security): update protobuf library.

v4.12.24 (2024/03/20)

  • fix(security): Update protobuf library

v4.13.7 (2024/03/19)

  • fix(backend): send the expanded URI to the decrypt plugin

v4.12.23 (2024/03/19)

  • fix(backend): send the expanded URI to the decrypt plugin

v4.11.32 (2024/03/19)

  • fix(backend): send the expanded URI to the decrypt plugin

v4.13.6 (2024/03/11)

  • Fix(race): Remove race conditions in endpoint management code

v4.13.5 (2024/03/10)

  • fix(backend): Allow pool workflow changes to start on workflow change.
  • fix(endpoint_manager): Allow for ReplaceWritable in VersionSet Components

v4.13.4 (2024/03/05)

  • fix(auth): Stop creating job logs for certain plugin actions.
  • fix(modelReflect): Hydrate null pointers when populating fields.

v4.12.22 (2024/03/05)

  • fix(auth): Stop creating job logs for certain plugin actions.
  • fix(modelReflect): Hydrate null pointers when populating fields.

v4.13.3 (2024/03/01)

  • feat(roles): Allow for rbac update to specify a value that can be set.
  • fix(livelock): Stop holding consensus locks during replication.

v4.12.21 (2024/02/28)

  • fix(livelock): Stop holding consensus locks during replication.
  • fix(leak): Fix job log archive leak.

v4.11.31 (2024/02/28)

  • fix(livelock): Stop holding consensus locks during replication.
  • fix(leak): Fix job log archive goroutine leak.

v4.13.2 (2024/02/21)

  • fix(catalog): Pull in catalog checksum optimizations.

v4.13.1 (2024/02/14)

  • fix(leak): Fix job log archive goroutine leak.

v4.14.0-alpha00 (2024/02/12)

  • Release v4.14.0 Initial

v4.13.0 (2024/02/12)

  • build: update to v4.13.0
  • fix(crash): Protect dr-provision from malformed bootenvs.
  • fix(frontend): on error, don't try to use the variable.
  • (fix: tokens): adding some tests that use the machine token
  • fix(tftp): Ensure we emit TFTP events no matter what.
  • fix(clitest): Fix a bunch of failing CLI tests around CreatedAt/CreatedBy
  • fix(layers): Allow removal of duplicate objects across layers.
  • fix(backend): create/delete activity aggregators now reset on boundaries
  • fix(frontend): Update the info stats to handle unset as virtual
  • perf(logging): Pull in latest logging package.
  • fix(secure): Get rid of reliance on client side SecureData encryption.
  • feat(backend): Allow work orders on locked machines
  • fix(em): updates so blueprints can be run on locked machines
  • fix(endpoint_manager): not syncing user secrets across endpoints if manager has a matching user
  • build: go updates
  • fix(em): option to remove endpoint files from manager
  • fix(backend): reset endpoint client upon url, username, password change
  • perf(websocket): Reduce memory consumption during event processing.
  • Reorder index scan to move index.Ne to the tail position where possible
  • feat(info): add virtual, physical, and users to stats in info
  • fix(layers): Fix duplicate layer issue when running in a consensus cluster.
  • perf(jobPurge): Speed up job purging for missing machines.
  • fix(leak): Reduce memory consumption in GetParam/GetParams
  • Fix Value() bug in combinedContext
  • Transition to the new AVL library
  • Pull in latest ibtree
  • feat(cli): Update to latest cli and fix unit tests
  • fix(accessor): updating created time logic and tests
  • fix(race): Fix a race that can happen due tp copying the write layer.
  • fix(log): Allow configurable log truncation on a per-task basis.
  • perf(tx): Improve performance of transaction release code.
  • feat(accessor): adding tracking for creation and modification of objects if done by a user
  • perf(filters): Reduce mutex overhead for filter statistics.
  • feat(datastack) Layer handling refactor.
  • Add a few more strategic RawFinds
  • fix(backend) skip validation if unmanaged context
  • build: Update cli to latest
  • feat(backup): Add information on how to get more detailed backup information.
  • perf(index): Optimize memory usage when creating new scratch indexes.
  • perf(indexes): Get rid of excess index copying.
  • perf(bootenv): Refactor how customized bootenvs are tracked.
  • build: Update drpcli config
  • fix(startup): Make template cross-validation a soft error.
  • perf(templates): Refactor to use models.BaseTemplate where possible.
  • perf(templates): Fix performance regression in StringExpand.
  • fix(frontend): put update to user for ad-auth on endpoints
  • perf(indexes): Convert most things to use iterators.
  • perf(indexes): Switch the Walk() method for indexes to use iterators.
  • fix(deadlock) Make root indexes immutable.
  • feat(dhcp): Add granularity to DHCP metrics.
  • feat(static): Make the API and the secure static server use the same cert.
  • fix(deps): Pull in updated dependencies and refactor semver.
  • feat(consensus): Implement two-phase consensus join and nonvoting Observers.
  • feat(consensus): Allow real directed leadership transfers.
  • fix(migrate): Fix data loss when migrating old legacy formats or old data.
  • fix(ipmi): Fix ipmi update in required features
  • fix(plugins): restart all plugins on license change.
  • feat(expand): allow for better eval with a fake machine
  • feat(ipam): Add unit tests for param expand, rendering, and ipam
  • feat(render): add unit tests for rendering
  • feat(frontend,backend): Add expanding parameters and rendering of machine blobs
  • feat(ipam): Make subnet and reservation a paramer/profiler
  • feat(ipam): Add ipam support in subnets
  • fix(token): Fix seconds from nanosecornd
  • fix(activities): Include remote endpoint info
  • build: include new provision cli
  • feat(frontend): Add ability to render parameters on request
  • build: update drpcli in server
  • Fix machine migrate error with secure params.
  • fix(cluster): add cluster profile to/from tenants
  • fix(endpoint): Remove rt deadlock
  • feat(tasks): Allow for the specification of token duration in extraclaims and extraroles
  • fix: go vuln issues
  • fix(actions): fixes CVE on Action parameters
  • build: include latest drpcli
  • fix(leak): Fix goroutine leak introduced with MergeContexts.
  • fix(level): bootenv not available log levels.
  • perf(overlay) Fix a perf issue with lots of active machines.
  • Add FS stuff to machines test
  • fix(ci): pass artifacts from build stage.
  • fix(replication): remove race condition in the Submit path
  • fix(manager): content pack and catalog rebuilds need to trigger endpoint version checks
  • fix(files): Allow the explode files code to work like previous version
  • fix(license): Make sure the license counters are set at begninning
  • fix(billing): Add new license toggle for billing reports
  • feat(dns): Bind with ips directly so we can skip 127.0.0.53
  • build: update to latest cli
  • fix(hammer): Fix per-machine Sledgehammer not working.
  • fix: update tests from provision
  • fix: merge breaks
  • feat(dns): Unit tests for zones
  • feat(dns): Fix unit tests
  • feat(dns): Allow DRP to server DNS for Name->IP, forward otherwise
  • Fix up vulncheck test to actually fail
  • Fix apparently busted etags.go
  • feat(httpboot): Add backwards compatibility links for OS repos.
  • feat(httpboot): Add support for UEFI http boot.
  • update(deps): Update all the things.
  • fix(transport): Fix goroutine leak from http.Transport use.
  • fix(replication): Add active side replication circuit breaker.
  • fix(catalog source): updating tests and method definition was updated
  • fix: vuln issues
  • fix(manager): handle missing unlock

v4.12.20 (2024/02/05)

  • fix(layers): Allow removal of duplicate objects across layers.

v4.11.30 (2024/02/05)

  • fix(layers): Allow removal of duplicate objects across layers.

v4.12.19 (2024/02/01)

  • perf(logs): Pull in updated logger package.

v4.11.29 (2024/02/01)

  • perf(log): Pull in updated Logger package.
  • fix(isoboot): Fix broken virtual media boot.

v4.12.18 (2024/01/26)

  • fix(em): updates so blueprints can be run on locked machines

v4.12.17 (2024/01/24)

  • fix(endpoint_manager): not syncing user secrets across endpoints if manager has a matching user

v4.12.16 (2024/01/18)

  • build: go versin update
  • fix(em): option to remove endpoint files from manager
  • fix(backend): reset endpoint client upon url, username, password change

v4.11.28 (2024/01/18)

  • build: update go deps

v4.12.15 (2024/01/08)

  • fix(layers): Fix duplicate layer issue when running in a consensus cluster.

v4.11.27 (2024/01/08)

  • fix(layers): Fix duplicate layer issue when running in a consensus cluster.

v4.12.14 (2023/12/11)

  • fix(log): Allow configurable log truncation on a per-task basis.

v4.12.13 (2023/11/22)

  • fix(layers): Make it harder for the stack to have duplicate layers.

v4.11.26 (2023/11/22)

  • fix(layers): Make it harder for the stack to have duplicate layers.

v4.12.11 (2023/11/02)

  • build: pull in latest cli
  • fix(security): Update for latest go vulns
  • feat(backup): Add information on how to get more detailed backup information.

v4.11.25 (2023/11/02)

  • fix(security): Update for go vuln

v4.12.10 (2023/10/31)

  • fix(drpcli): Pull in latest drpcli

v4.11.24 (2023/10/24)

  • fix(startup): Make template cross-validation a soft error.
  • fix(migrate): Fix data loss when migrating old legacy formats or old data.

v4.12.12 (2023/10/23)

  • fix(frontend): put update to user for ad-auth on endpoints

v4.12.8 (2023/10/06)

  • fix(migrate): Fix data loss when migrating old legacy formats or old data.

v4.12.7 (2023/10/02)

  • fix(activities): Include remote endpoint info
  • Fix machine migrate error with secure params.

v4.11.23 (2023/09/21)

  • Fix machine migrate error with secure params.

v4.12.6 (2023/09/18)

  • fix(endpoint): Remove rt deadlock

v4.12.5 (2023/09/08)

  • fix(actions): fixes CVE on Action parameters
  • fix(etags): Fix scoreboard leak.

v4.11.22 (2023/09/07)

  • fix(etags): Fix scoreboard leak.

v4.12.4 (2023/09/01)

  • fix(leak): Fix goroutine leak introduced with MergeContexts.
  • perf(overlay) Fix a perf issue with lots of active machines.
  • fix(replication): remove race condition in the Submit path
  • fix(manager): content pack and catalog rebuilds need to trigger endpoint version checks
  • Add FS stuff to machines test
  • build: update cli

v4.12.9 (2023/08/29)

  • fix(license): Make sure the license counters are set at begninning
  • fix(startup): Make template cross-validation a soft error.

v4.11.21 (2023/08/23)

  • perf(SetDynamic): Improve performance by an order of magnitude at scale
  • Add FS stuff to machines test

v4.12.3 (2023/08/23)

  • fix: update provision to versioned
  • fix(catalog source): updating tests and method definition was updated

v4.12.2 (2023/08/09)

  • build: fix latest go vuln

v4.11.20 (2023/08/09)

  • build: update vuln issues

v4.12.1 (2023/07/28)

  • fix(manager): handle missing unlock
  • fix(transport): Fix goroutine leak from http.Transport use.
  • fix(replication): Add active side replication circuit breaker.

v4.13.0-alpha00 (2023/07/26)

  • Release v4.13.0 Initial

v4.12.0 (2023/07/26)

  • build: update to v4.12.0
  • fix(backend): Print connection/transaction error on failure
  • feat(license): Add metrics for soft and hard expire days left.
  • fix(batches): Handle setup straight to post and all workorders clearing before setup is done
  • fix(auth): proxy calls don't auth first.
  • fix(saml,ad-auth,manager): Handle manager auth propagating down to endpoints
  • fix(backend): Handle NPE when printing out error messages.
  • fix(backup): Fix waltool backup issues.
  • build: include drpcli catalog
  • fix(pool): pool actions should error if pool is not valid or not available
  • fix(batches): WorkOrderTemplate optional. Unit tests updates
  • feat(rofs): mmap ROFS backing files where possible.
  • fix: update saml library to pull in library print error
  • fix(rofs): Pull in latest rofs code.
  • fix(package): Stop including uid and gids.
  • fix(rofs): Pull in latest rofs
  • feat(license): Add license item current counts and limits to metrics.
  • feat(rofs): Clean up some ROFS support.
  • fix(action): Re-allow passing plaintext secure params as action parameters.
  • fix(multiport): Make multiple port vai env vars work.
  • build: update with latest provision
  • fix(unmanaged): Fix unmanaged context support.
  • cleanup(fs): Clean up some annoyances that were confusing Goland.
  • fix(consensus): Move active node setting to just after election.
  • fix(context): Fix bug in chained bootenv/context switching.
  • fix(path): Do not let bootenv or stage templates break everything.
  • feat(context): Add unmanaged Context support.
  • Promote simplecache to non-indirect requirement
  • fix(explode): Bump the timeout for an AllLocked transaction.
  • feat(explode): Allow ISO exploding to happen in parallel.
  • fix(explode): Update explode_iso to not need restorecon
  • fix(manager): Fix paths to all write operations to go to the owning endpoint.
  • fix(activities): clear activities table
  • fix(activities): fix manager unit test
  • fix(activities): update manager unit tests
  • feat(activities): Don't hard fail uuid setting
  • fix(activities): Fix unit tests
  • build: temp disable vulncheck
  • feat(activities): Add uuid to prefs
  • fix: go refs
  • fix(activities): use parse/print helpers
  • feat(activities): add unit tests.
  • feat(activity): Add activity entry for workflow complete
  • feat(activity): Add Fingerprint data to entry
  • feat(billing): add endpoint mac to report data
  • feat(billing): add billing to DRP
  • feat(jobs): Allow for independent job creation via API, and add a flag for it
  • perf(params): Reduce marshalling overhead when setting params via the API calls
  • fix(whoami): fix cloud init
  • build: pull in more go.*
  • fix(manager): rework the pieces of DRP update
  • feat(batch): Add unit tests for batches
  • fix(cli): Update for aggregate changes on show
  • fix(frontend): all get of clusters, machines, and resource_brokers to aggregate
  • feat(batch): unit test updates
  • feat(batches): Add support for batch objects
  • feat(ui): redirect based on referer if from .rackn.io domains
  • feat(action-jobs): Exercise the new plugin action job stuff.
  • feat(jobs): Expand job action logs.
  • Pull in latest TFTP code, and handle fs.File better in the TFTP server
  • fix(manager): read-only users should not be synced
  • feat(action,jobs): Add a job entry for actions called against machines
  • fix(consensus): Oops, fix potential unbounded consensus log growth.
  • fix(frontend): binary update from ux use form file. Put that back.
  • fix(manager): use the local backend for parameter lookups
  • feat(websocket): increase websocket max message size from 512 to 4096
  • fix(websocket): ignore fourth argument if empty
  • chore: update go.mod and go.sum
  • fix(websocket): fix event filters failing on certain objects
  • feat(websockets): add fourth register arg for raw filters
  • fix(fs): Do not delete OS dynamic entries when deleting a machine.
  • Change consensus port
  • fix(race): Fix race condition in streaming replication.
  • Pull in rofs and updated client code
  • fix(clientCert): Fix client cert authentication.
  • feat(static-upload): Add the ability to upload directly to static services.
  • fix(manager): Force delay for non-prereq errors
  • build: update drpcli
  • build: fix govulncheck to work on binaries
  • fix(bootenv): handle a NPE when bootenv name is smaller than OS.Repos
  • fix(bootenv): Allow ubuntuhammer to work like sledgehammer
  • feat(multiport): Allow HTTP-backed services to run on multiple ports.
  • fix: remove spurious printf
  • fix: Results normalization
  • build: fix init problem
  • fix: build merge
  • chore: update go.mod and go.sum
  • feat(backend): GenerateUserToken as render helper
  • feat(jobs): add JobState to TaskState, refactor job handler, add running state
  • feat(jobs): add JobExitState to TaskState
  • chore: update go.mod and go.sum
  • refactor(jobs): move job result state reset to MakeJobState
  • build: update go.mod and go.sum
  • build: update go.mod with provision commit
  • fix(jobs): use FindForWrite instead of Find on job change handler
  • fix(jobs): move job result state reset to createJob to reduce potential events
  • feat(jobs): update resource and work_order job result state on failure
  • fix(clitest): Fix failure caused by stdlib error message change
  • fix(vuln): Pull in client-side vilnerability fixes
  • feat(dhcp): additional ack event when pxe booting or if machine is present
  • fix(waltool): Pull in fix for failing waltool backups.
  • build: Add latest drpcli to server
  • fix(bootenv): Fix unexpected discovery bootenv break.
  • fix(catalog): Fix file joins on URLs
  • fix(work_orders): Make work orders created for a specific machine start with the machine's context
  • fix(plugins): build catalog in server was using wrong directory
  • fix(isofs): Fix stupid unmount too many dynamic mounts bug.
  • fix: Update cli for error msg
  • Always sort ents when retuning a Directory in http
  • fix(isofs): Refactor static FS code to improve accountability.
  • fix(explode): Strip out support for obsolete and unwanted bootloaders.
  • doc: fix unit test break
  • doc: Update drpcli for doc building
  • fix(rerender): Fix OS template rerender fail.
  • fix(repo): if components don't render the base.
  • feat(macaddr): Relax Reservation update strictness and MAC address handling.
  • fix(tests): Fix flexiflow content load unit test.

v4.11.19 (2023/07/06)

  • fix: pull in drpcli
  • fix(backup): Fix waltool backup issues.

v4.11.18 (2023/06/15)

  • fix(action): Re-allow passing plaintext secure params as action parameters.

v4.11.17 (2023/06/12)

  • fix(context): Fix bug in chained bootenv/context switching.

v4.11.16 (2023/06/05)

  • fix(path): Do not let bootenv or stage templates break everything.

v4.11.15 (2023/05/19)

  • build: Update ref to provision
  • fix(manager): Fix paths to all write operations to go to the owning endpoint.
  • fix(explode): Improve ISO expansion handling.
  • perf(params): Reduce marshalling overhead when setting params via the API calls

v4.11.14 (2023/05/01)

  • fix(whoami): Update drpcli whoami to handle cloud better

v4.11.13 (2023/04/18)

  • fix(consensus): Oops, fix potential unbounded consensus log growth.

v4.11.12 (2023/04/17)

  • fix(manager): use the local backend for parameter lookups

v4.11.11 (2023/04/07)

  • Pull in job log archive deadlock fix from client code

v4.11.10 (2023/04/06)

  • fix(vulncheck): Account for removal of -v flag.
  • fix(manager): Force delay for non-prereq errors

v4.11.9 (2023/04/05)

  • build: tag ref update
  • build: fix govulncheck to work on binaries

v4.11.8 (2023/03/24)

  • fix(schema): Fix invalid schema causing a panic.

v4.11.7 (2023/03/21)

  • fix(clientCert): Fix client cert authentication.

v4.11.6 (2023/03/16)

  • fix(bootenv): handle a NPE when bootenv name is smaller than OS.Repos

v4.11.5 (2023/03/15)

  • fix: Update for latest vulncheck
  • fix(bootenv): let ubuntuhammer work like sledgehammer

v4.11.4 (2023/02/15)

  • fix(waltool): Fix backup to Windows backed filesystems.

v4.11.3 (2023/02/13)

  • build: update to lates cli

v4.11.2 (2023/02/06)

  • fix(plugins): build catalog in server was using wrong directory

v4.11.1 (2023/01/24)

  • fix(explode): Strip out support for obsolete and unwanted bootloaders.
  • fix(rerender): Fix OS template rerender fail.
  • fix: Fix unit tests
  • fix(repo): if components don't render the base.

v4.12.0-alpha00 (2023/01/12)

  • Release v4.12.0 Initial

v4.11.0 (2023/01/12)

  • build: update to v4.11.0
  • fix(explode): Fix log messages around ISO explode.
  • feat(self-runner): Update parameters on the self-runner to include event-worker-pool cluster/tags
  • feat(gohai): pull in updated drpcli for updated gohai.
  • docs: misc swagger error fixes
  • fix(missing): Fix handling for missing static files.
  • build: update drpcli
  • fix: Update for locking protection
  • feat(frontend): add healthcheck endpoint
  • fix: doc ref
  • build: update drpcli in provision for latest pieces
  • fix(connections): comment out connections DELETE, fix swagger comments
  • fix: convert to atomic.value from lock/var
  • fix: bad dead lock.
  • fix: Try to protect updating the Concensus field
  • fix(frontend): Handle data race issues in connections by returning copies
  • fix(backend): Fix lost/locked event processor on failover.
  • fix(server): create self-runner with self-runner meta data
  • fix(connections): remove machine_connections, use principal for connection event key
  • fix(connections): rename machine.connect to machine_connections.connect
  • fix(connections): add /connections to resource_brokers and clusters
  • fix(connections): only emit events on new api connections
  • fix(connections): fix inverted case for events
  • feat(connections): pagination, events on api socket create/delete, service principal
  • fix(workorder): When machine has no orders but filter matches fails
  • fix: go vuln check
  • feat(isofs): Default isofs back to off.
  • fix(server): add started up option to turn on client cert auth (default off)
  • feat(client-cert-auth): Refactor auth path when handling client certs.
  • feat(client-cert-auth): Configurable trust roots for client certs.
  • fix(manager): if endpoint license expired, don't replicate
  • fix(plugin): Decode the secret params in the base plugin
  • fix(token): remove cluster token in user token response
  • fix: more testing fixes
  • fix: missing test file
  • fix: connections issue
  • fix: add current job to task stack
  • build: update provision dependency
  • fix(dhcp): Use the static address if specified instead of default gateway or local address.
  • fix(saml): update saml library to work with short names of IDP
  • fix(token): Exposing the cluster token in the info get call is Bad.
  • feat(jobs): Fix job log archive spurious failures.
  • fix(test): update for new bios building
  • fix(manager-tests): update for new plugin building
  • fix: if token has secrets make sure they match input
  • fix(connections): render as sorted slice instead of map
  • fix(connections): update feature flag for connections
  • feat(buildCatalog): using new build catalog method
  • fix(connections): fix filtering on connections, fix makers for Addr and AddrPort
  • refactor(connections): move connection logic to connections.go from websockets.go
  • fix(jobs): Stop panic when it is not needed.
  • feat(connections): add filtering to connections
  • fix(frontend): SAML IDP content pack changes(cud) should refresh IDP metadata
  • refactor(websockets): replace Compare with ==, add some inline comment documentation
  • feat(connections): Add basic connection list unit tests
  • fix(connections): fix DELETE api on websocket connections
  • fix(clitest): Add new feature flag to unit tests.
  • feat(connections): Track HTTP connections as well as websockets.
  • fix(race): Fix race condition in consensus cert handling.
  • fix(websockets): filter /websockets by non-unknown principal
  • fix(websockets): remove TokenInfo from WebsocketConnection json blob. Replace with Principal
  • feat(migrate): Don't migrate machines in a context.
  • Fix mergeProfiles in test.sh
  • fix(explode): Get rid if an infinite loop exploding ISOs.
  • perf(assets): Switch embedded asset generation to not use zip command
  • fix(websockets): comment out DELETE api action for closing sockets
  • feat(websockets): add feature flag, DELETE and GET api
  • fix(websockets): resolve MR 924 feedback
  • build: Update to latest provision
  • feat(websockets): add /websockets, /machine/:uuid/runners, fix machine.connect,disconnect events
  • lint: various single line replacement lint fixes
  • lint: remove more lint rules that apply to other packages
  • feat(backend): use isofs by default
  • feat(websocket): add initial websocket connection tracking. add machine.connect,disconnect events for runner connection
  • fix(server): Handle prom gin metrics data race
  • lint: various minor fixes that
  • lint: add staticcheck config based on existing code style
  • lint: fix lint errors due to two go files with main funcs in the same folder
  • fix(frontend): Update the WorkOrder docs for POST and DELETE
  • Update unit tests for new RAID and BIOS prereqs
  • fix(saml): Pull in security-fixed SAML library.
  • test(vulncheck): Add a vulnerability checking stage to unit tests.
  • feat(tarfs): Fix up several path handling issues.
  • feat(isofs): We now handle uncompressed tarballs as well.
  • feat(isofs): Add additional logging around when isofs is used.
  • feat(isofs): Add feature flag and directory listing test.
  • feat(isofs): Add support for not exploding ISOs.
  • Make profile migration work
  • feat(migrate): test profiles
  • fix: busted unit test
  • feat(embed): Use Go native asset embedding.
  • fix: ux-views tweaks
  • fix: fix ux-views model
  • fix(saml): Allow more than the first group in the list.
  • fix(snapshot): Fix reference counting for older snapshots
  • build: update the models
  • fix(vulns): Fix vulberabilities found by govulncheck
  • feat(consensus): Add multiversion consensus tests.
  • feat(snapshot): Reuse old snapshot files instead of releasing them.
  • feat(filters): enable list/count and trigger/work_orders to use filters
  • feat(ux-views): Embedded ux-views
  • feat(templates): allow for custom delimiters
  • fix(saml): initial create of user had bad secret
  • fix: Support more signing methods from Keys
  • fix: Allow work orders to be created in filter only mode through the API.
  • fix(machine-migration) Pull in fix for job migration.
  • fix(race): Fix race condition on log import.
  • build: put back stuff
  • fix(frontend): fix typo in machine migration workorder url
  • fix(race): Fix Race condition deleting a machine
  • fix(update): Fix false validation fail in handling content update.
  • feat(superuser): only delete if there is another superuser
  • build: fix docs again
  • build: Allow docs to build to branch name
  • feat(superuser): do not delete if there are no superused left
  • fix(jobs): Fix job sweep and archive logic.
  • Bump provision deps
  • fix: unit tests
  • fix(ssl): Add server parameter for SSL CA Cert specification (fixes MacOS)
  • Fix hang while migrating machine jobs
  • feat(machine-migrate): Machine migration.
  • feat(frontend): Add events/errors on webhook failures
  • feat(ssl): enable client certs with user and extensions.
  • fix: fix tftp header calc
  • fix(ha): Use a new client object for file replication
  • feat(debadger): Add a new backend store in raftStore.
  • feat(backend): add ol to bootenv and repo
  • build: update to latest client
  • fix: handle '.' in the path
  • fix(backup): Let dr-waltool backup work correctly with clusters.

v4.11.0-alpha00 (2022/08/08)

  • Release v4.11.0 Initial

v4.10.0 (2022/08/08)

  • build: update to v4.10.0
  • fix(msm): cleanup and minor improvements
  • fix(machine_jobs): machine_jobs and work_order_jobs events were busted.
  • build: update to latest drpcli
  • feat(upgrades): enabling two phase rolling upgrades for managers where available
  • Restore improperly deleted agent tests
  • feat(treeinfo): Fix treeinfo based unit tests.
  • feat(remote-install): Fix ISO-less installs for 8.x and 9.x RHELish oses.
  • fix(dr-waltool): Fix cert permission errors and missing ha-state.json
  • fix(backend): get repository from .treeinfo
  • feat(license): Generate an alert on license exceeded API calls
  • fix(maanger): fixing getcatalogitem logic
  • fix(catalog): catalog calls moved to api instead of cli
  • feat(debadger): Extract nearly all badger-specific code into a package.
  • fix(wal): Fix another way badgerdb can be corrupted.
  • fix(websocket): Malformed event registrations will panic dr-provision.
  • fix(waltool): Fix recover hanging and recover more data.
  • Refactor userAuth to make space for client cert auth
  • feat(guac): Adds the middle proxy for guacamolde-style remote access
  • fix(clitest): add unit tests for prereq injection on tasks.
  • fix: update some spelling issues
  • fix(swagger): Add missing Alerts object to swagger
  • doc: Don't publish docs unless in tip and fix relnotes
  • fix(trigger): add enabled flag as well
  • build: Update unit tests for user role and other new updates
  • doc: fix doc formating issue
  • build: ensure all the client pieces are updated
  • build: update to latest cli
  • feat(triggers,list): unit tests for list and trigger disabling
  • feat(api): allow list/count to process aggregate parameters aggregate=true
  • fix(saml): redirect fails on some key types. Handle more keys
  • Fix redirect handling when there is no port in the requested URL
  • feat(triggers): Add 'triggered-by' meta data to WorkOrders with the triggering Trigger.
  • build: update to latest drpcli
  • feat(task): Add ability to reference parameters from one to another.
  • fix: undo 1 sec timeout DRP cli
  • fix(event-trigger): handle another marshal issue.
  • build: update drpcli
  • fix(explode): Derp, fix deadlock when exploding ISO files.
  • fix: create race condition in Alerts
  • build: update drpcli to latest
  • build: update drpcli
  • build: update provision
  • feat(endpoint-manager): using manager catalog url for managers
  • build: fix busted test.
  • feat(alerts): allow for unique alert compacting
  • fix(bootenv): Rework override processing.
  • feat(alerts): add user acknowledgable alerts
  • feat(backend): add param-source-map for aggregate calls
  • fix: Update backingstore version to v4.10
  • feat(catalog_urls): fetching catalog items from backend
  • fix(transact): Make transaction unblocking more resilient.
  • fix: Allow profiles and subnets to start with numbers.
  • fix(dr-waltool): Update backup failure message to give more hints
  • fix(dr-waltool): add version command
  • fix: pull in latest cli
  • feat: tests for group-by/range-only
  • feat: add group-by and range-only list parameters
  • fix: Add tests
  • feat(trigger): Add QueueMode for triggers
  • fix(triggers): Sort the machines looked up by pending work orders
  • fix(auth): allow for ad-auth to retain secrets from ADAUTH
  • fix(server): self-runner should be started with workflow 'none'
  • Micro-optimize transaction behaviour by making a helper inline-able
  • Bump test timeouts
  • feat(upgrade): Implement rolling upgrades for consensus clusters.
  • fix(package): package.sh no longer needs to build drpcli.
  • fix: remove all '/' when looking for raw models
  • build: update for autocomplete fix
  • fix: unit tests
  • fix: license error message
  • fix(cron): add UX render meta, fix tests
  • doc(trigger): add docs to tests for cron-trigger/time-string
  • doc(trigger): add docs and meta for cron-trigger/time-string
  • fix: update for gohai panic fix.
  • fix(tests): uname -o is not supported on darwin/amd64.
  • fix: update gitignore and a typo in test.sh
  • Pull in latest client code
  • build(arm64): Add darwin/arm64 as a build target.
  • build(drpcli): Add drpcli to bin/\(GOOS/\)GOARCH in tools/build.sh
  • fix(deadlock): Cert rotation can deadlock on follower startup.
  • fix: doc reference tags for objects
  • build: update to tip drpcli
  • fix: remove redundant startTrace stopTrace
  • perf(etags): Parallelize etag bulk processing.
  • perf(etags): Avoid opening files to calculate etags.
  • fix(panic): Fix race when removing a server that can lead to panic.

v4.10.0-alpha00 (2022/03/01)

  • Release v4.10.0 Initial

v4.9.0 (2022/03/01)

  • build: update to v4.9.0
  • build: update to latest provision and pluagins
  • fix: change error message to indicate data base in use not corrupt
  • fix(ci): update variable names.
  • fix: fill missing in version-sets
  • fix: midlayer - expand cors on the secure file server port
  • Add startup tracing
  • feat(ci): Make Gitlab CI process more scalable.
  • fix(consensus): Fix deadlock and cert rotation error
  • Add stupid little IOPS tester at startup
  • Add unit tests for staging and unstaging an upgrade
  • Pull in client-side changes for staged upgrades and fix up unit tests
  • Preliminary staged upgrade stuffs
  • fix: update clitest for callback icon changes
  • fix: work order rendering should check the work order stage
  • build: update drp for new airgap cli
  • fix: start needs to not trigger deletes or workorder mode
  • fix: add trace to triggers and more debug output for manager
  • feat: Add missing workorder parameter endpoints
  • build: update drpcli in dr-provision to latest
  • fix: minor refactor and makeCert lock
  • build: fix it
  • build: cleanup dependencies
  • build: update for airgap tools
  • fix(tests): Fix manager unit tests and upgrade raft
  • fix(consensus): Fix artifact replication loop.
  • Use options 66 amd 67 directly if we are not trying to PXE, NBSP, or BOOTP
  • fix: broken unit tests
  • build: include airgap cli
  • meta(trigger_providers): icon updates for built in trigger providers
  • build: fix unit tests from cli change
  • build: pull in airgap changes
  • fix(backend): flip priority of on-complete-delete and on-complete-work-order-mode
  • feat(triggers): rename work_order_templates and start trigger work
  • feat(render): add ability for ParamExpand strings to turn into objects
  • feat(dhcp): Move dhcpv4 handling into its own package.
  • feat(filters): Add metrics for filters.
  • build: update for drpcli fixes
  • feat(install): add amazon linux to install function
  • Alternate version of prefs fix
  • fix(backend): repeating work orders should use the machine's context
  • feat(helpers): add amazon family to install helper
  • feat(build-catalog): moving the build-catalog logic to cli
  • Fix loading of prefs on datatracker rebuild
  • fix(backend): change work order parameter lookups
  • feat(backend): secure servers on post/create
  • feat(filters): Filter optimization work
  • build: Update drpcli
  • fix(clitest): fix missed tests for previous fix
  • fix: workorder stage setting and updating drpcli
  • fix(backend): fix parameter lookup for plugins
  • fix(datastack): Make the key index use the made maker
  • test: put message back
  • fix: add running count, work order mode on complete
  • Fix an error message and a race in in RawModel Indexes
  • perf(indexes): Replace slice-based index store with a LLRB based one.
  • feat(shard): Refactor index package API to hide some details.
  • perf(prefs): Cache prefs instead of recalculating them on use.
  • Fix busted manager tests
  • feat(ci): build dr-provision container
  • feat(ci): build dr-provision container

v4.9.0-alpha00 (2021/12/07)

  • Release v4.9.0 Initial

v4.8.0 (2021/12/07)

  • build: update to v4.8.0
  • fix(dhcp): Derp, don't send packets from the broadcast address either.
  • feat(work_orders): make WO work in contexts and rendering tasks with parms and profiles
  • fix(cli): add create and other helpers
  • fix(backend): Don't save the partial flag.
  • fix(frontend): Fix machine_jobs events and add work_order_jobs events
  • fix: repeating work orders to not run if disabled
  • build: Update to latest provision tree
  • fix: missing test files and errors
  • feat(workorders): update meta data of work order with unit tests
  • build: update docs and hack around the mac memory issue
  • feat(work_orders): add work order unit tests
  • build: update all
  • fix: unit test
  • build: update for gohai fixes
  • feat(workorders): make work orders work to start with.
  • fix(backend,frontend): remove dead code and fix typos
  • perf(contentLoad): More content load optimizations
  • fix(dhcp): Have DHCP responses come from a known IP.
  • Fix contents_perf test
  • fix(secure-params): removing panic on non-machine external params. updating tests
  • build: update drpcli gohai to support google
  • fix(workorders): move meta into a proper place
  • Working-ish checkpoint
  • Working towards more complete job create refactor
  • fix(backend): clear plugin errors on startup.
  • fix(frontend): delete needs to use a clone when doing on-delete work
  • perf(content): Cache more expensive to recalc things.
  • perf(bootenvs): Cache the realArches method.
  • perf(bootenvs) Cache machine calculated bootenv within a transaction
  • perf(transact) Return early in transact.Acquire*
  • fix(index): Consolidate flag handling and fix Any filter
  • pref(backend): Make rt.find dive into stack layers directly.
  • perf(transact) Use transact.SK more internally.
  • perf(indexes): Have index Makers carry around frozen empty Indexes.
  • perf(params): Get object params via reflection where feasible.
  • perf(backend): Change where the global profile is cached.
  • perf(jobs): Tune space an CPU utilization when retiring older jobs.
  • feat(indexes): Get rid of index boilerplate.
  • perf(transact) Optimize struct layout in the transact packaqge
  • test(perf): Allow for loading extra content during the perf tests.
  • debug(backend): Poison the requestTracker on transaction entrance.
  • fix(transact) Fix transaction leak.
  • fix(clitest): fix tests
  • fix(clitest); unfix unit tests for cl and rb
  • fix(backend): fix cluster and resource_broker events
  • feat(frontend): Add start endpoint for machines/clusters/resource_brokers
  • feat(backend): set embedded license to 10 for contexts
  • fix(clitest): more test fixes (actually fixed timeout code)
  • fix(tests): put back simple-secrets
  • fix(syncRepl): Fix busted sync replication.
  • Make failover tests load plugin providers
  • fix(frontend): Remove extra func needs to make a copy first
  • doc: misc to get a free commit
  • fix(transact): Antagonize the perf tests even more.
  • feat(transact): Refactor Transactions and fix resource leaks
  • fix(server): one less place for AllLocked. this was causing hung goroutines
  • fix(mgrtests): Add missed updates to manager tests.
  • feat(jobs): add a pref that will delay job purges until idle for that amount of time
  • fix(raft): Test fix for reuse of certs
  • Derp, fix silly test errors
  • feat(contents): Add contentsLocked preference.
  • Stream returing a single content bundle like we would any other object
  • Locking everything to get content summaries is not actually needed
  • Skip reflect conversion compatibility checking when all we care about is the actual underlying byte slice
  • Skip machine uniqieness checking if hte name did not change
  • Have generic frontend.Remove code use encodeItemTo
  • Relax models.Models restriction on generic frontend encoding stuff
  • Add perf test for messing with a million -ish jobs
  • perf(frontend): Optimize frontend memory usage.
  • perf(frontend): Start adding some basic frontend perf testing.
  • perf(transact): Bump timeout transaction acquisition.
  • fix(abort) Trim down what abort.log holds.
  • fix(race): Data race loading the FSM state from a snapshot
  • fixx(clitest): busted unit tests
  • fix(saml): Calculate signing method for keys
  • meta(provision-server): ux helper meta data for navigation
  • fix(create-etag): not panicking if file info is nil
  • feat(backend): allow package-repositories to ParamExpand
  • fix(tx) Arrgh, missed timeouts on the Write path
  • fix(tx): Fix cascading livelock caused by cancelling a transaction.
  • fix(saml): Provide more info on saml completion for callers.
  • fix(datastack): Handle different data types in the humanize function.
  • feat(workorders): Move some job create code around.
  • Factor out debug info fetching into its own thing
  • Factor out debug info fetching into its own thing
  • fix(clitest): add cluster, resource_broker, and identity_provider tests
  • feat(vault): enable caching
  • feat(saml): Add saml based endpoints to access the system
  • enhance(dr-provision): Add AlmaLinux support for package-repositories handling
  • fix(frontend): fix meta for clusters/resource_brokers
  • fix(backend): handle hil profile better
  • fix(workflow): Make the manager tests great again.
  • fix: greg unit test issues
  • fix(workorders): Fix busted merge that cut out the cluster stuff.
  • feat(workorders): Fix up unit tests job create refactors.
  • fix: bad provision test
  • fix(clitests): hack for secure parm test.
  • fix(clitest): Turn on HA again in tests.
  • fix(clitest): more fixes for simple-secrets
  • fix(clitest): fix lots of bad tests by greg
  • test: fix arch tests to be more stable
  • fix(external-secrets) - simple-secrets unit tests
  • fix: build
  • feat: Add clusters and resource-brokers
  • fix: test update
  • fix: unit-test updates for provision changes
  • feat(external-secrets): adding some tests
  • adding some tests
  • feat(secrets): updates to use external secrets
  • fix(explode): Explode fails if directories are read-only
  • fix: include catalog changes
  • test(params): Add a unit test that verifies param lookup order.
  • fix(frontend): Fix URL host reference.
  • fix(frontent): Use incoming host for redirect
  • build: fix unit tests for info 8090 test
  • docs: put back Objects in swagger docs.
  • build: update go.mod to include new drpcli
  • perf(indexes): Get rid of index flags.
  • fix(codecov): generating report after the ci job is complete
  • feat(jobs): Switch job ID generation to use version 6 UUIDs.
  • fix(machine): fix macaddr related machine create issues
  • feat(gitlab): Fix a couple of busted unit tests.
  • feat(gitlab): Migrate modules to their gitlab locations
  • ci: updating codecov token
  • ci: gitlab ci config
  • feat(gitlab): Update go.mod and the CLI builder for gitlab

v4.8.0-alpha00 (2021/09/01)

  • Release v4.8.0 Initial

v4.7.0 (2021/09/01)

  • build: update to v4.7.0
  • fix(waltool): Oops, waltool recover was too zealous about what it threw away
  • feat(rescue): Add basic database recover feature.
  • feat(license): Update license to have contexts set to 3.
  • fix: build break because of yaml printing change
  • build: force swagger back to a previous version to handle errors
  • fix(datatracker): validate plugins first

v4.7.0-beta00 (2021/08/29)

  • build: update to v4.7.0-beta00
  • feat(clitest): test meta search
  • feat(index): Add destructuring indexes.
  • doc: fix endpoints post/delete params to not include decode
  • doc: Update swagger pieces to fix errors found with gqlgen tool
  • feature(cli): hostname renders for zendesk496
  • feat(backup): Test backup and restore.
  • feat(dr-waltool): Allow for backup of server certs.
  • test(cli): adding catalog tests
  • feat(cli):Updated with latest netplan.
  • feat(test): Use -trimpath when running go test
  • fix(tests) hyphented command flags.
  • fix(fs): Fix excess memory allocation in the dynamic fs.
  • fix(clitest): Print failures to install plugin providers at clitest start
  • feat(purge): Add query arguments to the job purge API.
  • test(mgr): Test manager replication across releases
  • feat(patch): Add unit tests for the new generic patch CLI
  • fix(tests): Fix failing unit tests due to help changes
  • fix(backup): Improve performance of subsequent --archive backups
  • doc(readme): Add a README giving an overview of this repo and its purpose
  • fis(agent-incomplete): Pull in agent fixes for incomplete error code handling.
  • feat(static-https): Pull in updated client with static cert management.
  • feat(secure-fs): Start implementing dedicated HTTPS static file server.
  • fix(consensus): Fix script invocation while load balanced
  • build: fix unit test failures and gorilla update
  • build: update to drp pieces and sec fix for gorilla
  • build: update travis for python aws
  • fix(misc): Fix up a bunch of linter warnings.
  • fix(hangs): Make many blocking operations time out.
  • fix(race): Fix up racy rawModelSchemaMap handling in the backend.
  • feat(params): Fix PATCH against Params.
  • fix(raw_models): move rawModel updating method to dataTracker
  • fix(raw_models): move the valid raw model map after server initializes
  • build: resolve diff issue
  • build: update to go 1.16
  • perf(index): Track primary keys in the indexes
  • docs: remove objects from swagger doc (not tagged)
  • fix(files): exploding tarball with directories need to clean first
  • build: require go 1.16
  • fix(backup): Bug fixes and perf enchancements to replication.
  • build: update to latest drp tree
  • feat: update gohai to ppc64le
  • fix(embedded): rename core.elf to core-ppc64le.elf - just in case
  • feat(dhcp): add support for BOOTP requires reservation
  • feat(ppc64le): update gohai in drpcli
  • feat(ppc64le): update binaries from centos8 iso
  • feat(wimboot): update wimboot to 2.7.3
  • feat(env-linefrom): Add a boot env renderer that can pull lines from files
  • fix(startup) HA startup options overrides
  • feat(data): easy restrictions on rebuild cache
  • build: update to get the catalog cli
  • feat(repo): add rocky
  • build: package with proper paths
  • build: fix location again
  • build: fix filename order
  • feat(ppc64le): start adding ppc64le support
  • fix(content): Reject content uploads with no Name.
  • feat(cli): colorized text
  • feat(indexes) Build static indexes using reflection.
  • fix: username with @
  • fix(backend): Update other paramers to match machines
  • feat(printArgs): Print interesting startup options.
  • fix(import): Fix several legacy data import bugs.
  • perf(etags): Etag handling cleanup
  • fix(render): make clones of objects to pass to template engine
  • feat(jobs): Server-side implementation of jobs purge.
  • build(stack): update the build store to v4.7.0
  • fix(stack): allow raw_model ids to be sortable
  • fix(msgs): Tune a couple of error messages.
  • perf(badger): Tune the value log sizes and GC.
  • fix(deadlock): Fix a couple of deadlock sources.

v4.7.0-alpha00 (2021/04/29)

  • build: first commit for v4.7.0

v4.6.0 (2021/04/29)

  • build: update to v4.6.0
  • fix(agent): Pull in client-side agent and correctness fixes
  • fix(deps): pull in more cli changes and docs.
  • fix(all): Clean up Goland-noted errors
  • fix(passive): put wait back with consequence of cntrl-c
  • fix(selfwatcher): remove log message
  • feat(dr-waltool): Simplify and harden dr-waltool.
  • fix(server): add missting https
  • fix(server): Handle issues from Victor CR
  • fix(test): for previous commits
  • fix(server): fix restart on linux - file watcher watch dir
  • fix(backend): Don't rerender key all the time
  • fix(passive): do not fail if a commit arrives from the past
  • fix(tokens): Allow a 1 hour time drift in tokens
  • fix(consensus): classic ha reset connections
  • fix(consensus): don't panic, return an error and restart
  • feat(client): Pull in client test updates and gofmt all the things.
  • fix(indexes): Fix crash in midlayer, refactor to prevent similar.
  • fix(mgr): Fix the manager tests, forgot they do an index check as well
  • feat(consensus): Fix license enforcement, and add some optimizations.
  • feat(consensus) The high-availability license now refers to consensus.
  • fix(lots): Pull in new client code, fix lots of little stuff.
  • fix(consensus): Clean up HA client code usage a bit.
  • fix(consensus): Fix some timing and refresh issues on consensus start
  • fix(consensus): remove extra allocate to just memset around
  • fix(sync): handle replication failures
  • feat(consensus): Pull in latest client code (with consensus node removal)
  • fix(consensus) Exit instead of panicing when we cannot commit a transaction.
  • fix(consensus): Refactor the run loop and artifact handling a bit.
  • fix(shutdown): All high-level event processing is in one loop now.
  • fix(consensus) Fix a race when closing the datastack.
  • fix(consensus): Placate the race detector for consensus certs.
  • perf(startup): Trust the database on initial load
  • feat(consensus): Allow for cancelling in-flight requests
  • fix(tests): make darwin friendly tests
  • fix(consensus): Oops, actually remove the vip in all cases when we exit
  • fix(consensusJoin): Oops, don't busy-spawn clients on rejoin.
  • fix(consensusJoin): zap some inadvised join timeouts
  • fix(consensus): Make sure the snapshot size is set properly.
  • fix(dhcp): Stop checking unrelated systems when determinig PXE eligibility.
  • feat(consensus): More consensus join issues fixed and races closed
  • feat(consensus): Add a missed spot to kill write transactions.
  • feat(consensus): Spam the nodes while setting up consensus failover.
  • feat(consensus): Refactor consensus management to use stack.WithStopped
  • feat(consensus): Switch to single-file consensus snapshots.
  • Pull in latest client code
  • feat(pxe): Update embedded ipxe.
  • feat(testLicense): All unit test licenses are dynamic now.
  • feat(SSR): Fix passive side not having correct auth data
  • test(consensus): Make the failover tests self-contained
  • fix(consensus): Be a little more angry around cluster join failures
  • fix(consensus): Improve artifact buffering.
  • fix(workflowTimer): Fix workflowTimer deadlock.
  • fix(license): Fix nil license struct at startup.
  • fix(provision-server): posted events should not be able to set their own time (default was 0)
  • feat(consensus): Fix unit tests and pull in latest drpcli
  • feat(consensus): Tweak how we process certian artifacts
  • feat(consensus): Turn off extra artifact logging
  • feat(consensus): More DHCP nextServer cleanups.
  • fix(dhcp): Fix busted nextServer picking logic.
  • feat(consensus): Refactor artifact handling, part n of m
  • fix(dhcp): Do a better job of setting DHCP next-server options.
  • feat(consensus): Roill back some DHCP changes. fix up CLI unit tests.
  • feat(consensus): Tweak timing around artifact handling some.
  • feat(consensus): More cert and proper address usage.
  • Add test to make sure next-server IP changes on failover
  • fix(consensus): Handle setting i.Address properly when bootstrapping a VIP.
  • feat(cert): Add API based API TLS cert management
  • fix(manager,replication): have passive stacks stall sync requests until in sync
  • fix(consensus): Stream exploded ISOs.
  • fix(consensus) Bunch of HA correctness fixes
  • fix(pool): force from in-use should not leave blank status
  • fix(agent): Pull in changes from dr-provision.
  • fix(manager): Derp, update event synthesis was backwards.
  • fix(runner): update go mod for new agent
  • Fix race condition seen by Greg
  • fix(server): put the self-runners into the pool as free.
  • fix(server): if context or bootenv at end of task chain, just mark complete.
  • feat(self-runner): Add parameter for self runner and place in self-runners pool
  • fix(server): fix race in structs
  • feat(consensus): Failover tests are fully armed and operational.
  • feat(consensus): Tighten up locking in the consensus FSM.
  • feat(consensus): Fix up client handling on active node change.
  • feat(consensus): Make AmIInChargeOfConsensus lock-free.
  • feat(consensus): Make artifact update failure less deadly.
  • feat(consensus): Force the active server to regen HA token.
  • feat(consensus): Fix cert rotation race and scratch file cleanup
  • feat(consensus): Have the cli tests handle consensus sert rotation.
  • fix(manager): change RawFind to Find
  • fix(manager): only process the first layer of endpoint stacks
  • Oops, delete excess debugging log statement
  • feat(consensus) Force passive replication to update indexes.
  • fix(server): switch runtime reference
  • fix(self-runner): setup arch
  • fix(manager): add more unit tests
  • build: Attempt to turn on the manager unit tests
  • feat(consensus): Pull in latest client code, streamline manager code
  • fix(manager): fix error message
  • fix(manager): fix license part of manager unit tests
  • feat(consensus): Fix another race and implement root cert rotation.
  • feat(consensus): Start adding per-server failover tests.
  • feat(consensus): Fix crash on startup with an existing snapshot.
  • fix(clitest): adjust more unit tests
  • fix: build issues

v4.6.0-beta01 (2021/02/28)

  • build: fix waltool build issue and update to v4.6.0-beta01
  • feat(consensus): Self enroll and info updates
  • feat(consensus): Make one of the Raft consensus nodes an Observer.
  • feat(consensus) Add logic for handling an Observer.
  • feat(consensus): Bump deps to latest levels.
  • feat(consensus): Save some memory, fix some races.
  • fix(datastack): Convert BasicStore into a constant content model
  • feat(consensus): Refactor startup to avoid unneeded work.
  • feat(consensus): Refactor raft startup.
  • fix(dhcp): Fix reserversions causing lease bouncing.
  • fix(manager): process .ProvisionerURL in catalog more flexibily
  • enhance(dr-server): Better bootenv error message hints
  • feat(ipv6): rework LocalIP/DefaultIP to work with IPv6
  • Forward-port improved abort handling to consensus branch
  • feat(consensus): Fix up data load errors.
  • build: Fix unit tests
  • feat(consensus): Add a basic migration test from v4.5.6
  • feat(consensus): Placate the race detector some more
  • feat(consensus): Tune badger to use less memory.
  • feat(consensus): Allow env var overrides for plugin-providers repo.
  • feat(consensus): API enrollment of nodes into clusters.
  • feat(consensus): Move the HA structs into digitalrebar/provision.
  • fix(frontend): log format fixes
  • build: more tweaks
  • build: no manager test - no dots needed
  • build: wait may kill travis
  • build: force concensus test to use ipv4 - travis doesn't like
  • fix(backend): data race in the license structure
  • build: try to hide the timing data race that we can't fix
  • feat(consensus) Add API for cluster enrollment.
  • feat(consensus): Raft traffic is now secure.
  • feat(consensus): Generalize artifact mismatch handling a bit.
  • fix(requesttracker): undo the race fix for Backend.Tx and Backend.Commit
  • build: increase timeout to even longer
  • build: make test.sh output dots at 15 second intervals
  • fix(manager): fix race in syncComplete path
  • build: update travis wait to 60 minutes (manager tests)
  • fix(manager): add missing expect files
  • fix(backend): Address two more race conditions.
  • fix(test): greg size change
  • feat(consensus): Tons of tiny little correctness fixes
  • feat(consensus): Artifact streaming works, cli tests pass.
  • feat(consensus): Fix content fetch race condition in manager tests.
  • feat(consensus): Handle artifacts on followers in consensus.
  • fix(merge): bad merge
  • feat(consensus): Refactor HA state storage.
  • fix(manager): rework passive stack to handle manager with more standard functions
  • fix(concensus): fix data race with logger stderr
  • fix(etag): avoid data race
  • feat(consensus): Active side of artifact replication via consensus.
  • fix(debug): fix index to support current code
  • fix(server): add watcher back into stack
  • fix(manager): Add more tests - still not complete
  • fix(datastack): let PluginProvider match more interfaces
  • fix(server): passive start should have datatracker first.
  • fix(plugin): Fix plugin_provider references
  • feat(consensus): Never replace the datastack.
  • feat(consensus): Clean up leftover temp cruft at startup.
  • feat(consensus): Centralize static file handling.
  • feat(consensus): Thread s.transmogrify through all layerTo calls.
  • feat(consensus): Prepoulate etags at start, report BulkModify panics.
  • feat(consensus): Make the manager tests not panic
  • feat(consensus): Tweak snapshot segment size.
  • feat(manager): Convert to go-based test using ha server changes
  • feat(consensus): Move commit index Add responsibilities around.
  • feat(consensus): More genuflecting before the race detector.
  • feat(consensus): The race detector found some actual issues.
  • feat(consensus): Get encoding.Gob out of the hot path.
  • feat(consensus): Get rid of just about all global variables.
  • feat(consensus): Fixups for CLI unit tests to pass.
  • feat(consensus): Consensus-based backing store checkpoint
  • feat(consensus): Prepare the datastack for being consensus driven.
  • feat(consensus): Flesh out PersistentStore for consensus.
  • feat(consensus): Make the datastack refer to the WAL via interface.
  • feat(consensus): Factor out the wal from the datastack.
  • feat(consensus) Continue the WAL-ectomy.
  • feat(consensus): More WAL refactoring
  • feat(consensus): Refactor common commit handling code.
  • Foo
  • feat(consensus): Move commit buffers and entries to a new package.
  • feat(consensus): Fix busted dr-waltool, and ditch 32 bit ARM for now.
  • feat(consensus): Decouple the per-layer indexes in the datastack.
  • feat(consensus): Consolidate datastack content handling.
  • Make the datastack handle content layers as Content instead of Store
  • Decouple more of the WAL handling code from the datastack
  • Factor etag support into its own file
  • Refactor stack loading deps, and remove suppor for non-default legacy backend stores
  • Remove local RPC stuff and refactor to move the WalEntry stuff into Consensus
  • feat(consensus): Refactor out direct access to datastack.Objects.
  • feat(consensus): Start refactoring legacy data migration code.
  • feat(consensus): Add a basic consensus layer, sanity-check it.
  • feat(consensus): Add the ability to stop running transactions.
  • fix(frontend): add more embedded actions for manager
  • refactor(backend): move repo code into its own file.
  • feat(backend): add new render elements
  • fix(bootiso): Add support for isolinux.cfg updating
  • feat: update gojq library
  • feat(assets): add drpcli.exe link to windows cli
  • fix(runner): fix runner
  • feat(renderFail): Make jobs fail on render errors.
  • feat(maxJobLog): Cap the size a job log can be.
  • fix(backend): load rawmodels should convert to backend
  • fix(backend): reset models to backend models as part of validate
  • build: fix build break test
  • fix(backend): make sure to reset objects on reload (overkill)
  • fix(self-runner): set arch and os for self machine
  • fix(backend): Fix missing fill for raw models
  • fix(plugins): update schema map when plugins are loaded
  • build: vendor directory not made
  • feat(catalog): enable catalog version
  • fix(runner): Update task info state if everything is already done
  • build: Fix unit tests for last commits.
  • feat(endpoints): Update indexes for Endpoint fields
  • feat(render): add ParamCompose that is equal to ComposeParam
  • style: add missing comma
  • feat(backend): add machine-jobs-register feature flag
  • fix(websocket): fix machine_jobs casting as models.Job instead of backend.Job
  • feat(websocket): add machine_jobs filter for watching jobs by machine
  • test(plugins): Pull in all open source plugins for unit tests.
  • feat(backend): Allow for sledgehammer cd booting
  • fix: Change content load test to handle objects
  • feat(websocket): Add websocket list in registration
  • fix(swagger): Update missing machine token action
  • build: Update tip prov to tip server
  • fix(api): allow regexp and equals work on parameters.
  • fix(dhcp): Ignore unicast DISCOVER packets.
  • fix(pools): Remove panics that should have been cleaned
  • fix(pools): Look up objects for pools across endpoints
  • fix(content): Error when secureData in content cannot be used.
  • fix(log): Expose debug prefs for more logs.
  • feat(tasks): add task-workflow-timeout-restart parameter
  • fix(machineRepos): Fix missing machine repos in SLedgehammer
  • enhance(dr-provision): Add hint to change stage/bootenv error message
  • feat(heapDump): Add support for dumping all active memory.
  • fix(etag): Fix commit ID based etag race coditions
  • feat(api): change long poll default to 1 and add dynamic select
  • feat(api): Clean up common wait for api
  • feat(api): update long polling with more centralized functions
  • feat(long-polling): unit tests fixes for changes
  • feat(api): move to publisher sleeper, add etag to other actions
  • feat(api): Add ETag to objects and long poilling
  • feat(tls): Allow basic TLS customization.
  • build: update to latest v4.6.0 provision
  • fix(agent-install): Pull in service install fixes.
  • fix(dr-waltool): Remove duplicate flag definitions.
  • fix(plugin): make error messages more descriptive for publish
  • doc: update swagger api docs

v4.6.0-alpha00 (2020/09/24)

  • Release v4.6.0 Initial

v4.5.0 (2020/09/24)

  • build: update to v4.5.0
  • fix(static,api): clean paths for general files

v4.5.0-beta02 (2020/09/22)

  • build: update to v4.5.0-beta02

v4.5.0-beta01 (2020/09/22)

  • build: Update to v4.5.0-beta01
  • feat(cli): Update for cli RackN URL signing
  • fix(plugin): Add config timeout back to plugin config.
  • fix(test): new runner tests alter profile tests
  • fix(build): revert leaked provision tree ref
  • fix(pluginConfigure): Get rid of deadlock while starting plugins.
  • Close plugin start/config race test
  • fix(plugins): Have rplugin provider stop use contexts.
  • Fix TFTP race errors
  • feat(filter): Add ability to search list parameters
  • test(selfRunner): Update unit tests to account for the selfRunner machine.
  • test(selfRunner): Allow for clean server shutdowns.
  • test(selfRunner): Start covering the selfRunner code during unit tests.
  • fix(selfRunner): Have the selfRunner run as a subprecess.
  • fix(dhcp): Make customer bootloader message less scary.
  • fix(manager): rebuild catalog should init the environment.
  • fix: udpate to latest client
  • fix(ha,manager): remove deadlock potiential
  • fix(test): update a unit tests.
  • fix(ha,manager): add electable to the status of ha systems
  • fix(server): put IsUp back
  • fix: go mod refs
  • fix(manager,ha): more tweaks with HA code review
  • refactor(datastack): Fix LINT issues in file
  • fix(ha,mamager): add shorter timeouts and short circuit failures
  • fix(manager,ha): Reindex objects on restart
  • fix(manager,ha): more tweaks to be more active.
  • feat(manager,ha): allow passive to be more active.
  • feat(ha-ip-helper): COntrol the HA VIP using a script.
  • fix(tests) Fix unit tests and pull in latest client code.
  • fix(aggParams): Test API aggregation and decoding bug.
  • fix(roles): Re-add claim processing on raw models.
  • fix(dhcp-and-profile): Fix a couple of bugs found by Jan.
  • feat(walTool): Add more debugging to dr-waltool.
  • perf(newModels): Pull in models.New perf enhancement from client code
  • fix(manager): Send create events on endpoint creates
  • doc(dr-waltool): Clean up help for the dr-waltool command.
  • fix(plugins): clear plugin errors on plugin_provider load
  • perf(startup): More startup performance enhancements.
  • fix(contexts): add validation for plugin to context and vice versa
  • fix(manager): don't loop forever doing the last action.
  • fix(manager): fix plugin ref and return success on buildCatalog
  • feat(cli): count action unit test updates (just help)
  • feat(plugin): Allow for manual plugin starting/stopping/restarting.
  • fix(template): Fix colliding per-object template namespaces.
  • feat(replaceWritable): Content install can now replace writable objects.
  • fix(revalidate): Fix data race when validating content bundles.
  • perf(startup): Parallelize object processing on startup
  • perf(startup): Cache sorted indexes.
  • Perf enchancements to machine processing during startup
  • feat(walTool): Add more debugging to dr-waltool.
  • test(parProfiles): Add staged transaction blocking tests.
  • fix(transact): fix possible channel miss on wake up and tighten read acquire
  • fix(replication): fix some holes in sync and order of stream commits
  • fix(transact): Rework deadlock avoidance and unblocking.
  • fix(dhcp): Fix probable sources of DHCP corruption
  • fix(dhcp): Simplify lease address allocation codepaths.
  • fix(walTool): Profiles not writing data.
  • fix(secureBoot): Grub does not work in UEFI with proxy DHCP.
  • fix(unittest): Sigh, don't check the size of incrementer
  • fix(contentLoad): Fix plugin-related content load bugs.
  • fix(indexCorruption): Indexes were being corrupted by duplicate adds/removes
  • doc: update swagger for new pieces

v4.5.0-alpha00 (2020/07/30)

  • doc: minor tweak

v4.4.0 (2020/07/30)

  • build: update v4.4.0 provision and provision-plugins
  • build: update to latest drpcli
  • fix(template): Allow template IDs to start with nuimbers
  • fix(embedded): add version to embedded drpcli
  • perf(contentPalLoad): Validate that botched updates get rolled back
  • Factor out common template munging code
  • feat(license): All HaId To match endpoint info as well
  • fix(backend): minor change with lease fill
  • fix(template): Fix up template validation handling.
  • fix(manager): close response body on proxy
  • fix(pools): Clarify a few codepaths in the pool code per Greg.
  • fix(contents): Improve how we validate content packs.
  • refactor(manager): rework datastore to not mingle datastack objects
  • feat(waltool): Merge dr-backup into walfsck, making it dr-waltool.
  • fix(dhcp): Lower log priority of packets from unconfigured interfaces.
  • perf(jobPurge): Speed up certain Machine and Job index operations.
  • fix(manager): AddEndpoint should return endpoint object on success
  • fix(dhcp): Properly handle lease requested addresses in DISCOVER

v4.4.0-beta01 (2020/07/20)

  • build: update to v4.4.0-beta01
  • fix(contentCleanup): Simplify duplicate content cleanup path.
  • fix(pools): only go to HOLD states if a job failed.
  • fix(humanize): Fix busted fast humanize code.
  • feat(indexes): Add a fast n-way index merger.
  • fix(passive-sync): write header on passive sync in-sync state.
  • feat(workflow-timeout): powercycle systems that take too long in a workflow.
  • fix(humanize): Match Store-based Humanize behaviour.
  • fix(dr-backup): Make sure we close the stack as we leave
  • fix(pkey): Oops, my latest changes were not synced with Greg's.
  • fix(objectReg): Readd plugin provider object registration for frontend.
  • fix(leases and staticfs): Fix a couple of lease and staticFS issues
  • perf(humanize): Speed up humanization.
  • fix(leases): Leases in PROBE should be removed at startup.
  • feat(walfsck): Add -dumpLoaded flag
  • feat(pool): Allow overrides to merge with pool definitions.
  • feat(dr-backup): exit once in sync.
  • feat(manager): Don't manage other managers endpoints.
  • fix(manager): typo in file going to quick
  • fix(self-runner): If create-self but non self-runner, don't run the runner.
  • fix(manager): fix unit tests
  • fix(manager): allow endpoint names to be mac addresses
  • build: update to 4.4.0-alpha04
  • feat(manager): Manager unit tests
  • feat(manager): Clitest updates and fixes
  • feat(manager): Embedded Manager in DRP
  • fix(validation): Fix stupid validation bug.

v4.4.0-alpha03 (2020/06/29)

  • build: update to v4.4.0-alpha03
  • fix(pools): Fix pool unit test
  • feat(bootenv-customize): Allow for bootenvs to be overridden.
  • fix(profile-update): Force profile updates to trigger a rerender.
  • fix(jwt-token): Allow the secondary keys to be checked.
  • perf(replication): Make passive-side catchup faster.
  • fix(replication): Fix crash in streaming replication WAL replay.
  • fix(pool): Add pool name validation
  • build: add aws cli to travis
  • fix(xattr) Fix incorrect exit when xattrs fail unexpectedly.
  • docs(rel_notes): fix duplicate refs
  • fix(redhat-8): Fox overly specific dependency on redhat for os.Family
  • feat(agent-auto-update): Fix unit tests to account for new flag.
  • build: update sprig to latest v3.1.0

v4.4.0-alpha02 (2020/06/19)

  • build: fix unit tests
  • feat(agent-auto-update): Pull in agent-auto-update
  • build: publish release notes
  • feat(walfsck): Rework wal2git into walfsck

v4.4.0-alpha01 (2020/06/14)

  • build: update to tagged refs
  • docs: fix unitests because of doc changes
  • doc(internal): Fix format errors in internal docs
  • fix(plugins): allow for blacklisting plugins (manager and pool to start)
  • feat(pool): Add pool feature.

v4.4.0-alpha00 (2020/06/13)

  • build: Update to v4.4.0-alpha00

v4.3.1 (2020/06/13)

  • build: update to v4.3.1 refs
  • fix(dhcp): Fix a deadlock triggered by high DHCP traffic.
  • perf(content): Save content bundles as JSON instead of YAML.

v4.3.1-beta1 (2020/06/09)

  • fix(whoami): Pull in client-side updates to machine fingerprints.
  • fix(packageRepos): Undo bootenvs and local install sources confusion
  • fix(dhcp): DHCP reservations and conflicting IP addresses could cause loop
  • feat(task-meta): add single-step, stop-at, skip, retry, and error-handlers for tasks
  • build: tests before publish.
  • docs: add BasicStore document to published pieces
  • feat(centos-8): Add support for centos-8 local and remote installs.

v4.3.0 (2020/06/04)

  • fix(tests): fix purgelocal cli test
  • build: update to v4.3.0 tags
  • perf(frontend): Build and test with the jsoniter tag enabled.
  • fix(localInstall): Cleanly seperate local vs. remote install files.
  • build: ignore rel_notes directory
  • fix(wal): Fix a stupid off-by-one error in new WAL code.
  • feat(frontend): Ratelimit certian audit entries.
  • fix(pluginActions): Plugin output action does not have to be JSON.

v4.3.0-beta13 (2020/05/23)

  • build: fix unit tests to be more stable.
  • fix(startup): Delete invalid WAL files that do not have data
  • fix(ipxe): Bump ipxe version to 1.20.1
  • fix(bootloader): Fix crash when bootloaders is not fully populated
  • fix(datastack): make sure content pack name is loaded
  • perf(dhcp): Improve DHCP parallelism in packet processing.
  • feat(machines): Add a HardwareAddr index to Machines.

v4.3.0-beta12 (2020/05/14)

  • build: Update to v4.3.0-beta12

v4.3.0-beta11 (2020/05/13)

  • fix(backend): Update machine token to have token access

v4.3.0-beta10 (2020/05/10)

  • build: v4.3.0-beta10
  • perf(replay): Improve WAL replay speed.
  • fix(prefs): Make the no ip pref always visible.
  • feat(info): Add context counts to the info struct
  • docs: Fix Offest to Offset
  • doc: add whoami to swagger.doc.base
  • fix(test): update tests for new proxy pieces
  • fix(runner): allow error logging to be squealched for internal runner
  • build: Make sure we are at go 1.13 for server builds
  • fix(backend): Update machines search options
  • fix(secure): don't check for public key if no secure parameters.
  • fix(backend): bootenv startup can be missing global profile, handle it
  • fix(tests): Update go.mod and fix unit tests.
  • feat(boot): Add ability to skip booting machines by address.
  • feat(wal): Add parameters controlling WAL aging and data retention.
  • feat(whoami) Add server-side API for machine fingerprint checking

v4.3.0-beta6 (2020/05/02)

  • feat(ha): add vip to info for HA and update to v430-beta6
  • fix(templates) Rerender the unknowBootEnv at the right time.
  • feat(wal)Allow for WAL and base file rotation.

v4.3.0-beta5 (2020/04/26)

  • feat(ha): replication token storage and distribution
  • feat(license): Ensure DRP version is less than or equal to license version
  • feat(info): Add errors/ha state to info; give passive an info call
  • build: update gitignore for addition running sites and profile data
  • fix(pluin): Make the json buffer readable
  • fix(plugin): plugin actions silently returned 409 because of bad json
  • fix(embedded): build break forgot to remove the test for vmware files
  • feat(embedded): Move the esxi scripts to the vmware plugin.
  • fix(provision-server): Correct ESXi content pack generator script.
  • fix(server): update messages for humanize option

v4.3.0-beta4 (2020/04/16)

  • build: update go.mod and go.sum to pull in v4.3.0-beta4
  • build: test to see if explode_iso.sh doesn't kill everything with set +e
  • fix(test): more fixes for travis testing.
  • fix(test): add some sleeps to drain the output buffer.
  • build: add tools/build to path for tests.
  • Try again with debugging in test.sh turned on
  • Test to see if testing in Travis works again.
  • Bump dep for digitalrebar/provision
  • Save requested and sent options in DHCP leases
  • Fix up startup and tests to make them not crash
  • Allow adding stages to the end of the mutable part of the task list
  • Add updates to allow localRepo processing to deal with oddly named Linux distro variants
  • Fix up vmware bootenv generation to make keeping things straight easier
  • Make bootenv overridable bootloaders function when using remote file repositories
  • Fix vmware bootenv generation
  • Clear and reload all dynamic files and trees when reloading the datatracker
  • Fix up unit tests
  • Switch template rerendering to do a better job of garbage collection
  • Move file exploding code into the datatracker, and add SyncExplodeFile to the replication stream.
  • Make Ubuntu and Debian installs skip the security repo on local installs
  • Hopeful fix for both sides of the option82/missing relay issue
  • Rework passive retry code to make it functional, and fix a stupid bug with plugin synch.
  • Allow a stream restart if the first attempt at fetching a base commit does not pan out.
  • Add ESXi 7.0.0 bootenv map info
  • Add license validation for per-bootenv and per-machine custom bootenvs
  • Cache plugin_provider Stores in the datatracker
  • Sort vmware targets in ISO_MAP
  • Hack up make-esxi-bootenvs.sh to make it generate SecureBoot compatible envs
  • Add support for a per-OS archive containing bootloaders.
  • Add cli unit tests for static lookaside
  • Add unit tests exercising static file proxy handling and static lookaside
  • Untie GetInterfaces from the datatracker
  • Beef up the static file server.
  • Oops, have coverage include the transact package when running tests
  • Add unit tests for new feature flag, and bump provision dep in go.mod
  • Add support for bootenv overrides to the DHCP service
  • Bump dep on jsonpatch

v4.2.6 (2020/03/12)

  • Refactor lease handling to NAK reqs that look like they have moved from one physical subnet to another

v4.3.0-beta2 (2020/03/03)

  • Update v4.3.0-beta2
  • fix(server): fix internal directory leak when running runner
  • fix(content): clean up extra content layers and remove them on delete
  • Sigh, go 1.14 changed the low-level format of invalid URL errors
  • Oops, readd support for 32 bit binaries
  • Use vectored writes in the flusher to cut down on syscall overhead
  • Push commit and CRC calculations down into the flusher
  • Make a commit buffer abstraction to encapsulate what a commit byte buffer looks like
  • Simplify active-side implementation of syncStream.commit
  • Refactor eachCommit to allow for items that may want to read the entire commit including metadata
  • Oops, fix busted commit ID ordering invariant (ugly hackjob version)
  • Add sequence check for commits during WAL load
  • Remember how we were configured in HA mode.
  • Rename datastack.Roots to datastack.Config, and make it include models.Info.
  • Document what datastack/test-data contains and how to add to it.
  • Add working unit tests for datastack migration from various older formats
  • Add test files for Humanize and data format upgrade tests
  • Fix up some locking and secrets-counting unit tests
  • Add tempalte and target data for testing migration of datastacks from various formats
  • Refactor streamBase to fix several bugs
  • Switch from math/rand to crypto/rand for random seeds on base files
  • Make sure Humanize clears validation on all saved objects
  • Add a standalone humanizer
  • Make sure secrets are saved in the old format when humanizing a stack
  • Make sure all keys are generated for new objects on startup for unit test sanity
  • Add high-availability license restrictions to the default license.
  • Add TLS cert tracking over the synchronization protocol.
  • Fix up datastack tests to account for SyncRealtime
  • Failover and failback works
  • Client-side deadline code seems to work
  • Add a sync stream entry to let the passive side know it is caught up and reading live replication data
  • Un-break dr-backup
  • Active/passive failover works-ish
  • Add a new flag for replication token. It enables streaming replication if set.
  • Add a protocol version field to the stream syncrequest struct
  • Add some negative tests for replication failure
  • Add replication testing for the real passive side as well
  • Validate that streaming replication starts from the appropriate commit in all cases.
  • Start creating a new WAL and base format that includes rolling CRC64 checksums
  • Fix a couple of accounting errors in streaming commit item size replay calculation, and fix broken clitests
  • Oops, use the actual error when reporting a sync failure
  • Stream job logs during replication as well.
  • Oops, pre-add content streaming
  • Add xattr-based etag handling for all static assets to optimize replication
  • Etag handling checkpoint
  • Start working on streaming data replication
  • Rename clientRefresh and bump some deps
  • Skip etag checking when dealing with Range requests
  • Add ETag and If-None-Match support in a few critical places
  • Remove more no-longer-required checkpoints
  • Switch to monolithic base store checkpoint
  • Bump logger version to fix a race condition in the logger package
  • Fix up validation and account for create and update being idempotent
  • Stop caring whetner new content get uploaded via PUT or POST, since it is idempotent anyways.
  • Fix layername tracking, and keep old raw object schema definitions around
  • Rework the datastack to not use a StackedStore.
  • Pull in raw_model validation fixes and get rid of some globals
  • Make frontend ignorant of actual directory locations
  • Add a frontent API method to get the binary for a given plugin provider
  • Always calculate SHA256 of a plugin provider on load
  • Swizzle datastack stuff up to refer to Stack instead of DataStack
  • Move all on-disk data handling code from backend in to datastack.
  • Move indexes from DataTracker to the stacked store.
  • Rename fe.melody to fe.eventStream

v4.2.5 (2020/02/26)

  • Split tx code into its own package for proper isolation testing.
  • Restore nextCommit setting when replaying per-tx wals

v4.2.4 (2020/02/05)

  • Make tx logic shorter and easier to follow in acquireRead and acquireWrite
  • Make tx logic shorter and easier to follow in acquireRead and acquireWrite

v4.2.3 (2020/02/04)

  • Fix a couple more corner cases in tx deadlock avoidance, add unit tests to cover them
  • Fix a couple more corner cases in tx deadlock avoidance, add unit tests to cover them
  • added fedora to renderData
  • Add Contexts to the swagger template

v4.2.2 (2020/01/27)

  • Handle transaction lock checking corner case where acquireWrite can deadlock due to pending reads
  • Handle transaction lock checking corner case where acquireWrite can deadlock due to pending reads
  • Update ESXi bootenv/content pack management scripts

v4.2.1 (2020/01/11)

  • Make sure that we don't send RS_LOCAL_PROXY to plugins.
  • Remove drbundler from the update process. It is mostly gone.
  • Make sure that we don't send RS_LOCAL_PROXY to plugins.
  • Remove drbundler from the update process. It is mostly gone.
  • Add rpi4 mac renderer for DRP template expansion

v4.3.0-alpha2 (2020/01/01)

  • Add unit test for link in bootenvs.
  • Add Link for templates. This allows for the system

v4.2.0 (2019/12/29)

  • Update to v4.2.0
  • Fix more of the embedded bsdtar code (again)
  • Fix busted hname that should be uname

v4.2.0-beta11 (2019/12/26)

  • Update to v420-beta11
  • Fix connection leak on drp-in-drp.
  • Add options to run DRP Agent inside itself.
  • Fix a couple of ordering issues that can mess up log playback.
  • Do not cache anything that comes in via the API
  • Fix tests.
  • Enable multiple baseToken and system grantors.

v4.2.0-beta7 (2019/12/12)

  • Update to beta7
  • Fix read-only raw-models.
  • Make private keys for Paramers with secure params participate in the transaction log
  • Update the sprig library to include deepequal

v4.2.0-beta6 (2019/12/10)

  • Update the license
  • Let the badness continue for a little while with
  • Fix (by breaking the test until HA/manager stuff gets fixed) unit test.

v4.2.0-beta5 (2019/12/09)

  • Make a couple of changes to the fallback license

v4.2.0-beta4 (2019/12/09)

  • Fix up crash Greg found.

v4.2.0-beta3 (2019/12/08)

  • Update DRP to 420-beta3
  • Address a couple of things.

v4.2.0-beta2 (2019/12/06)

  • Update to v4.2.0-beta2 to handle new text/table object viewer
  • Add time limited trial license generation.
  • Fix hang on server shutdown
  • Oops, redo undone bump to travis Go requirements

v4.2.0-beta1 (2019/12/04)

  • Fix up unit tests and unit test logging
  • Fix hang when force-stopping a plugin that fails to configure
  • Allow for closing down the flusher safely when we stop a stackedStore
  • Make plugin Publish handling robust in the face of shutdowns
  • Batch transaction commits.
  • Just handle registering extra storage types in the frontend directly on startup
  • Move around where we register Store types with the frontend to before we try starting things
  • Make a couple of tweaks to plugin_providers. Manager now uploads and reuploads for me.
  • Refactor out runningPlugin more thuroughly, and make dangerzome more dangerous.
  • Remove unused functions in context handler
  • Split signal handling and plugin startup into separate goroutines
  • Fix a few bugs around plugin load and unload
  • Rework plugin loading to get rid of some races.
  • Change how file handles are managed in the wal code
  • Oops, missed some tests during checkpoint refactor.
  • Modify log replay to include checkpointing capabilities
  • Kick off a background replay when we finish a log batch.
  • Make sure AvailableActions are returned sorted
  • Switch to batched WAL writes, update unit tests to ensure that replay and chaining works properly
  • Final plugin fixups
  • Fix a race that can happen when waiting on a log replay to finish
  • Many plugin fixups and WAL handling refactors
  • Refactor plugin code to make it use finegrained locking
  • Prevent thundering herd when several thousand logins using the same password hit the system at once.
  • Lease creation in parallel works for now
  • Fix several locations that we were illegaly modifying leases
  • Change a couple of places we are grabbing a lease to use Find instead
  • Save instead of adding leases to the index directly in a couple of places
  • Release ownership when aborting write transactions as well.
  • Add more detailed logging when a retiring transaction cannot unblock anything
  • Defer creating a wal file until we are ready to commit it.
  • Defer allocation of a new gzip.Writer until it is needed in the frontend
  • Handle new storage types on startup with an index
  • Switch over to using indexes instead of full scans in the backend where reasonable
  • Improvee CPU and memory usage of the tx interlock tracker.
  • Start adding tx interlock code
  • Kill off a couple of functions no-one uses anymore
  • Remove most direct references to backend.Stores.
  • Switch dangerzone to use websocket-style event processing, and prep for 4.2.0
  • Start messing with grub2 for SecureBoot purposes
  • Relax via change checking when shooting down leases on moved servers.
  • Oops, missed a required lock for Contexts that we may need when modifying Tasks

v4.1.3 (2019/10/28)

  • Make log replay at startup handle previous catastrophic failures more reliably.

v4.1.2 (2019/10/25)

  • Update to v4.1.2
  • Update RS_DISABLE_BINL to RS_DISABLE_PXE to match the actual flag.

v4.1.2-beta (2019/10/22)

  • Convert internal bsdtar calls to the embedded bsdtar
  • Convert zip file to tgz, but leave it named zip to
  • Add a statically linked bsdtar for linux amd64
  • Start adding ONIE support
  • Remove windows from extract_iso.sh, not supported anymore
  • trim underbrow
  • fix icon
  • update contributing info
  • Make wal writing more resistant to skipping commit ids
  • Update to v4.1.1
  • First pass at implementing support for elevated token privs on a per-task basis

v4.1.0 (2019/10/02)

  • Update to v4.1.0 pieces

v4.1.0-beta4 (2019/10/01)

  • Update objects to have documentation, description, and endpoint filters.
  • Update filter params to handle all the operators and encapsulate them for In and Nin.
  • Add unit tests and some sanity checks around contexts

v4.1.0-beta3 (2019/09/27)

  • Bump go.sum
  • Deal properly with confused or non-Context agents.

v4.1.0-beta2 (2019/09/24)

  • Update rebar for latest cli fixes and log feature.
  • Silence warnings emitted by the swagger.json build process
  • Swagger is baaack

v4.1.0-beta (2019/09/18)

  • Update go.mod to 4.1.0-beta
  • Bump again for latest agent
  • Allows the system assume octet-stream after the type check
  • Don't be so restrictive on the POST update content-type check.
  • Disallow contexts with the fallback license, and update the unit test license to allow contexts
  • Add Context indexes for machines and jobs
  • Let machines have a BaseContext meta field, and update deps
  • Dev work for adding execution contexts to the backend
  • Add API server message.
  • Make plugin_provider list and get match other list/get
  • Add more debug for system/upgrade issues.
  • Put armv7 back in
  • Make unit tests work "right"
  • Server the tftp/static server files from the api port as well.
  • Derp, fix bustication caused by rebase
  • Fix a bunch of go lint errors
  • Reduce unneeded object deep copying in the backend.
  • Stop needlessly copying data around for authentication purposes

v4.0.21 (2019/09/03)

  • Fix unit test from v4.0.20 update

v4.0.20 (2019/09/03)

  • Update to v4.0.20
  • Add token endpoint for machines, and make token TTL handling in the API take things besides a raw number of seconds
  • Move token generation to the Machine model
  • Force should be allowed to change stage and bootenv too.
  • Add profile-in-profile to the feature-list
  • Fix a couple of corner cases in log replay

v4.0.19 (2019/08/27)

  • Add the ability for Profiles to contain Profiles.

v4.0.18 (2019/08/26)

  • Derp, acutally use toReplay twice.
  • Allow log replay to happen in the background for the most part

v4.0.17 (2019/08/26)

  • Move to v4.0.17 client

v4.0.16 (2019/08/26)

  • Update to client v4.0.16 - performance
  • Use a local CLI proxy if one is available for the CLI tests
  • Make patch op not fail with paranoid machine patches from older drpcli

v4.0.15 (2019/08/23)

  • Fix path to file
  • Fix unit tests
  • Swtich json handling to use jsoniter (for performance).
  • Fix commitID and txID seeding logic, and display the seeded values
  • Use struct deep copying instead of JSON remarshalling.
  • Make WAL writing faster by using more efficient compression, and fix a couple of corner cases around WAL handling

v4.0.14 (2019/08/22)

  • Update to v4.0.14
  • Travis still dying for no apparent reason midway though cli tests.
  • Extend the time we try to run tests, and add some extra logging to prevent death by apparent inactivity
  • Rework CLI tests to provide useful coverage data again.
  • Add debug data gathering endpoints.
  • Fix busted NextServer in a reservation handling.
  • We now have the ability to automatically purge older job logs.

v4.0.13 (2019/08/18)

  • Update to v4.0.12 provision to get latest installer changes.

v4.0.12 (2019/08/15)

  • Update to provision v4.0.11
  • Make sure we don't merge imported licenses with the base license

v4.0.11 (2019/08/13)

  • Update install.sh and bump version
  • Update the watcher exit path to work instead of hang.
  • Move where the fallback license is defined around a bit.
  • Allow token actions to succeed even when the license is expired
  • Add additional debugging on system startup.

v4.0.10 (2019/08/12)

  • Fix panic in fileExists

v4.0.9 (2019/08/12)

  • Pull in new client code
  • Add functionality to allow you to compose parameters together.
  • Undo the force changes for resetting CurrentTask.
  • Add the --exit-on-change option. When set, will cause the
  • Allow machines to be force created and updated. This will

v4.0.8 (2019/08/12)

  • Add additional locks for params because stages validate

v4.0.7 (2019/08/12)

  • Update ref because Greg can't get them straight.

v4.0.6 (2019/08/12)

  • Fix the certs file location to be baseroot relative

v4.0.5 (2019/08/10)

  • Remove drbundler from build/test usage.
  • Update server to include v4.0.5 - drpcli bundle changes

v4.0.3 (2019/08/08)

  • update to latest install.sh 4.0.4

v4.0.2 (2019/08/08)

  • Update built package to pick the fixed install.sh
  • Move Dockerfile to provision. This is going to get complicated.
  • Publish the swagger.json to aws

v4.0.1 (2019/08/08)

  • Update package for the zip file to include fake drbundler
  • Update cli tests to include simplified plugin_provider uploads
  • Fix notification of build process

v4.0.0 (2019/08/07)

  • Bump for released version of digitalrebar-provision
  • Fix CommitID tracking, and make pacman package building work again.
  • Ignore GoLand stuff
  • Clean up the WAL as we progress.
  • Bump license and server version in the main server comments.
  • Turn off unit tests in travis
  • Update with delays everywhere and provision
  • Add a terrible hack to maybe work around rate-limiting in travis
  • Reenable tests for provision-server
  • Add some possible magic to help out go module fetching maybe
  • Add cli tests to provision-server
  • Publish on v4 branch and tags

v4.0.0-pre14 (2019/08/05)

  • Test disablement
  • Publish builds on all v4 builds.
  • Enforce license checking on the plugin code as well

v4.0.0-pre13 (2019/08/05)

  • Fix race condition in plugin controller startup. This has

v4.0.0-pre12 (2019/08/05)

  • Update to test debug again

v4.0.0-pre11 (2019/08/04)

  • Update to fix linux-tests

v4.0.0-pre10 (2019/08/04)

  • Update to port split tests.

v4.0.0-pre9 (2019/08/04)

  • Forgot sum
  • Try and catch it faster

v4.0.0-pre8 (2019/08/04)

  • Update for debug tests.

v4.0.0-pre7 (2019/08/03)

  • Notify catalog builder

v4.0.0-pre6 (2019/08/03)

  • Update codecov token
  • Gather coverage - try to push it
  • Try a really long timeout
  • Test can wait a while.

v4.0.0-pre5 (2019/08/02)

  • Travis returns

v4.0.0-pre4 (2019/08/02)

  • Update refs for unit test passage.
  • Alter the plugin layers to load regardless and update the
  • Enforce licenses in dr-provision.

v4.0.0-pre3 (2019/08/01)

  • All unit tests pass again.
  • Have the server override the feature flags the client info struct provides by default

v4.0.0-pre2 (2019/07/31)

  • Get unit testing using the client unit test code working

v4.0.0-pre.1 (2019/07/30)

  • Fix up reference to wrong v4 package
  • Get rid of default and user data stores.

v4.0.0-pre (2019/07/29)

  • Fork for v4
  • Start transactionalizing the backend
  • Make sure we do not get confused by ambiguous type representation in dhcp packet printing
  • Add swagger.json to version control
  • Get rid of most of the bootstrap pain.

tip (2019/07/22)

  • Fix plugin provider upload to not fail if the UX doesn't send a valid
  • Allow the plugins to have default parameter values that can be decoded.
  • Machine is not unique in job index
  • GenerateProfileToken needs to have secure get/update
  • Allow the hint picker to reuse leases with the same Strategy and Token
  • More thuroughly clean up conflicting leases at startup time
  • Add HEAD method to api/v3/jobs/uuid/log endpoint
  • Refactor some of the parameter passing inside the server to
  • fix 'slready' spelling error
  • Make file upload backwards compat with old UX.
  • build it before checking it in.
  • Don't use the multipart data to set the filename. The name comes from
  • Refactor isos and files to use the same code on the frontend.
  • Add regex filters to most applicable fields.
  • Allow stages to have action:, bootenv:, and stage:
  • Fix a lock issue with AutoStart, also set plugin auto
  • Give PluginProviders an AutoStart capability to allow them
  • Add Partial field to objects to indicate that the object is
  • Remove consul and boltdb support
  • Pull the store code into digitalrebar.
  • Add an exists HEAD operation for files and isos that we
  • Add a .ParamExpand function that will expand the string again.
  • Add option 82 sub 11 handling
  • Add option 82 suboption 5 handling
  • Add In and Nin filters for indexes
  • Add indexes for Params and Profiles on objects that have them.
  • Fix user crash of ad-auth lookups
  • It is a query parameter for explode not a URL parameter
  • Agent directory can now contribute to code coverage
  • Fix missing condition when building MachineRepos for debian-ish systems
  • Add Unordered flag to indexes and make sure it is set appropriately.
  • Update the rest of the code to use unsorted indexes for booleans
  • Add ability to work with non-sorting indexes
  • Fix spurious 500 errors when authentication fails for whatever reason.
  • Plugins to backend, and Machines can change boot targets.
  • Unexport several functions that should not be exported in the midlayer
  • Undo websocket debug. Too much
  • Allow client.Close() to actually close instead of hang.
  • Enable CORS for static server
  • Fix startup core
  • Pass more info to plugins
  • Allow the force parameter to be applied to machine create objects.
  • Allow the runner to list reservations.
  • Allow passing Secure params as arguments to runaction calls.
  • Take a stab at fixing log levels for plugins.

stable, v3.13.6 (2019/05/19)

  • Add darwin cli so that the UX can serve it
  • Oops, remove log package references
  • Add more timing traces and fix bad locks for plugin management
  • Swizzle up locking to use RWMutexes at the store level for as many items as we can
  • Fix up a few way too short JWT token timeouts
  • Beef up trace logs to include timing for a few critical sections
  • Change the watcher to have a no-watcher option to ignore file changes.
  • Add better logging for plugin define failures.
  • Handle case where lease could be nil and should not be
  • Add error returns to our DHCP packet printing functions
  • Allow for DRP to update itself across different filesystems.
  • Add Locked flags to machines, and associated machinery to enforce it.
  • Update grub build to know how to find Linux partitions to boot
  • If option82 is presented, pass it back. Unit tests and all.
  • Switch to Shane's simplified view of this. Updated docs for
  • Make the PINGER only use IPv4 for now.
  • Change the ux local directory default
  • Allow tasks to become readonly
  • When adding storage types, clear the cache on the roles to make sure
  • Allow added objects to be referenced in roles
  • fixes to esxi bootenv tool
  • Lint fixes
  • Make Stage a Paramer so that parameters are added directly there
  • Add support for toggling from active to passive mode, and vice versa
  • add Param for HTTP location in boot.cfg
  • Improve logging around adding and removing renderers from the dynamic filesystem
  • Fix TFTP server not replying from the same IP address it recieved a request from
  • Allow HA flags to function independent of needing Consul, and add our own grat arp processing
  • Make uploading a plugin provider more resilient in the face of uploading something that is not actually a plugin provider
  • Return an error if the plugin provider fails to validate.

v3.13.5 (2019/04/11)

  • Derp. it really helps if the certs are generated before bootstrapping plugins
  • Work on client connect timeout logic
  • Add a couple more status messages at startup

v3.13.4 (2019/04/08)

  • Zap no longer required retry logic in the plugin state machine
  • Simplify event handling logic in pc.allPlugins

v3.13.3 (2019/04/05)

  • Stop and start plugins as required bu license changes
  • Reenable unit testing of the server package error handling
  • Fix race condition when loading the router group for plugins.
  • WIP making plugins able to reload with cross plugin/content pack dependencies

v3.13.2 (2019/04/02)

  • Force all tasks to default to sane exit codes unless they specify original codes

v3.13.1 (2019/04/01)

  • Fix lease invalidation bug.

v3.13.0 (2019/03/26)

  • Allow for repositioning CurrentTask into the past
  • Add the esxi thing to the system
  • updates to ESXI tool
  • Generate tokens correctly cross users.
  • WIP: make ESXi bootenv from ISO
  • If the rack-license contents change, restart plugin_providers
  • Fix search on rawmodels
  • Add unit tests for content prerequisite version checking
  • Make sure HaId is exposed everywhere.
  • Add basic prerequisites support to content bundles.
  • Zap some unused vars and include a unit test I missed.
  • Start adding Prerequisites to tasks
  • Switch to two-phase object validity checking on dtStore regen.
  • Also add an event on massive failure
  • Add more audit items for DRP. Include failure and success.
  • Make sure to reload the plugin_providers if the plugin fails
  • Protect proxy map from concurrence. Do simple mutex for now.
  • Reuse the connections to avoid leakage.
  • Fix typo
  • Update docs for new flags.
  • Fix recursive endpoint look-ups to work all the way down the tree.
  • Alter proxy endpoint slightly.
  • We don't really need to strip out vendor specific options
  • DRP Endpoints don't set Endpoint. Managers do.
  • Fix casting to the correct type
  • Add a noToekn option to the CLI so that it won't use tokens.
  • Update content show/create/update/upload/bundlize to handle secure parameters
  • Have content bundle API handle encrypting and decrupting secure params
  • Make buildContent decrypt all secure params.
  • Remove unused fmt
  • Remove extra prints
  • Add ability to drive API without conversion to tokens
  • Add a user group concept in tenants.
  • Add the original model to the update events.
  • Allow for getting obbects with secure params pre-decrypted
  • Allow decode fetches of secure params when getting the whole item
  • Add an index for secure params.
  • Add search on bundle
  • Fix plugins and logs on errors
  • Add catalog support in the upload / upgrade functions
  • Continue the fixes for restart of upgrade. This reworks the
  • Add the ability to upgrade itself in place.
  • Don't use .. - do the right thing
  • Deal with changing DRPIP somewhat and start HAID
  • Only allow valid users to login.
  • Always save user on login to make sure we get latest
  • Allow plugins to use profile defaults.
  • Change the auth data from the plugin to me more extensible.
  • Fix security hole (could get too many counts) for plugin_providers list.
  • Update version to something the UX won't eat in unit testing
  • Missed a unit test.
  • Allow for external auth systems through plugins.
  • Create a temp space in the plugins area. Plugins can
  • This completes the endpoint support.
  • Fix to resolve PXE not working in when dhcp is in proxy mode. Resolves https://github.com/digitalrebar/provision/issues/1037
  • Add a test dr-provision that can be compiled without
  • Update archiver to use the latest release and change the bootenv to
  • Fix hound found lint issues.
  • Add Endpoint to all objects
  • Add a lookup for the object types in DRP.
  • Add wildcard to endpoint check "MatchAny"
  • Add tests for Endpoints and licensing.
  • Add endpoints field to license
  • do not include docs or tools in code coverage
  • Extend timeout on go unit tests. On some systems, 10m is not enough.

v3.12.0 (2018/12/16)

  • Add license updates for "carte-blanche" and "upto-nodes"
  • Address #1029 - tasks validate whether stages are using
  • When deregistering file system components for a machine,
  • Allow plugins to inject documentation.
  • Fix Dockerfile args processing so that args can be added easily.
  • Add ca-certificates to allow https
  • Add jq to final container
  • Add a drpjoin script that calls to the discovery join script.
  • RunAfter should be two sets of actions.
  • Implement indexes and complete type validation
  • Start adding schema support.
  • Undo the weird plugin api - USE THE REAL API
  • Add dyn route for added objects.
  • Rework the raw model to allow for any fields and
  • Add the ability for plugins to store RawModels into
  • Add a chroot concept to the runner.
  • Add support for plugin actions in the task list.
  • Fix issue that @maz found in the community.
  • Fix busted stage revalidation when bootenvs are created or changed
  • Stop assuming there will always be an installRepo
  • Fix up logging for Sledgehammer expansion
  • Add missing locks
  • Update UrlFor to handle empty Component properly
  • Change how Sledgehammer images are extracted to match changes in sledgehammer-builder
  • Multiarch appears to work well enough for wider testing
  • Multiarch support mostly works
  • Add basic grub2 bootloader support for EFI platforms
  • Fix template rendering for OnlyUnknown bootenvs.
  • Make repo tests pass
  • Start threading arch supprot through everything that needs it
  • Add the iso building packages to build a functional iso.
  • Add Meta data list filters for all meta data object types.
  • This enables the API/CLI/UX to lookup profiles and plugins
  • Fix shell header to work more consistently
  • create /provision/drp-data
  • switch to debian and use multistage build

v3.11.0 (2018/09/06)

  • Fix user.ChangePassword incorrectly invalidating future tokens
  • Allow Patch to work of KEY:value id pieces
  • Add more module support
  • Consolidate lease expire time code and via handling for reservations.
  • Add support in the backend for subnets consist of many point2point links.
  • Move option consolidation code into the backend
  • Add back missing continue so we get all of the potential errors
  • Better error messages for displaying corrupt data, along with remedial actions
  • Move the DataStack to the backend to allow for better error reporting
  • Add code for cleaning up corrupt or missing data
  • The URL of the public signing key has changed!
  • Add better errors for template failures in content packs
  • Send events on file serving from tftp and http;
  • Start threading Principal information through dr-provision.
  • Fix up broken lease finding logic
  • More Reservation updates and tests.
  • Flesh out DHCP code to handle scoped leases.
  • Start working on scoped reservations.
  • Add support for building ISO ipxe boot images
  • Apple support netboots High Sierra via NetBoot and NetInstall methods.
  • Make a couple more fixups to apple boot support, start adding DHCP unit tests
  • Start removal of hardwired chainload into iPXE apple boot.
  • MacPro6,1 boots to Sledgehammer

v3.10.0 (2018/08/02)

  • Add sprig template library to text expansion.
  • Fix Rob's issue with workflows with a starting stage that don't have
  • Handle change-stage/map systems (old legacy)
  • Fix silly typo in job_create.go
  • Refactor job create code to be a bit more straightforward.
  • Rework frontend task pieces .
  • Actually ship it.
  • Add ipxe.lkrn to our build pieces
  • Rename drp stats to have drp_ in front
  • reduce logging level of debug message.
  • remove swagger js from our language bar!
  • The backend is also marking a machine as not Runnable in error.
  • Have the runner skip JobActions that are not appropriate.
  • Attempt to make unit tests work without bad fakes.
  • Rework tests to get better coverage data.
  • Add secure param upgrades and content layer RequiredFeatures checking.
  • Add comboot options to the DHCP tests
  • Move to generating our own ipxe binaries.
  • Relax who can render multiple templates based on mac address
  • Fix go vet and gofmt -s
  • Fix two more "misspellings"
  • Fix ineffective assignments and more spelling tests.
  • Fix spelling issues.
  • Fix render template error messages.
  • Allow concurrent tests to run.
  • cull port off from host in web stats
  • Add push gateway configs.
  • Make static host field point to remote address.
  • Add some metrics to the system.
  • Add unit tests to validate that switching workflows in a task works as advertised.
  • Actually extract chain.c32
  • Sigh, fix schema thinko.
  • Make the pxelinux local boot method configurable via param
  • Add IP Addr logging for 'No DRP authenticationtoken' msgs
  • Allow empty args for '{{.Machine.MacAddr}}' template expansion

v3.9.0 (2018/06/21)

  • Pull in content-package docs almost automatically.
  • Add missing meta tag.
  • Make --skip take a comma-seperated list of fields to elide.
  • Add "slim" query parameter that discards Params and Meta fields on
  • Metadata tests added
  • Fix up server side processing of meta object ids
  • Add an API endpoint for getting and patching metadata
  • Allow the frontend to send responses that are gzip-encoded iff the client accepts that encoding
  • Forgot to implement the signal myself to die if I lose
  • Add warm standby HA support.
  • Make plugin_provider events match general form.
  • Send events on content changes. Fix preferences reference.
  • Fix up logging in tenantSelect
  • Add some auth checking logs at Trace log level
  • Profile tokens needs param read access.
  • Have the TFTP server recover from panics while trying to serve requests.
  • Downgrade aborted TFTP transfer from Error to Info.
  • Allow machines to see params
  • Fix local path checking to only check if a local install tree is present, not for all individual files
  • Delete job logs when we delete jobs
  • Handle consul secret stores and don't make directories when using consul.
  • Make the umask for all files default to one for the current user.
  • All drpcli to generate CSR as a help
  • Make the secret store type default to being the same as the backend store.
  • Make secure-params a licensed feature, and clean up unit tests
  • Add unit tests for secure params and fix up bugs found along the way.
  • Expose pubkey endpoints in the API, and wire up the CLI to auto-encrypt secure data if the user has the rights to do so.
  • Thread the secret store through everything, and fix busted locking for the secret Store handling code
  • Wire in new actions needed for secure parameter management, update CLI and unit tests
  • Give RequestTracker the ability to decrypt secure params.
  • Start threading secure parameter validation through the backend
  • Fix spelling
  • server lint clean-up
  • More lint fixes.
  • More lint fixes.
  • More lint and fix unit tests for the ReadOnly Roles fix.
  • More lint fixes.
  • More lint
  • More lint fixes
  • golint clean-up. Make code prettier. A little bit at a time.
  • Use net.Pipe to implement the logger for the Agent
  • Var usage cleanup
  • Fix a darwin unit test failure.
  • Put test coverage back.
  • Add license checking for Role and Tenant modification API calls
  • Add license decoding into the core
  • Run gofmt -s on the code.
  • Allow ISO upload and bootenv revalidation even when the env is available
  • Allow repo definitions to specify where to get kernels and initrds when it does not align with what an expanded ISO would provide
  • Rework package-repositories handling to prefer local install repos.
  • Fix possible crash in plugin system if it is already removed
  • Try to fix up reservation/lease/job auto-inclusion for tenanted machines
  • Fix a couple more auth-related bugs
  • Add unit tests including tenants that completly deny access to many things.
  • Make list and get return an empty list and a 404 if not allowed.
  • Get rid of separate index permissions.
  • Add swagger poo
  • Make index fetching work, and add unit tests for it.
  • Fix busted param object ID testing for patch
  • Add tenants.
  • Fix test that actually works now.
  • Fix broken param validation.
  • Add scope info to the info struct for others to make "smart" decisions.
  • Update drpcli docs for roles.
  • Fix livelock that could happen when updating params on a machine.
  • Add more auth documentation, and tweak how role delegation works to make it more reasonable
  • Add roles feature flag.
  • Fix some corner cases around role based auth, and clean up unit tests
  • Add role CLI unit tests
  • Expose roles via the API and CLI
  • Update backend unit tests to pass
  • Users have certian inaliable rights.
  • Move user-specific token gen code to backend.User where it belongs
  • Add restricted update scopes to claim calculation.
  • Add basic Claim algebra, and use it for auth checks
  • Fix missed global function rename.
  • Wire up Role based auth in the frontend.
  • Update user claims to use Roles by default.
  • Start adding Roles as a top-level object.

v3.8.1, v3.8.2 (2018/04/24)

  • ignore the Mac OSX vomit of .DS_Store
  • Update the logic that decides when and how to examine reservation info
  • Stop plugins that aren't in data
  • Add Leaving action for plugins to call
  • Capture combined output as well.
  • Have define call validate for plugins if present.

v3.8.0 (2018/04/12)

  • Add Range to the allowed headers.
  • Fix broken UEFI feature check for iPXE.
  • Fix case where plugin wouldn't stop in a race.
  • Force machines to default to change-stage-v2
  • Make setting a workflow go ahead and set the machine Stage and BootEnv to the first Stage in the list.
  • Add ParamAsYAML to the render function set.
  • Bootenvs must have a non-empty OS name.
  • Put back delayed assest exploding so that the server
  • When changing a user password, rotate their token secret as well.
  • Add a feature flag for the defaultWorkflow pref
  • Add a defaultWorkflow preference along with unit tests for it.
  • Fix up machine create auth claim gen to match what the frontend expects
  • Fix up machines unit tests
  • Include Workflows in the generated swagger output
  • Make rt.Find be able to use unique indexes.
  • Make sure we don't lose track of CurrentJob just because someone deleted all the Jobs.
  • Make a couple more tweaks to machine validation to make all the unit tests pass again.
  • Add feature flags and fix up a few unit tests
  • Fix corner cases around how we were determining that a stage change was needed
  • Fix up how we do machine validation to make it a little easier to follow
  • Add indexes for new Jobs fields
  • Update jobs frontend code to handle properly lying about the change-stage/map
  • Fix Job backend validation
  • Dial down audit spam to only show up when someone auths with basic auth.
  • Fix task list restart logic
  • Refactor more sanity checking code for workflows and get closer to making it work
  • Fix machines create auth
  • Add CLI and frontend stubs for workflow
  • Rewrite jobs POST handling code in the frontend to handle stage and bootenv changes.
  • Tighten up restrictions on how CurrentTask can be manupulated in the backend.
  • Get rid of unneeded manipulation of the machine CurrentTask pointer on the backend.
  • Bootenv needs to take the workflow lock as well
  • Start adding workflow-related unit tests and validation
  • Add workflow locks and basic validation
  • Clean up some corner cases in validating task list changes
  • Wire workflows into Machine validity checking
  • Start adding Workflows to the backend
  • Don't double start plugins.
  • Make sure each new plugin gets a new socket name so
  • Document state machine better
  • Fix deadlock in task validation when a stage depends upon it.
  • Validate content packs against the fileRoot to
  • Plugins get needs to take the profiles lock as well.
  • Add the System object to the swagger tags list.
  • With the latest code, we turned on create validation.
  • Fix config->config state machine loop. Should be config->start.
  • Push the plugin name into the config struct.
  • Content meta data must be strings.
  • Auth the machine create call!
  • Add feature-flag for plugin-v2-safe-config
  • Reduce logging for plugin load.
  • r.Plugin may not be set yet.
  • Fix subnet unit tests
  • Clean up subnet validation and add some sane defaults
  • Alter the plugin start-up/teardown workflow to be
  • If we don't need stage, don't find stage.
  • Fix looping if config fails at upload time or startup time.
  • This allows for starting of plugins not under a lock.
  • Add 'fsm-runner' as a feature-flag.
  • Add windows cli into DRP

v3.7.3 (2018/03/03)

  • Fix password setting.

v3.7.2 (2018/03/02)

  • Add icons/color to local/none bootenvs
  • In some cases, the machine doesn't advance it task count
  • Add support for rendering a parameter as JSON
  • Remove trailing dot from domain name. It confuses somethings.
  • Allow reservations for the machine's address to be edited by the
  • In order to assist the UX in figuring out subnet configuration,

v3.7.1 (2018/02/26)

  • Fix type stages to stage on machine drpcli call
  • Remove the need for --static-ip on Macs.
  • Add log messages to DHCP unit tests
  • Add some iPXE feature sanity testing.
  • Fix swagger.json validation.

v3.7.0 (2018/02/21)

  • Add missing arg to machine address change log message.
  • Grab all needed locks when we might need to update a machine IP address
  • Bump go deps, and get rid of the delayed EmbeddedAsset stuff
  • Oops, need params when rendering job tasks
  • return true on version call in dockerfile.
  • Have the plugins only use stdlib for HTTP server stuff
  • Update the dockerfile to print the dr-provision --version
  • Allow plugin providers to unpack assets to be served statically
  • Make sure we close files served via TFTP
  • Make sure the HTTP server closes files after it serves them.
  • To make docker builds work correctly in
  • Still lame
  • Try again with docker-cloud
  • Add some debug prints
  • Update the dockerfile to build tags correctly.
  • Only validate the task list integrity when the stages don't change.
  • Add KeyName to model so that things can know what field is
  • Have requestTracker.Find always return a copy.
  • Make NextServer handling identical in Reservations and Subnets.
  • Iron out some proxy DHCP bugs, and add unit tests that exercise proxy DHCP support.
  • Move tftp file fallback handling to coalesceOptions
  • Oops, got checks for validating Active when subnet is a Proxy subnet backwards.
  • Update docs for new DHCP features and update testcases.
  • Option 67 is optional now.
  • Trivial if statement reorder
  • Comment the heck out of the DhcpRequest methods.
  • Do a better job at seperating control flow from PXE and DHCP.
  • Try again to fix the error
  • Fix build break because my system has extra stuff.
  • Add more server base line tests and fix a store error
  • Allow more config in the cert construction path.
  • Add Lease filter tests and clean up some dead code.
  • Rework the UI url variables to reflect the new
  • Don't require a lock when filtering websocket events.
  • DRY up the content calls to use the common routines
  • Move all Publish() and PublishEvent() calls to the RequestTracker.
  • Tweak DHCP packet processing code to include the local port.
  • Improve DHCP unit testing.
  • Make DHCP tests run based on external test data like the CLI tests do
  • Bootstrap first working DHCP tests
  • dhcp_test.go contains only common functionality.
  • Add a helper function to the DHCP test file.
  • Move a few DHCP logs from debug to Error.
  • Move per-request handling to its own strucure.
  • Stop conflating next-server and server-id
  • Fix DHCP unit tests to properly handle the new notion of when to offer a bootfile
  • Add pxelinux-mac and ipxe-mac stanzas to the local bootenv
  • Change up NetBoot logic to accout for non-us DHCP servers.
  • Revert "Remove PXE boot templates from the local bootenv"
  • Fix a couple of bugs exposed by testing
  • Remove PXE boot templates from the local bootenv
  • Several updates to the DHCP service.
  • Add a restriction to not allow Machines to have overlapping IP addresess, unless they have the unspecified IP address
  • Add a couple more helper functions for looking up things by index to RequestTracker
  • Give BootEnvs a way to signal whether they are for PXE booting, and allow them to render templates for each MAC address a machine has
  • Add a quick and dirty index of MAC address -> Machine
  • Make machines.New() work when passed a nil Machine
  • Update the content test cases and the meta data
  • When saving a SaaS content layer, make sure that we
  • Make sure that the default content has different meta
  • Sigh, USR1 not available on Windows. Use ABRT instead.
  • Switch to having USR1 dump stacks and contested mutexes.
  • Adding support for dumping stack traces on exit with SIGQUIT
  • Have the frontend make all tasks sane-exit-codes unless
  • Add plugin version so we can stop and start plugins
  • This addresses a deadlock in the event system.
  • Add protection about comms path length.
  • Clean up socket files on stop of a plugin.
  • Add a feature tag for plugin-v2
  • Fix a bug where the actions lock map was missing.
  • This is an bit of an API rework with regard to
  • This reworks the plugin system and requires
  • Fix busted machine rendering
  • aargh -- stupid typo fix in previous fix
  • Fix up panic reporting for when an item is not renderable
  • Add Fill() to all onloads. There is probably
  • Change up DHCP debugging to include entire packets when logging at the Debug level
  • Tweak address cache for more proper operation.
  • Fix job data races from latest changes.
  • Allow the dynamic parameters that are string to be strings

v3.6.0 (2018/01/19)

  • Fix three logging and filtering issue.
  • Fix up DHCP handler to more closely adhere to the DHCP spec.
  • Add a bit more debugging to the TFTP response writer.
  • Make sure that we don't try to publish logs we create during the message publishing process.
  • Make sure that we can render oses when starting with missing local install/boot repos
  • Clean up when and how we set DHCP pxe boot options
  • Fix InfoResponse to LogResponse for swagger
  • Expose log fetching in the API and CLI
  • Fix a bug in stages not re-exporting templates.
  • Bump logging package to latest version, and add more debugging to midlayer plugin stuff
  • Thread logging fully down into the server-side operations for plugins
  • Remove no-longer-used functions from the RequestTracker
  • Switch to using ResourceTracker for content layer manipulation as well.
  • Add a comment about migrating saved logging prefs
  • Switch to using our logging package for more unified log handling
  • documentation nits and cleanup
  • beats me
  • Address some websockets love.

v3.5.0 (2017/12/20)

  • Convert pxe references to binl for all external pieces.
  • We should mark the lease as OFFER once probing
  • Transparent proxy code plugged in for preexisting boot environments
  • Make sure we are handling passing along size info from http to tftp
  • Add initial code for complete ISO-less installs
  • Cheesy way to include dynamic libraries. :-)
  • Forgot to move the test data.
  • Move all asset stuff to embedded.
  • Attempt to move embedded to stand-alone include-able.
  • Add an "info status" CLI call that tests aliveness of all our ports.
  • Expose a sane address value in the info struct
  • Add ports tftp and binc are running on, and expose whether binc is enabled
  • Populate the address cache when handling API requests.
  • We should use the name we want, not the browser's
  • Missed a place that should allow for schema in a parameter
  • This address two inconsistencies in our models.
  • Add support for default values in params.
  • Do not allow deleting the global profile

v3.4.1 (2017/12/04)

  • Fix for #469 - add an option to override a replace directory.

v3.4.0 (2017/12/04)

  • Knonw Machine tokens should update jobs as well as patch them.
  • Fix a missing location where we should have been setting CurrentTask to -1
  • Remove cluster meta data requirement
  • Add GenerateProfileToken to generate a cluster
  • Remove plugin providers before adding them.
  • Epic rewrite of the CLI to use the native API.
  • Remove addition 3des cipher
  • Use the same ciphers as DRv2
  • add check graphic for test
  • Create a tls default cipher list that is restricted

v3.3.0 (2017/11/16)

  • Add always warnings for dup DHCP server
  • The previous was too aggressive on option munging.
  • Add a few more options for handling pxeClient booting.
  • Add an additional Info messages when we see Offers not from us.
  • Start of DHCP Proxy support.
  • Update the Patch return codes to match conflict
  • change 'url' to reference 'window.location' elements
  • Add bit to Job noting whether it is the current job for a machine.
  • Do not allow Machines to be created directly into an unavailable state.
  • Disallow lease creation and modification via the API
  • Clean up some more error reporting paths
  • Add feature tag for package-repository-handling
  • Add beta support for improved package repository handling.
  • Add a local-use PKGBUILD and update build.sh to allow selective building.
  • Add OS as a machine field, and arrange for OS installation to set it.
  • Get rid of duplicate code.

v3.2.1 (2017/11/06)

  • Fix busted Stage revalidation on Bootenv validation update

v3.2.0 (2017/11/02)

  • Add HEAD list functions that return object counts and
  • Allow machine task list modification to the part that has not been run yet.
  • Fix 5min-drp to use new tip content names
  • Fix canary naming for sledgehammer, and make explode_iso asynchronus again
  • Make sure content is filled before handing it out.
  • Add functional unit tests for job functions, including a basic agent
  • Fix error reporting on task list changes to machines
  • Make sure we always say we plugin content type
  • If content version is unspecified, use pp version
  • Allow the plugins to provide full content.
  • Add protection to only allow json and yaml files in the
  • Add the stage-change-map feature flag to indicate which
  • Make the error for loading a saas-content more specific.
  • Fix timing issue in remove of plugin providers
  • Fix use of raw HTTP status constant in the frontend
  • Add appropriate locking around melody interactions
  • Make sure we do noy allow content layers that do not have a name
  • Add Fill() for ContentSummary and use it as appropriate
  • Final fixups to make current CLI work with new API enhancements
  • CLI machines test fixed checkpoint
  • Only CLI test failures are changed error messages
  • Pull in the new API bits
  • Fix user onload post-validation update code
  • Add types to basic and plugin content layers
  • But names should match on add and remove
  • Make sure name doesn't conflict for plugin provider content.
  • Update the fixup routines to remove through the stack
  • Lock stuff because it is the right thing to do
  • Have the plugin providers had their own content
  • Fix jobs to keep from resetting end time all the time.
  • Add meta data for the base objects so they have icons too.
  • Fix infinite time test
  • Forgot the frontend
  • Make sure the infinite token doesn't break time
  • Make sure that the internal drpcli has a version in it.
  • Include infinite and finite tokens (as well as info data)
  • All machines to get tasks.
  • Need to follow the rules to this game of save, load, and create.
  • Don't save the objects with validation warnings.
  • Add sane-exit-codes as a drp feature.
  • Fix an issue with the secret not be persisted if created on existing
  • Fix missing change in midlayer and remove extra function
  • Persist the token validate/encryption key across restarts.
  • Fix issue #486 - add validation errors on delete.
  • This patch adds three secret keys to the JWT auth token.
  • Always have an empty task list
  • Add content feature flags, and use that to add new exit states for tasks.
  • Fix up parameter tests to allow null schema
  • Fix up midlayer and backend tests to use a proper StackedStore
  • Fix up layer handling to include a method of resolving layer conflicts.
  • Remove double events on websocket.
  • Make ignore and local bootenvs immutable, and add a none stage by default
  • Fix potential fail when revalidating stages from bootenvs and tasks
  • Update jobs to auto-fail more jobs whose machines have vanished.
  • Add stage checking to validations where appropriate
  • Address issues with / in parameter names.
  • fix "restorecon" to point to "\(tftproot" - not "\)tftpboot"
  • Add a CallTemplate routine that will call template
  • Add a plugins specific error field that is persisted.
  • Add frontend API endpoints to get and set individual Params on Profiles and Machines
  • Make missing stage a hard error for machine.
  • Swagger-ize the rest of the HEAD routes
  • WIP fixing up HEAD routes
  • Add HEAD endpoints for various models
  • Rearrange the frontend to split userAuth into its own method

v3.1.0 (2017/09/19)

  • move the info and user structs to models
  • Fix locking issue. Missed a stages call on the machine actions.
  • Fix build break.
  • Update netmask and broadcast options on a subnet when
  • Remove old UI.
  • Allow Stages to have an empty bootenv
  • For Content objects, add some additional meta data
  • Add SigHUP handler to reload the config pieces for local modification.
  • Add missing prefs to frontend
  • Add the RunnerWait flag to the stage and change
  • Allow machines to do everything to themselves including actions.
  • Add a defaultStage preference that can be "".
  • This not so small commit adds the Stage Object.
  • Make dynamic index not found error look like the static ones
  • Factor out some common index creation code
  • Wire up Indexes, and make them actually work.
  • Fix FindLease control path to clarify exactly when we return a lease.
  • Fix reservation test
  • Fixed implementation of ping testing for DHCP discovery addresses
  • Revert "Add initial impementation to check to see if IP addresses are in use."
  • Parallelize DHCP packet handling.
  • Add initial impementation to check to see if IP addresses are in use.
  • Maybe get the final set of these things by actually doing tests.
  • Add Contents to base swagger file
  • This codifies some of the changes Stephen made and fixes
  • Add ReadOnly flag to objects so that callers can see what is
  • Get rid of defaultBootEnv that was hiding the real usage
  • files upload supports multipart, manual tests updated
  • plugin provider converted to include multi-part upload
  • Most some calls
  • Allow for a forced NAT environment
  • Add reservation allows.
  • Get a good ip tool in place.
  • Most some calls
  • Allow for a forced NAT environment
  • Add reservation allows.
  • Add ipmitool to the docker image.
  • Add /indexes endpoints to the frontend.
  • Get a good ip tool in place.
  • refactor upload for more code reuse
  • Add ipmitool to the docker image.
  • add multi-part file upload to enable form based uploads
  • rebuildCache handles actual template valiadtion.
  • Fix how lease expiry time is calculated if we have both a reservation and a subnet.
  • Make sure we always use subnet appropriate options.
  • Add ActiveAddress index to Subnet.
  • Add Address index to Subnet.
  • Event should be * for machines
  • Onload only initialize empty structs.
  • If there is a hard error in templates, fail with the error message.
  • Add more capabilities for machines when using the runner.
  • Add initial Dockerfile for tip. This will morph over time.
  • Put back the ipxe fall through in the ignore bootenv.
  • Regenerate the docs.- no docs for new install.
  • Reorganize the plugin layers.
  • Make server test put files in "normal" places.
  • Make server test put files in "normal" places.
  • Make some machine errors hard (instead of soft).
  • Fix the softerrors for adding content. There is an issue with
  • More fixes to backend and models and tweaks to unit tests.
  • This seems to remove the deadlock, but still races.
  • WIP making OnLoad() function properly
  • Updated Ubuntu 16.04 to latest 16.0.43 version
  • Update for new models.
  • Allow for plugin debug/info messages to be turned on and off.
  • This adds the local bootenv to the system as default
  • Alter validation order to make sure things are loaded in order.
  • Add more unit tests for content.
  • Update backend models to not save validation information to the durable store
  • Fix uncaught rebase error
  • It all builds, but the CLI tests fail.
  • Rework backend to use seperate Models and overhaul model validation
  • Whack excess validation code that is no longer required.
  • Fix giaddr reply issue for client request's that have
  • Content update should replace completely.
  • Add some functional content tests to make sure validation errors
  • Rename swager generated models to genmodels so that we can
  • Add cli unit tests. Fix various issues found with it.
  • Enable parts of each API to show up for content.
  • Have the midlayer stack code use overridability flags on the stacked store.
  • Fix unit tests for code clean up in frontend.
  • Fix up error and loading issues.
  • Add validation functions
  • Add push function for adding stores. This doesn't put the file
  • Add A lock all function and use it.
  • Tweaks for import.
  • Update for stack changes
  • Oops, add test files for stacked stores
  • Update to have shiny default local and default stores.
  • Add stores for local and default content
  • Update to use generic Open() syntax from digitalrebar/store
  • Update provsion to work with the latest Store code.
  • Add the ability to filter machines by parameters on list
  • Fix for now. More changes to come.
  • Create Trademark.rst
  • Create CONTRIBUTING.rst
  • from Github community template
  • This is the completion of work started by @niemanme.
  • Add a cli and endpoint to post events.
  • Port dr-provisioner over to using digitalrebar/store
  • Fix unit tests to actually write files and run commands.
  • Try different code cov.
  • Add a new cli command that will run jobs per the
  • Update job logging to avoid working with Strings and work with io.Readers instead
  • Add missing closes for plugin upload and iso upload
  • Add upload and remove plugin providers. This will allow for plugins
  • Add a codecov yaml file to always use the master branch for the
  • Add Enabled flag for subnet to allow for created but not enabled
  • Add additional info to the info call.
  • Separate provisioner enablement from tftp enablement.
  • fix directory issue
  • Add the ability to append and get the log for a job.
  • Add Name to JobAction field
  • Add the ability for the cli/API to render a job by
  • Add a machines wait cli option.
  • Finish up unit tests on jobs and job flows.
  • Add Runnable index to machines.
  • Add the start of the jobs unit test. Fix list and other
  • Add jobs create code and tweak components to get that
  • Lots of little tweaks to provide two features.
  • Start a jobs unit test
  • Add info struct to gettoken. This helps the UI do less calls.
  • This tracks action and publish uses to ensure
  • Add more events. Still more to add, but probably a good start.
  • Fix data race around publish list.
  • Only show actions that are available to the machine based
  • Remove stats - too early.
  • Switch from RPC style to start messaging on pipes.
  • Reorg code and drop rpc.
  • This has a haning RPC close issue. I'm not sure this is
  • Fix unit tests for plugins, plugin_providers, and machines actions.
  • Remove bin from list
  • Fix bugs in support of adding machine action CLI
  • Allow Param validators to be called outside of backend control.
  • Add API endpoints and CLIs for Tasks and jobs and params.
  • Have validation down on all parameters in an action call.
  • Add parameter creation and validation on actions from plugins.
  • Attempt to get existing unit tests working again.
  • Handle restart/remove/add for plugin providers
  • Add more logging.
  • Fix path issue in startup plugin provider finding.
  • Add Machine actions, an API to get and list them
  • First pass at plugins. This does a publish plugin through
  • Add an ID to DRP that is configurable from command line args
  • Add an info api call to get DRP info.
  • Attempt to get existing unit tests working again.
  • Remove extra websocket call
  • Add missing event for save/update
  • Add events and websockets to get them all
  • Remove DTI - it is not used anymore.
  • Remove commented out code.
  • Oopps forgot midlayer dt fixup.
  • Remove frontend tests for the moment - to see how bad
  • Get CLI tests running again.
  • More fixes and tweaks. All frontend tests to run with a
  • Change cert to be not a CA cert that we use because
  • Move the render unknown into the datatrack init.
  • Frontend compiles with new locking regime
  • Convert midlayer to new locking scheme
  • Fix all the backend tests.
  • Refactor logging, part 1. WIP, expect build and test failures
  • Add nonfunctional skeleton for Jobs
  • Validated cannot be changed via the API.
  • This hack seems to work, but seems strange. It is actually
  • Fix unit tests for new fields.
  • Start adding Tasks into dr-provision
  • Add console defaults for all bootenvs.
  • Add UX unit test.
  • Fix unit tests
  • Add redirect to public site.

v3.0.5 (2017/06/29)

  • Add Cors support to DRP. It may need to be tweaked.
  • Add basic param stuff for validation.
  • Undo the exit 1 in local. It isn't needed, it was a console setting
  • Update gitignore to ignore some pip doc cruft
  • Update sledgehammer to latest - b3c09ebd5a9c228c66d8a617b6f5d10ccbe1c273
  • Build ui with last changes
  • Removed some inline css to clean up the html
  • Fix tooltip centering
  • Make first tab be subnets
  • Fixed tooltips appearing under other buttons
  • Built tabs
  • Added tabs and changed nav buttons to icon buttons with tooltips
  • Built with logging level selects
  • Added logging level select for prefs
  • Built with bootenv error display and fixed prefs
  • Added bootenv error view, fixed pref saving
  • Added colorblindness help text
  • Build bootenv template preview
  • Added better bootenv template previews
  • Build with focus css
  • Add css for focus where hover is used
  • Built ui with right just icons and fixed bootenv remove
  • Fix bootenv remove, right justify icon buttons
  • Built for chrome
  • Fix tab bottom on chrome
  • Built with welcome screen
  • Added welcome screen with links
  • Built new login screen
  • Material tabular login screen
  • Rebuilt ui with material changes
  • Added material inputs and table row spacers
  • Add nice material buttons, icons, and tooltips
  • Add default token to login view
  • Fancy login messages
  • Fix react order
  • include vendor.js in index
  • Move react to vendor
  • Added material icon font
  • Remove useless vendor js
  • Rebuild ui
  • Fix weird git merge issue
  • Update assets path in frontend to include brunch public folder
  • Ignore node modules, to be included when you build
  • Add brunch and build folder
  • Prepare index and render for brunchification
  • Update assets path in frontend to include brunch public folder
  • Ignore node modules, to be included when you build
  • Add brunch and build folder
  • Prepare index and render for brunchification
  • Make signin smoother
  • Potential fix for selinux envs.
  • Added proper network range calculation
  • Update the linuxkit docs and bootenvs.
  • Basic style improvements
  • Added a button for viewing templates by alert
  • Remove dev react deps
  • Added functional refresh button
  • Stylistic improvements
  • Make token last for 8 hours
  • Improved auth and navbar functionality
  • Remove refresh button for the time being
  • Removed unused libs to improve load speed, added reload and refresh buttons
  • Add support for 386 family of processors.

v3.0.4 (2017/05/18)

  • Add the ability to change the user's password.
  • Added esxi-650a
  • Tell ubuntu to use local or not for the initial
  • Add locks to avoid race - not really needed, but ...
  • Add unit tests for conncache.
  • Add comments for the index-based get and generate
  • Update the docs and swagger information for the filter
  • Alter CLI input to handle advanced queries.
  • Add advanced list sorting/filtering functions.
  • Add Unique to indexes, enforce it, and let Frontend use it.
  • Add cli support, more swagger pieces, and unit tests for cli.
  • Oops, fix my misreading of the spec for bool comparison.
  • Fix boolean comparison logic in bootenv indexes
  • Add swagger annotations about search parts.
  • Add tests for index funcs.
  • Fix up a few logic errors in the index funcs
  • Have Limit and Offset throw an error at negative numbers
  • Make Limit and Slice not panic if num is too big
  • Add filter/sort to our list and start swagger definitions.
  • Update index API to make it easier to use from the frontend.
  • Add an indexing layer.
  • Oops, forgot to add fix to assets.go
  • Fix building commands to allow for automated refactoring

v3.0.3 (2017/05/03)

  • Add unit tests for the list functions

v3.0.2 (2017/05/03)

  • Debug contents of renderer when high debug set.
  • Add unit tests for prefs debug*
  • Make UI prefs render correctly for new debug prefs
  • If access_keys are defined, let the sledgehammer images by accessible.
  • Update the PATCH commands to indicate that they
  • Add a debug system to prints. Turn them off by default, but
  • Document initial DR integration.
  • In our rename frenzy, we forgot to rename the files themselves.
  • Make template rendering avoid inadvertent data leaks
  • Document the sub-templates and their vars.
  • This reorganizes the templates and bootenvs a little.
  • Change DHCP server shutdown to eliminate using timeouts and channels.
  • Fix read time - while I assess the whole clean shutdown path.
  • Only timeout the DHCP reads. 1 second on the read to
  • Turn off race detection for the tftp unit tests.
  • Add shutdown handlers for all and make them called consistently.
  • Add clean shutdown on control-C/signals for the
  • Add Profile CLI support and update docs for it.

v3.0.1 (2017/04/25)

  • This is another pass on the docs.
  • Update more of the profile. Doc clean up stuff.
  • Adjust the swagger generation for profiles. Make docs work again.
  • Add comment for datatracker.lockEnts explaining the locking order.
  • Remove direct API interaction with Digital Rebar.
  • Make a backend locking helper to ensure dt locks are taken and released in a specified order
  • MOve the machine profile into the machine object so that
  • Took away too much - return if not found
  • Add another error test case on params
  • With this patch, we replace the parameter system with
  • Make the linuxkit bootenvs be machine specific.
  • Add render tests for included templates
  • Fix naming of ssd to sshd
  • Add docs for DHCP and Provisioner disabling.
  • Update template handling to allow template inlining.
  • Fix delay part of static test

v3.0.0 (2017/04/12)

  • Add tags swagger.json helper to work on doc generation.
  • preferences editing, bootenv from parent
  • improve subnet preseed and interface cleanup
  • Start some dhcp specific test cases.
  • allow user:password instead of token
  • cosmetic change
  • not easy to make test detect if dev NPM still referenced
  • correct tests
  • correct missed rocket-skates refernces
  • change UI to accept tokens, consolidate back to single render.js page
  • Make the version 100% built.
  • First pass at auto-versioning - more to come.
  • Add some install / quickstart tools that can be called from
  • Bump up the version
  • Remove PasswordHash from User by call Sanitize function if
  • Update swagger meta data to understand bearer auth.

v2.9.1003 (2017/04/07)

  • bump version
  • Fix missed drpcli changes and a few others
  • After moving the repo, we need to rename things to get
  • Version bump
  • version bump
  • Trying again - to push releases.
  • Add a version file for rocket-skates
  • Tools nit fixes
  • Make Param and ParamExist fallthrough to global checks
  • Fix server args issue and cli unit test cases.
  • Make the token timeout values configurable.
  • Add a generateToken method that "knows" when to create
  • Oops. forgot frontend_test.go
  • Refactor tokens to support multiple claims
  • Convert to token auth for frontend testing.
  • Add files, isos and prefs unit tests
  • Move userAuth to only protect the API, not the static assets from the frontend.
  • Fix jwt path in datatracker.go
  • Add OnlyUnknown flag to BootEnv.
  • Add more detailed comments to backend models
  • Lock RenderData when rendering, deleting, or writing templates.
  • machines update and delete
  • Update tftp code to match latest upstream method of getting the local interface address
  • Convert the DRP-AUTH-TOKEN to a bearer authorization.
  • Add the query params for controlling the generated token
  • Switch randString to use crypto random and put it with jwt stuff.
  • Fix a comment and put back a line
  • Add Token support
  • Update the swagger generation pieces to handle the security properly.
  • Start adding user auth to the CLI
  • Account for the default user
  • Update the swagger generation pieces to handle the security properly.
  • Start adding user auth to the CLI
  • Fix up unit tests for dynamic templating
  • Fully dynamic template rendering with source address detection.
  • production header
  • WIP bootenv for machines
  • WIP bootenv for machines
  • move title back
  • Start reworking RenderData to use the address cache.
  • Fix up to work with latest changes to upstream TFTP library.
  • Make midlayer.addToCache() update local addr.
  • Add remote -> local IP mapping caches.
  • Start of adding reliable remote -> local addr caching
  • CLI Unit tests
  • Zap UI tests until full project rename.
  • Stop trying to extract the Darwin CLI.
  • Oops, fix asset tests.
  • Add minimal init system control files for systemd, upstart, and sysvinit.
  • rendering machines list - no updates yet
  • add license and copyright
  • improve layout of footer
  • ignore downloaded isos
  • fix interface loop and removal
  • WIP adding machines, refactor files
  • name change and graphics
  • rendering machines list - no updates yet
  • add license and copyright
  • improve layout of footer
  • ignore downloaded isos
  • fix interface loop and removal
  • Template vars need to be quoted in yamls.
  • Garbage collect leases at DHCPDISCOVER time.
  • WIP adding machines, refactor files
  • name change and graphics
  • Add Lease.Expire method and refactor who is responsible for saving a lease invalidation
  • Pass the server logger to all midlayers.
  • Switch Darwin usage to 7z to tar updated from homebrew.
  • Update bootenvs and templates to fix some issues
  • Rework the CLI to use patch for all update commands.
  • And tell the server to use the new midlayers
  • Move static and tftp servers to midlayer
  • Unexpose most of the cli pieces (app only)
  • Get rid of /bin/rscli and just call rscli.
  • Add unit tests and make sure things clean up
  • Comment out the patch tests for now, as they are now actively misleading
  • Add machines testing for patching on the backend
  • Add support for PATCH operations
  • Split mains into the cmds directory.
  • Add support for PATCH with jsonpatch
  • Update debian checksum
  • Fix string split with empty string
  • Add OptionalParams to bootenv so that other systems can
  • Add unit tests for exists
  • Sledgehammer gets to control.sh and does some stuff.
  • Add a ParamExists test for templates.
  • Discovery boots and goes through stage 1 setup
  • Missed a couple of To4() in respondFrom
  • Fix how we were identifying our server.
  • Oops, missed IPAPPEND 2 in discovery.
  • Rework DHCP server to be more flexible
  • Make --disable-provisioner refuse to start provisioner backends.
  • Fix the names for options to actual DHCP usage.
  • Expose params via the API
  • Add support on the backend for global default parameters.
  • Switch the name path look pieces to uuid so the swagger
  • Fix naked 400 status code.
  • Rename my test subnet to match the nic name
  • Make the frontend responsible for Machine UUID assignment.
  • Add prefs tests, and trim out lots of duplicate code in the frontend
  • Add backend preference tests
  • Create a Prefs API for setting runtime preferences
  • Rewrite all the bootenv .json files as .yml
  • Stop auto-loading bootenvs and templates for now.
  • remove logical error
  • Added basic bootenv editing capabilities
  • Fix how BootEnv.PathFor determines whether an install suffix is needed.
  • Fix up comments and add a warning to explode_iso.sh
  • Add support for expandind Sledgehammer tarballs to explode_iso.sh
  • Fix PathFor to properly handle OS names with a /
  • Ensure that the isos directory is created when an ISO is uploaded.
  • Always extract the default Provisioner assets.
  • Convert to minified versions of react
  • Fixed link css and iso hrefs
  • make header static, fix options copying
  • Move state from Subnet component to Subnets component, add remove functionality
  • Oops, make sure we render the paths as well
  • Precreate FileRoot and DataRoot
  • Switch to using embedded default ignore bootenv
  • Add embedded bootenv template support
  • Add better error loggin for explodeIso()
  • Add appropriate error responses for 422 errors
  • Fix logic that determines what path to look for bootenv things in
  • Oops, was not parsing bootenv templates on load properly
  • Add ISO and file upload to rscli
  • patch random bugs regarding inputs
  • add post/put functionality to rocket skates
  • rework how react works with inputs, re-arrange tables
  • moved rocket skates code gen to react
  • Remove a couple more unneeded files from the embedded assets
  • Make main responsible for extracting assets.
  • Zap unneeded stage creation code in install-sledgehammer.sh.
  • Change the logger to reflect the actual name of the service.
  • correct issues from @vlowther
  • provide handy link to docs in startup
  • mode UI behavior for CSS work
  • redirect root to ui
  • Add a CLI that uses the swagger generated pieces.
  • UI WIP mixing subnet and interfaces
  • Put the cli into rocket-skates and extract it into the files directory.
  • Add a CLI that uses the swagger generated pieces.
  • Remove extra test for lease renewal that is no longer needed.
  • Update DHCP request handling to account for a missing corner case.
  • FindLease can be simplified.
  • Fix logging for when we must NAK a lease.
  • Add swagger decorators for ISO API.
  • lookup subnet info and add to table
  • create list of bootenvs
  • Subnet needs to always have netmask and bcast address. Not really
  • Add handling for handing out existing leases in findViaSubnet
  • Add initial support for having the datatracker CRUD set the embedded backref to dataTracker
  • inital UI pass getting data from interfaces
  • minor user docs and hints
  • Additional tweaks to discovery bootenv to get farther.
  • Add the dynamic parts of discovery. Not sure this is great.
  • Add interface API to do initial configuration
  • Added full coverage to subnet lease creation tests.
  • Refactor how pickers work to make them quasi-composable.
  • Do have a permanent ALL-LICENSE. The build will build all the
  • Add the construction of an ALL-LICENSE file that includes
  • Enable explode iso and update docs to reflect current dependencies.
  • testing UI switch
  • allowing UI to be served from local files for dev
  • Fix test data to have some options
  • Update bootenvs to reference bootenvs correctly.
  • Add embedded assets for default pxe support.
  • Get findReservation to 100%, start on findSubnet
  • Refactor subnet IP finding routine to allow for multiple strategies
  • Add DataTracker.load(), only used for tests for now.
  • Fix panic in FindOrCreateLease
  • add doc.go for midlayer documentation
  • Add base templates and bootenvs to assets
  • Add small test for this directory.
  • Server IP check was reversed. Didn't match our own messages.
  • REmoving the HOST swagger line will allow apps to
  • inital stub
  • Add code to startup the DHCP server listening sockets.
  • Add tests for FindLease
  • When FindLease invalidates or removes a lease, don't return a lease.
  • Update cert/key pair and add more docs
  • Move test.sh file around
  • stub out sphinx docs
  • Add skeleton implementation of a DhcpHandler.
  • Fix swagger generated POST body requirement.
  • Add Lease, Reservation, User, and Subnet apis and unit tests.
  • Rework DHCP lease helpers to address decline loops.
  • Add a delay for static server to start.
  • Add functions for finding and creating Leases.
  • Make dtobjs responsible for returning a subset of what they hold.
  • Handle differences in bind errors across OSes
  • Make sure dir is present.
  • Add tftp and static tests
  • Add test for swagger.json query.
  • Update lease validation to refuse to create a Lease that is not associated with a Reservation or a Subnet
  • Add subnet range tests
  • Add test for bootenv, machines, and template frontend.
  • Fix typo in subnets.go error reporting.
  • Add basic create tests for Subnets
  • Add lease and reservation tests.
  • Start adding DHCP unit tests
  • Change in-memory storage for the DataTracker.
  • Rename DataTracker(Address|URL) back to Provisioner\1
  • Added renderData test coverage.
  • Update for recent changes in datatracker interface.
  • Convert datatracker usage to an interface.
  • Add removal tests for machines
  • Add machine validation create and update tests.
  • Add bootenv tests for reals
  • Add bootenv tests and generalize CRUD testing.
  • Make file return content better.
  • Add bootenv swagger pieces.
  • Aggregate tests in all directories with go code
  • Update codcov link
  • Add dataTracker extract files to startup.
  • Change the generate functions to run twice. Once to get
  • Travis-5
  • More travis updates
  • Clean up readme and change server defaults
  • Embed swagger-ui as a filesystem that gets served.
  • Swagger-ui and swagger.json stuff
  • Add more config and setup to actually server something.
  • Get all the generate code in place and update README
  • Remove redundant OnChange test from template.go
  • Add tmeplate lifecycle tests
  • Add password sanitization test to user testing.
  • Still doesn't work, but compiles
  • CLean and move things around. Start building pieces that
  • Remove vendor from git view
  • Remove autogenerated code.
  • Fix template import for bootenv, and hide some methods that should not be exposed.
  • Change the CRUD methods on DataTracker.
  • Add most of the rest of the hooks to implement template rendering for bootenvs
  • Add DataTracker persistence tests, and add basic user tests.
  • Start working on the DataTracker test stuff
  • Fix Error.Errorf
  • Add a blurb about go-bindata.
  • Copy over the backend code I had been working on
  • Update the README to include using Glide to pull vendored deps.
  • Regenerate auto-generated code for server and client
  • Update backends code to handle new Sub calls
  • Refactor provisioner backend to use the common store code
  • Update swagger.json and generate more code.
  • DOc update
  • Switch to json based file.
  • Update swagger.yml with slugs that give good names.
  • Update swagger.yml for input/output for all models
  • Add client info
  • Add code change to swagger-ui
  • Add notes about client and generation updates
  • Add and turn-on auth. basic auth, authorization header, and auth_token
  • Add a panic handler.
  • Fix paths to new location
  • Clean up read me and add more info
  • Add generated code.
  • Add some test-data for now.
  • Add DR code and customized file and swagger file.
  • first commit