Gabe Ruttner
44addbb47e
Feat scheduled improvements ( #992 )
...
* wip: stub schedule page
* wip: stub list
* fix: 2025 bug...
* feat: wip cron list
* feat: addl meta
* feat: expose metadata column
* feat: sort and created at
* cron to recurring
* scheduled: with statuses
* fix: links
* feat: expose schedule ids
* feat: delete run
* fix: remove search
* feat: filterable scheduled
* fix: remove broken features
* chore: lint
* rm metadata for now
* chore: lint
* chore: recurring to cron job
* fix: review comments
* fix: populator
2024-11-01 07:16:20 -04:00
abelanger5
b4c861d7a1
patch: release semaphore slots before jobs controller ( #927 )
...
* fix: don't need acks on queue checks
* patch: release semaphores early
* proper list on high queue depth
* fix: don't release on started
2024-10-02 11:36:05 -04:00
Gabe Ruttner
7d7e43d4e1
feat: pauseable workflows ( #879 )
...
* feat: pause workflow state
* feat: dont run paused workflows
* feat: skipped paused
* implement unpaused behavior for workflow runs
* fix: frontend
* fix: more frontend
* fix: imports
---------
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2024-09-29 10:58:10 -04:00
abelanger5
925b2654c8
feat: workflow run metrics view ( #912 )
...
* feat: add callbacks for workflow run completed
* add tenant id to resolve row
* add finishedBefore, finishedAfter to workflow runs query
* add more callbacks
* feat: tenant ids and loggers in callback
* feat: workflow run metrics frontend
* fix: frontend build
2024-09-27 07:38:15 -04:00
abelanger5
a1a10b4073
feat: dynamic rate limits ( #904 )
...
* wip: step run expressions on rate limits
* feat: dynamic rate limits
* chore: v0.47.0
* chore: address changes from PR review
* fix: improved error handling
* address pr review
* better error messages for step run cels, remove debug logs
* fix: hash
---------
Co-authored-by: gabriel ruttner <gabriel.ruttner@gmail.com >
2024-09-26 22:00:34 +00:00
Sean Reilly
5811929928
feat: bulk inserts of events ( #887 )
...
* progress commit of bulk inserts
* in_flight: Add changes to metering finish the bulk insert
* remove an attempt to overide enforce limits
* merge in PR fixes
* update docs to add in an additional section in the User guide to describe pushing single events and pushing multiple events
* run lint fix
---------
Co-authored-by: Sean Reilly <sean@hatchet.run >
2024-09-23 09:19:39 -07:00
Sean Reilly
15c50f46b5
Partial PR - need to generate SDK - Add endpoint to get the total free worker slots for a worker and the … ( #857 )
...
* Add endpoint to get the total free worker slots for a worker and the max runs
* update to use WorkerSempahoreCount instead of checking stepRunId
* modify the query for the new table and change the interface
* bump golangci-lint make changes to name of returned data
* revert the simple example
---------
Co-authored-by: Sean Reilly <sean@hatchet.run >
2024-09-19 10:11:16 -07:00
Gabe Ruttner
af9ed49f1e
fix: events list view ( #878 )
...
* fix: filter by event id
* fix: run count
* feat: filter by id api
* feat: filter by Event Id
* chore: default page is runs
* feat: cancel event runs
---------
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2024-09-16 16:46:31 +00:00
Gabe Ruttner
c64c62f66a
feat: improved workflow run details page ( #821 )
...
* wip: rip prisma
* wip
* wip
* fix: lint
* wip
* wip
* gen
* wip
* wip
* fix trigger
* hide overview
* revert db changes
* feat: wrap up frontend changes and perf
* chore: generate
* chore: frontend build
* fix: workflow transformer
* fix: avoid race conditions on simultaneous parent completions
* fix: 2025 started
* feat: toast for replay/cancel
* fix: toast
---------
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2024-09-16 15:39:49 +00:00
Gabe Ruttner
460438ab22
fix: tag ( #862 )
2024-09-10 09:31:39 -07:00
abelanger5
891514b461
feat: queue v4 ( #842 )
...
* wip: v4 of queue
* fix: correct query for updating counts
* tmp: save migration files
* feat: wrap up initial queue
* fix compilation
* fix: reassigns
2024-09-06 16:12:22 -04:00
Gabe Ruttner
53be615d5f
Enhancement webhook usability ( #807 )
...
* feat: secret copier
* feat: improved form
* fix: quotes
* wip: improved flow
* feat: health check logging
* fix: page design
* fix: hard delete, no upsert
* fix: reset modal state
* fix: empty text
* fix: worker state
* fix: update only token
* fix: dont delete name
* fix: logs component
* fix: sort order
* chore: build
* fix: webhook worker cleanup
* chore: squash migrations
* Update api-contracts/openapi/paths/webhook-worker/webhook-worker.yaml
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
* chore: rename
* fix: wrong query
---------
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
2024-08-23 10:09:09 -04:00
abelanger5
84f7334a06
feat: add windows for metrics and selector ( #794 )
...
* feat: add windows for metrics and selector
* better placeholder
2024-08-20 15:29:32 +00:00
Gabe Ruttner
4ea4712d4d
refactor: performance and throughput ( #756 )
...
Refactors the queueing logic to be fairly balanced between actions, with each action backed as a separate FIFO queue. Also adds support for priority queueing and custom queues, though those aren't exposed on the API layer yet. Improves throughput to be > 5000 tasks/second on a single queue.
---------
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2024-08-12 14:38:47 +00:00
abelanger5
a245151d91
feat: add workflow kind to workflow versions ( #750 )
...
* feat: support workflow kinds
* chore: generate
2024-07-29 12:07:34 -07:00
abelanger5
c0b01f1b9b
fix: workflow runs replays and show workflow run input ( #744 )
2024-07-25 17:35:10 +00:00
abelanger5
a5724fc4f9
feat: replay workflow runs ( #732 )
...
* feat: replay workflow runs
* address pr review changes
2024-07-18 08:05:15 -07:00
Gabe Ruttner
38a4ce647d
feat: improved workflow runs list ( #723 )
...
* feat: add duration to wfr
* chore: generate
* feat: sort order
* feat: add column visibility toggle
* chore: gen
2024-07-15 18:05:57 -04:00
Gabe Ruttner
461eda194a
feat: worker paused state ( #677 )
...
* feat: worker paused state
* feat: ui
* fix: comment
2024-07-01 18:44:12 +00:00
Gabe Ruttner
68176b725c
feat: list step run archives ( #648 )
...
* feat: query
* feat: api
* fix: import
* fix: include tenant in query and count
* feat: archives in event list
* feat: ui improvements
* fix: collapsible
* fix: build
2024-06-26 16:40:23 -04:00
Gabe Ruttner
dc2b544ba8
fix: stub ( #651 )
2024-06-26 13:37:32 -04:00
Luca Steeb
1490d88954
feat: webhook workers ( #542 )
...
Adds serverless support via the concept of webhook workers. Allows any webhook to be registered as a serverless endpoint for executing a step.
2024-06-25 17:06:43 -04:00
Gabe Ruttner
697757879f
feat: billing ( #624 )
...
* feat: init lago client
* feat: billable meter
* feat: db persistence
* wip: expose sub
* feat: rename page
* wip: billing section
* wip: lago integration
* feat: separate plan and period
* wip: webhook
* feat: improve empty state
* feat: update limits on plan changes
* feat: can change plans
* feat: change plan loading state
* feat: yearly filter
* feat: billing clarification
* fix: treatment
* feat: filter plans
* feat: prevent non-owner from changing plan
* fix: loading state
* fix: jit portal link
* fix: rm import
* fix: build errors
* fix: default to free
* fix: wrong files
* fix: select or insert customer
* fix: note
* feat: upgrade dependent on payment method state
* fix: dedupe
* chore: remove github-app from core
* chore: port to cloud
* chore: port to cloud
* chore: port to cloud
* chore: port to cloud
* chore: port to cloud
* add new components, repository callbacks
* chore: rm unused packages
* chore: fix generation
* chore: gen
* fix: cloud api references
* debug
* debug
* fix: actually set plans
* chore: rm debug
* fix: build
* feat: callbacks
* fix: add generated code
* chore: group cloud components
* chore: group by feature
* feat: alert change
* feat: confirm
* fix: confirm modal
* fix: ui
* fix: remove arrears
* fix: open in same tab
* fix: wan alert
* fix: call the callback
* fix: callback obj
* fix: disable if no cloud meta
---------
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2024-06-25 13:57:16 -04:00
abelanger5
37c0f6549c
feat: add endpoint to REST API for creating an event, add UI for creating an event ( #616 )
...
* feat: add create event to rest api
* fix: ingestor usage
* feat: add create event to the UI
* fix: address PR review
2024-06-19 19:53:27 +00:00
abelanger5
a9fa824d37
feat: add endpoint for listing queue metrics ( #615 )
...
* wip: create openapi endpoint for queue metrics
* feat: add queue metrics api
2024-06-19 14:43:01 -04:00
Gabe Ruttner
bbc4e58dd9
feat: limits ( #559 )
...
* feat: workflow run limits
* fix: resource exhausted 429
* feat: event limit
* feat: worker limit
* fix: sensible error
* fix: pb
* feat: expose limits api
* feat: default limits
* feat: add enable alert option
* feat: slack and email alerts
* fix: cron interval
* feat: make metered util
* wip: schedules and crons
* chore: squash migration
* fix: select or insert
* fix: remove unfinished meter
* chore: atlas migration
* fix: template format
* fix: shared ErrResourceExhausted
* feat: cache
* fix: limit can be nil
* fix: clarification
* fix: close meter ticker
* fix: friendly error for child workflows
2024-06-07 10:57:57 -07:00
Gabe Ruttner
b067744149
feat: delete tenant member ui ( #518 )
...
* feat: delete user ui
* fix: review feedback
* chore: generic confirm
* chore: generate
2024-05-23 06:43:11 -07:00
Gabe Ruttner
e6617e1381
feat: refresh timeout ( #495 )
...
* feat: show timeout on step run
* feat: refresh timeout
* fix: increment timeout from last time
* feat: add step run event for timeout refresh
* chore: generate
* feat: add refreshing timeouts docs section
* chore: linting
* feat: go client
* chore: generate
* chore: generate
* fix: test context
* chore: generate
* fix: rm txn
* fix: validator
* chore: lint
---------
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2024-05-16 12:23:36 -04:00
Gabe Ruttner
a37ee57cc1
feat: workflow run cancel ( #489 )
...
* feat: workflow run cancel endpoint
* feat: cancel all running button
* feat: select and cancel runs
* chore: error handling
* fix: remove ani
* fix: error toast
* chore: gen
* fix: feedback
* fix: redundant method
* Update frontend/app/src/pages/main/workflow-runs/$run/index.tsx
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
* fix: response obj
* fix: cancel by job run
* fix: lint
* chore: generate
---------
Co-authored-by: abelanger5 <belanger@sas.upenn.edu >
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2024-05-14 17:47:30 -04:00
abelanger5
1a8f1d8cab
feat: events view for step runs ( #479 )
...
* feat: events view for step runs
* chore: regen migration
* chore: address pr review changes
2024-05-09 18:25:23 -04:00
abelanger5
b50ed62924
feat: alerting from slack and email ( #461 )
...
* feat: alerting. implements slack alerting, email, and refactors tenant settings to make them more manageable
* chore: generate
* chore: generate sqlc after migrate
2024-05-08 10:04:58 -04:00
Gabe Ruttner
fa07400159
feat: event and workflow run metadata ( #446 )
...
Adds additional user-defined metadata to events and workflow runs.
2024-05-06 17:10:33 -04:00
Gabe Ruttner
2b910a89de
feat: improved optional product analytics ( #452 )
...
* feat: add fe posthog config
* feat: add fe posthog to metadata endpoint
* feat: dynamically load ph on fe
* feat: add analyticsOptOut to tenant db
* feat: respect opt out
* feat: update tenant settings
* feat: mask all text
2024-05-05 18:14:27 -04:00
Gabe Ruttner
81824cd3c7
feat: in app support ( #433 )
...
* feat: add pylon config
* feat: expose pylon app id in meta
* feat: expose hashed user email
* feat: update contracts
* fix: optional security
* feat: pylon support chat
* chore: rm debug ln
2024-04-30 16:10:16 -04:00
Gabe Ruttner
1b79c09c94
Feat improved visibility ( #425 )
...
* feat: expose worker state
* feat: improved worker list and details
* fix: child workflow run refresh
* feat: workflow run metrics
* fix: line breaks in errors
* chore: generate
* fix: review requests
* chore: fix protoc version
2024-04-26 07:33:53 -07:00
Gabe Ruttner
eb23e6916d
feat: improved lists ( #383 )
...
* fix: only close sm
* chore: linting
* feat: filter by workflow run status
* feat: radio filter
* feat: filter run by workflow
* fix: rm unused status
* chore: rm comment
* chore: refactor workflow run table
* fix: visibility state
* feat: visibility and reload
* chore: linting
* chore: shared table component
* chore: linting
* chore: clarify nav
* feat: link to workflow dfn
* chore: share workflow run table
* chore: linting
* wip: parent link
* feat: data table card rendering
* feat: expose manual table control
* feat: data table workflow list
* feat: workflow list actions
* feat: worker actions
* fix: toolbar for any option
* fix: rm search
* fix: rm bad filter func
* chore: linting
* fix: link card title
* fix: rm updated at for now
* fix: gen
2024-04-18 13:35:02 -07:00
abelanger5
f16a9cd0dc
feat: add github sso to dashboard ( #373 )
2024-04-11 15:32:12 -04:00
abelanger5
334ce758ec
feat: queued metrics, along with bug fixes for round robin queueing ( #340 )
2024-04-04 17:45:10 -04:00
Gabe Ruttner
0da379e423
feat(dashboard): improve dashboard settings for user and tokens ( #275 )
...
* feat: expires at as Date
* wip: change passwords
* feat: user can change their password
* chore: cleanup
* chore: linting
* chore: fix build issue
* fix: protoc version
* chore: resolve feedback
* fix: ref
* fix: password inputs
* chore: update generated
* fix: update respository
* feat: only show change password if user has password
* fix: linting
* fix: validation string
* chore: regen api
---------
Co-authored-by: gabriel ruttner <gabe@hatchet.run >
2024-04-02 12:50:20 -04:00
Gabe Ruttner
5066547ce6
feat: cancel in progress ( #325 )
...
* chore: bad project path
* fix: remove tickerId for replay
* feat: cancel from request
* feat: cancel button in UI
* chore: rm comment
* fix: build error
* chore: reason case
* chore: reason string
* fix: linting
---------
Co-authored-by: gabriel ruttner <gabe@hatchet.run >
2024-04-02 01:16:27 +00:00
abelanger5
ad9e9aedbf
feat(engine/api): implementation of child/parent workflow runs ( #292 )
2024-03-29 14:07:39 -07:00
abelanger5
70a05f86cf
feat: contracts for spawn/join feature ( #290 )
...
* feat: contracts for spawn/join feature
* add parent step run ids to model
* add parent ids to schedule request
2024-03-29 14:07:39 -07:00
abelanger5
38688adce5
feat: sns integrations from frontend ( #249 )
2024-03-07 18:52:08 -05:00
abelanger5
d3534edc4c
fix: parse schema in API, not engine ( #233 )
...
* no schema parsing in core engine
* fix: parse schema in api, not engine
* fix: parsing of input schema should not use json keys as field names
2024-03-04 18:39:54 -05:00
abelanger5
c4fc355805
feat: events list filtering by status ( #232 )
2024-03-04 17:10:44 -05:00
abelanger5
043f23e2a3
feat: support ingestion from SNS ( #231 )
2024-03-04 16:52:45 -05:00
abelanger5
f256b258d8
feat: logging from step run executions ( #217 )
...
* fix: job cancellations with shared ctx
* fix: found the bug
* fix: all job runs were getting cancelled
* feat: support logging from executions
* fix: place logging in background
* add back split screen
2024-03-01 17:55:31 -05:00
Luca Steeb
4bd1b6f2ec
feat(api): add healthcheck routes ( #191 )
2024-03-01 23:48:10 +07:00
Alexander Belanger
0f47188c09
feat: github app integration with playground
2024-02-18 21:39:29 -05:00
abelanger5
3743746657
feat: github app integration ( #163 )
...
* feat: github app integration
* chore: proto
* fix: migrate instead of push
* fix: db migrate -> migrate
* fix: migrate again
* remove skip-generate
* add back generate
* setup pnpm
2024-02-13 21:34:16 -05:00