Commit Graph

60 Commits

Author SHA1 Message Date
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
Gabe Ruttner
ee68786d69 feat: sticky workers (#695)
* wip

* wip: functional query

* feat: expose affinity config

* feat: add weight to proto

* feat: upsert affinity state on worker start

* fix: linting

* feat: add upsert proto

* feat: upsert handler

* feat: revise model

* fix: labels

* feat: functional desired worker

* wip: ui

* feat: add state to step run events

* fix: filter empty keys

* fix: labels as badges

* feat: empty state and descriptive text

* chore: add todo

* chore: whitespace

* chore: cleanup

* chore: cleanup

* chore: fix hash

* chore: squash migrations

* fix: fair worker assignment

* fix: remaining slots on valid desired workers

* wip: sticky

* fix: count slots

* chore: rm log line

* feat: expose sticky config

* wip: sticky dag

* feat: expose desired worker id to trigger

* feat: trigger on desired worker

* feat: typescript docs

* feat: sticky python

* feat: py sticky children

* wip: py affinity

* serverless note

* feat: complete python examples

* linting

* fix: doc link

* chore: rm debug log

* fix: simplify list labels

* fix: typo
2024-07-22 17:20:23 -04: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
8a8a033af6 feat: variable token expiration (#670)
* feat: variable token expiration

* fix: typo

* fix: long tokens for webhook workers

* fix: format
2024-07-01 15:47:32 +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
35979bea68 feat: disable signups (#643)
* feat: disable signups

* feat: ui and password

* merge main

* fix: disable allow oauth
2024-06-26 16:12:40 -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
207f1bbb08 feat: default email alert group (#547)
* feat: add next alert column

* feat: add notification templates

* feat: add poll token ticker

* fix: expiring 7 days

* fix: no expired tokens

* fix: subject string

* fix: message string

* fix: slack format

* feat: add config columns

* feat: expose api

* feat: update alerter opts

* feat: update ui

* chore: ui tweaks

* fix: ui tweaks

* Update internal/repository/tenant_alerting.go

Co-authored-by: abelanger5 <belanger@sas.upenn.edu>

* chore: comment

* fix: split emails

* fix: commit context

---------

Co-authored-by: abelanger5 <belanger@sas.upenn.edu>
2024-06-03 12:30:46 -04: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
1b607713e3 fix: worker active bug (#517)
* fix: only update most recent session

* feat: listener connect visibility

* fix: lint warning
2024-05-21 18:38:57 -04:00
abelanger5
0dd38e45f4 feat: make step run replays more intuitive (#507)
* feat: make step run replays more intuitive

* fix: npmrc file for vercel pnpm version diff

* fix: address changes from PR review
2024-05-17 17:32:15 -04: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
Gabe Ruttner
b728616161 feat: improve reassign and timeout behavior and visibility (#484)
* feat: create step run event

* fix: shorten reassign heartbeat

* feat: add reassign event

* feat: fail timeout instead of cancel

* chore: squash migration

* chore: clarify copy

* docs: improve timeouts doc

* chore: linting

* chore: generate

* fix: test

* fix: send cancellation signal on timeout failure

* fix: rm retry check

* chore: update migration for release

---------

Co-authored-by: Alexander Belanger <belanger@sas.upenn.edu>
2024-05-14 16:47:00 -04:00
Gabe Ruttner
48d06b931a feat: client releasable slots (#476)
* feat: add release slot proto

* feat: add semaphore release state and methods

* feat: go sdk and example

* docs: manual slot release

* chore: linting

* fix: broken test

* fix: unlink step run on manual release

* feat: release slot event

* fix: test

* fix: revert e2e test changes

* chore: remove debug line

* fix: place step run query in same tx

* fix: change migration release version

---------

Co-authored-by: Alexander Belanger <belanger@sas.upenn.edu>
2024-05-14 15:22:46 -04:00
Gabe Ruttner
8b392e30ea feat: workflow configuration view (#491)
* feat: add cron and schedule timeout to config

* feat: interpreted cron

---------

Co-authored-by: abelanger5 <belanger@sas.upenn.edu>
2024-05-13 18:05:04 -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
0daa62974a feat(frontend): basic list of child workflows (#293) 2024-03-29 14:07:39 -07: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
85d89886d3 feat: display concurrency settings on the UI (#236)
* feat: display concurrency settings on the UI

* feat: show triggering settings as well
2024-03-04 22:15:56 -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
Alexander Belanger
8d86f63300 add input schema to API 2024-02-09 12:43:04 -05:00
abelanger5
0aa7b782a1 feat: trigger workflows from the dashboard (#145) 2024-02-03 20:42:46 -05:00
abelanger5
c2ea09f375 feat: step reruns from the dashboard (#143) 2024-02-03 01:26:09 -05:00