1
0
mirror of synced 2026-01-14 12:07:57 -05:00
Commit Graph

132 Commits

Author SHA1 Message Date
Jimmy Ma
c6b8279386 Add dependencies to docker-compose (#19321)
* Revert "Revert "Add dependencies to docker-compose (#19257)" (#19306)"

This reverts commit b16f28fd4d.

* Bump docker-compose version

* test

* Revert "test"

This reverts commit c3b28c9ec3.

* Bump docker compose version to 3.8

* test

* test

* Use a newer docker for platform build

* test

* Use docker compose v2

* Update docker for frontend e2e

* Use docker compose v2 for e2e tests

* Update tools to use docker compose v2

* Update more docker compose references to v2

* Update docker compose usage in docs

* Update deploying airbyte docs

* Fix permission

* Case insensistive check

* Add extra mention for docker compose in upgrading airbyte

* Improve upgrade docker note
2023-01-12 10:41:00 -08:00
Jonathan Pearlin
7676af5f5f Migrate airbyte-bootloader to Micronaut (#21073)
* Migrate airbyte-bootloader to Micronaut

* PR feedback

* More PR feedback

* Rename variable for clarity

* Add properties to support cloud

* Formatting

* Use default values for env vars

* Re-organization to support cloud overrides

* Disable conditional logging

* More singleton cleanup

* test: try CI without fluentbit

* Revert "test: try CI without fluentbit"

This reverts commit 8fa0f74106.

* test: enable SSH on EC2 runner

* Revert "test: enable SSH on EC2 runner"

This reverts commit e4867aae09.

* Avoid early database connection on startup

* Fix compile issues from refactor

* Formatting

Co-authored-by: perangel <perangel@gmail.com>
2023-01-12 09:47:25 -05:00
Benoit Moriceau
9adb63cc0b Revert "Revert Convert the server to micronaut" (#21133)
* Revert "Revert "Convert the server to micronaut (#19194)" (#21132)"

This reverts commit 31c65f8eea.

* Fix the cors

* Fix cloud
2023-01-09 10:52:19 -08:00
Benoit Moriceau
31c65f8eea Revert "Convert the server to micronaut (#19194)" (#21132)
This reverts commit 0b153d11f9.
2023-01-06 15:08:22 -06:00
Benoit Moriceau
0b153d11f9 Convert the server to micronaut (#19194)
* Extract Operation API

* Extract scheduler API

* Format

* extract source api

* Extract source definition api

* Add path

* Extract State API

* extract webbackend api

* extract webbackend api

* extract workspace api

* Extract source definition specification api

* Remove configuration API

* tmp

* Checkstyle

* tmp

* tmp

* Inject but don't resolve Bean

* tmp

* Tmp

* fix build

* TMP

* Tmp

* Clean up

* better thread pool

* Change port to 8080

* Fix port

* Rm unused

* Cors filter

* Format

* rename

* Tmp

* Config based

* Rm health controller ref

* tmp

* Pool size

* Mock healthcheck

* Revert "Mock healthcheck"

This reverts commit 466677636b.

* Revert "Revert "Mock healthcheck""

This reverts commit 267094ae14.

* Restore health check

* Tmp

* format

* Rm deprecated

* Fix PMD

* Tmp

* Fix proxy test

* Remove useless annotation

* set auto commit as false

* Clean up and PR comments

* Bmoric/convert attempt micronaut (#19847)

* tmp

* Fix build

* tmp

* Tmp

* tmp

* tmp

* Tmp

* tmp

* tmp

* Clean up

* Comments and banner

* Non related files

* rm tmp

* Fix build

* Format

* Hit the micronaut server directly

* micronaut OperationApiController (#20270)

* micronaut OperationApiController

* pass micronaut client to OperationApi

* Bmoric/convert connection micronaut (#20211)

* tmp

* Fix build

* tmp

* Tmp

* tmp

* tmp

* Tmp

* tmp

* tmp

* Clean up

* tmp

* Convert Connection Api Controller

* PR Comments

* convert openapiapicontroller to micronaut (#20258)

* convert openapiapicontroller to micronaut

* merge health/openapi locations into one entry

* Fix build

* Format

* Remove media type

* Format

Co-authored-by: Cole Snodgrass <cole@airbyte.io>

* Bmoric/convert destination controller micronaut (#20269)

* tmp

* Fix build

* tmp

* Tmp

* tmp

* tmp

* Tmp

* tmp

* tmp

* Clean up

* tmp

* Convert Connection Api Controller

* Tmp

* PR Comments

* convert openapiapicontroller to micronaut (#20258)

* convert openapiapicontroller to micronaut

* merge health/openapi locations into one entry

* Fix bean

* Add JsonSchemaValidator as a Bean

* Fix build

* Format

* Format

* Test fix

* Pr comments

* Remove media type

* Format

* Remove media type

* Format

* format

* Add missing airbyte api client

Co-authored-by: Cole Snodgrass <cole@airbyte.io>

* Bmoric/convert destination definition controller micronaut (#20277)

* tmp

* Fix build

* tmp

* Tmp

* tmp

* tmp

* Tmp

* tmp

* tmp

* Clean up

* tmp

* Convert Connection Api Controller

* Tmp

* PR Comments

* convert openapiapicontroller to micronaut (#20258)

* convert openapiapicontroller to micronaut

* merge health/openapi locations into one entry

* Fix bean

* Add JsonSchemaValidator as a Bean

* Fix build

* Format

* Format

* Test fix

* Pr comments

* Remove media type

* Format

* Remove media type

* Format

* Remove media type

* Format

* api client

* missing annotation

* format

Co-authored-by: Cole Snodgrass <cole@airbyte.io>

* convert StateApiController to Micronaut (#20329)

* convert to micronaut

* nginx updates

* format

* Move dest oauth to micronaut (#20318)

* tmp

* Fix build

* tmp

* Tmp

* tmp

* tmp

* Tmp

* tmp

* tmp

* Clean up

* tmp

* Convert Connection Api Controller

* PR Comments

* convert openapiapicontroller to micronaut (#20258)

* convert openapiapicontroller to micronaut

* merge health/openapi locations into one entry

* Fix build

* Format

* Remove media type

* Format

* Move dest oauth to micronaut

* Pr comments

* format

Co-authored-by: Cole Snodgrass <cole@airbyte.io>

* Bmoric/convert source micronaut (#20334)

* tmp

* Fix build

* tmp

* Tmp

* tmp

* tmp

* Tmp

* tmp

* tmp

* Clean up

* tmp

* Convert Connection Api Controller

* PR Comments

* convert openapiapicontroller to micronaut (#20258)

* convert openapiapicontroller to micronaut

* merge health/openapi locations into one entry

* Fix build

* Format

* Remove media type

* Format

* Tmp

* tmp

* Build

* missing bean

* format

Co-authored-by: Cole Snodgrass <cole@airbyte.io>

* Migrate to micronaut (#20339)

* Migrate source to micronaut

* convert SchedulerApiController to Micronaut (#20337)

* wip; SchedulerApiController

* remove @Named

* remove @Singleton

* add back todo message

* Bmoric/convert source definition micronaut (#20338)

* tmp

* Fix build

* tmp

* Tmp

* tmp

* tmp

* Tmp

* tmp

* tmp

* Clean up

* tmp

* Convert Connection Api Controller

* PR Comments

* convert openapiapicontroller to micronaut (#20258)

* convert openapiapicontroller to micronaut

* merge health/openapi locations into one entry

* Fix build

* Format

* Remove media type

* Format

* Tmp

* tmp

* Build

* missing bean

* Tmp

* Add Beans

* fix Bean

* Add passthrough

* Clean up

* Missing path

* FIx typo

* Fix conflicts

* for mat

Co-authored-by: Cole Snodgrass <cole@airbyte.io>

* update SourceOauthApiController to Micronaut (#20386)

* convert SourceOauthApiController to Micronaut

* remove SourceOauthApi reference

* convert WorkspaceApiController to micronaut (#20214)

* wip; broken

* convert WorkspaceApiController to micronaut

* remove test controller

* format

* format

* add @Body to SourceOauthApiController

* consolidate nginx settings

* remove unnecessary factories

* Bmoric/convert jobs micronaut (#20382)

* Convert jobs to micronaut

* Nit

* Format

* Bmoric/convert source definition specification micronaut (#20379)

* Migrate source definition specifications to micronaut

* Format

* Format

* convert database assert call to Micronaut (#20406)

* remove dupe config section; add DatabaseEventListener

* move eventlistner to correct package; update implementation

* convert NotificationsApiController to Micronaut (#20396)

* convert NotificationsApiController to Micronaut

* format

* Migrate logs to micronaut (#20400)

* Bmoric/convert webbackend micronaut (#20403)

* Convert jobs to micronaut

* Nit

* Format

* Migrate the webbackend to micronaut

* Add missing Bean

* Cleanup (#20459)

* Cleanup

* More cleanup

* Disable in order to test cloud

* Restore missing files

* Fix test

* Format and fix pmd

* Add transactional

* Fix version

* Tentative

* Cleanup the cleanup

* Rm reference to the micronaut server

* format

* pmd

* more pmd

* fix build

* Delete logs API

* Revert "Delete logs API"

This reverts commit fcb271dcdf.

* Rm flaky test

* Format

* Try to fix test

* Format

* Remove optional

* Rm import

* Test sleep

* Simplify injection

* update import

* Remove sleep

* More injection

* Remove more requirement

* imports

* Remove more requirement

* Fix yaml

* Remove unused conf

* Add role

* Test acceptance test

* Update env

* Revert "Update to Micronaut 3.8.0 (#20716)"

This reverts commit a28f93747f.

* Update helm chart

* Fix helm chart

* Convert Application Listener

* Format

* Add explicit deployment mode

* Change check port

* Update version and bump version to the right value

* Cleanup

* Update FE end to end test

* Allow head request

* Fix controller

* Format

* Fix http client Bean

* Format

Co-authored-by: Cole Snodgrass <cole@airbyte.io>
2023-01-06 11:04:03 -08:00
Michael Siega
6130a54795 pass workspace id to sync workflow and use it to selectively enable field selection (#20589)
* pass workspace id to sync workflow and use it to selectively enable field selection

* fix tests around workspace id in job creation

* make sure field selection environment variables get passed through properly

* clean up handling around field selection flags

* debug logging for field selection

* properly handle empty field selection feature flag

* fix pmd

* actually fix pmd
2023-01-03 23:30:35 +00:00
Marcelo Castro
2dbbe655b7 Airbyte-Proxy: Added a variable to control timeout (#19493)
* Added a default proxy timeout of 5min

* Changed proxy timeout to be a .env variable

* Update docs/operator-guides/configuring-airbyte.md

Co-authored-by: Evan Tahler <evantahler@gmail.com>

* Changed file permissions

Co-authored-by: Evan Tahler <evantahler@gmail.com>
Co-authored-by: Nataly Merezhuk <65251165+natalyjazzviolin@users.noreply.github.com>
Co-authored-by: Marcos Marx <marcosmarxm@users.noreply.github.com>
2022-12-12 11:04:41 -03:00
toandm
3f8ba457ca Add restart to airbyte/proxy (#19791)
Fix issue #19790
2022-11-29 15:42:59 -08:00
Anne
14a29a0542 Auto Detect Schema Change environment variable (#19312)
* auto detect schema environment variable
2022-11-28 09:57:41 -08:00
Alexandre Girard
47bf2b049c Add connector builder server to airbyte proxy, kube overlays, and helm charts (#19554) 2022-11-21 15:07:13 -08:00
Lake Mossman
684fbff12f Enable the Connector Builder server in the platform (#19269)
* init

* bad copy/paste

* move to top level

* Revert "move to top level"

This reverts commit aca3534d38.

* attempt to wire up connector builder frontend to server

* copy from octaviacli

* fix connection to builder server

* update

* delete

* Update

* delete python-version

* Revert "delete python-version"

This reverts commit f9258a7755.

* setup python

* install python

* rename

* kube stuff

* Install python

* missing kube file

* rename

* Update files

* Update bumpversion

* install python

* try with different entrypoint

* rename container

* point to docker-compose.yaml file

* derp

* copy acceptance_test.sh

* copy from acceptance tests

* delete cruft

* update

* remove application env

* reset

* reset to master

* update

* skip comprehensive incremental tests

* Revert "skip comprehensive incremental tests"

This reverts commit 9cee657596.

* reset to master

* remove cruft

* readme

* readme

* save

* buncha stuff

* it works

* improvements

* comment

* codesnippet

* delete superfluous steps

* update port to 8003

* reset to master

* Update publish docker

* move openapi spec to airbyte-connector-builder

* point to openapi spec

* dont expose the connector builder to localhost

* reset FE components to master

* Don't deploy the connector-builder

* Revert "Don't deploy the connector-builder"

This reverts commit 3d157494cf.

* Revert "Revert "Don't deploy the connector-builder""

This reverts commit beac3d48f0.

* comment out more things related to connector builder server

* more attempts at removing the connector builder

* comment out more things

* Update airbyte-connector-builder/README.md

Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>

* fixes

* rename gradle task

* save

* copyright header

* Apply suggestions from code review

Co-authored-by: Lake Mossman <lake@airbyte.io>

* Update airbyte-webapp/src/config/configProviders.ts

Co-authored-by: Lake Mossman <lake@airbyte.io>

* update

* rename

* indent

* Revert "move openapi spec to airbyte-connector-builder"

This reverts commit 57dda04723.

* Revert "rename"

This reverts commit b2d802b8fa.

* Revert "Revert "rename""

This reverts commit 91db24fd4a.

* point to wrong file in case it fixes the build

* point to right openapi file

* Revert "Revert "move openapi spec to airbyte-connector-builder""

This reverts commit e46a837454.

* point to moved file

* fix path

* Update from master

* newline

* Add failing test

* Revert "Add failing test"

This reverts commit ed9fea09b5.

* comment

* update commented requires

* Add a comment

* comments

* save

* formatting is for losers anyways

* pyproject

* toml

* toml

* saved

* nice

* anothaone

* fmt

* fixmypy

* fix autogen notice header location

* improvecomment

* save working branch

* fmt

* delete license and disable caching

* removeyaml

* fix merge and uncomment flakeCheck

* undo css change

* fix typo

* format

* enable CORS

* move template to backend server

* try adding connector builder server to 'generate-docker' task to see if it fixes CI

* try adding buildDockerImage task

* try adding gradle.properties

* Revert "try adding buildDockerImage task"

This reverts commit 2102009ddb.

* Revert "try adding connector builder server to 'generate-docker' task to see if it fixes CI"

This reverts commit 40b5ae0fcd.

* process detail in apiOverride

* fix gradle

* fix scrollbars

* Run connector builder server tests and static analysis from a docker container (#19495)

* Revert "try adding buildDockerImage task"

This reverts commit 2102009ddb.

* Revert "try adding connector builder server to 'generate-docker' task to see if it fixes CI"

This reverts commit 40b5ae0fcd.

* missing file

* build airbyte-connector-builder-server image

* Add .

* comment

* build connector builder server as part of octavia_cli

* build connector builder too

* patch

* missing file

* comment

* comment

* run unit tests in a container

* Run integration tests

* run

* move to platform build

* format

* rootdir

* get the path from the project

* Update

* pyproject

* delete a bunch of code

* parameterize

* run tests

* update

* rename

* comment

* reset

* uncomment

* dont format

* run everything except isort

* delete dead code

* Revert "delete dead code"

This reverts commit b11df716a0.

* comment

* Update module

* reset to master

* mount in home

* commit formatted files

* try running format

* Better comment

* reset

* Revert "reset"

This reverts commit 20808f8262.

* Update buildSrc/src/main/groovy/airbyte-python-docker.gradle

Co-authored-by: Sherif A. Nada <snadalive@gmail.com>

* comment

* Add everything except build and hidden directories

* symlink

* Update airbyte-connector-builder-server/run_format.sh

Co-authored-by: Sherif A. Nada <snadalive@gmail.com>

* Update airbyte-connector-builder-server/run_tests.sh

Co-authored-by: Sherif A. Nada <snadalive@gmail.com>

Co-authored-by: Sherif A. Nada <snadalive@gmail.com>

Co-authored-by: Alexandre Girard <alexandre@airbyte.io>
Co-authored-by: sherifnada <snadalive@gmail.com>
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
2022-11-17 19:44:45 -08:00
Anne
fdb96d0a63 Notifications Workflow (#18735)
* notification workflow
2022-11-15 13:58:30 -08:00
Jimmy Ma
b16f28fd4d Revert "Add dependencies to docker-compose (#19257)" (#19306)
This reverts commit 0ee55af020.
2022-11-10 12:48:21 -08:00
Jimmy Ma
0ee55af020 Add dependencies to docker-compose (#19257) 2022-11-10 11:11:32 -08:00
Alexandre Girard
64b50adfdd Connector-builder server stub (#18410)
* init

* bad copy/paste

* move to top level

* Revert "move to top level"

This reverts commit aca3534d38.

* attempt to wire up connector builder frontend to server

* copy from octaviacli

* fix connection to builder server

* update

* delete

* Update

* delete python-version

* Revert "delete python-version"

This reverts commit f9258a7755.

* setup python

* install python

* rename

* kube stuff

* Install python

* missing kube file

* rename

* Update files

* Update bumpversion

* install python

* try with different entrypoint

* rename container

* point to docker-compose.yaml file

* derp

* copy acceptance_test.sh

* copy from acceptance tests

* delete cruft

* update

* remove application env

* reset

* reset to master

* update

* skip comprehensive incremental tests

* Revert "skip comprehensive incremental tests"

This reverts commit 9cee657596.

* reset to master

* remove cruft

* delete superfluous steps

* update port to 8003

* reset to master

* Update publish docker

* move openapi spec to airbyte-connector-builder

* point to openapi spec

* dont expose the connector builder to localhost

* reset FE components to master

* Don't deploy the connector-builder

* Revert "Don't deploy the connector-builder"

This reverts commit 3d157494cf.

* Revert "Revert "Don't deploy the connector-builder""

This reverts commit beac3d48f0.

* comment out more things related to connector builder server

* more attempts at removing the connector builder

* comment out more things

* Apply suggestions from code review

Co-authored-by: Lake Mossman <lake@airbyte.io>

* Update airbyte-webapp/src/config/configProviders.ts

Co-authored-by: Lake Mossman <lake@airbyte.io>

* update

* rename

* indent

* Revert "move openapi spec to airbyte-connector-builder"

This reverts commit 57dda04723.

* Revert "rename"

This reverts commit b2d802b8fa.

* Revert "Revert "rename""

This reverts commit 91db24fd4a.

* point to wrong file in case it fixes the build

* point to right openapi file

* Revert "Revert "move openapi spec to airbyte-connector-builder""

This reverts commit e46a837454.

* point to moved file

* fix path

* Update from master

* newline

* Add failing test

* Revert "Add failing test"

This reverts commit ed9fea09b5.

* comment

* update commented requires

* Add a comment

* 2022

* rename to connector-builder-server

* typo

Co-authored-by: lmossman <lake@airbyte.io>
2022-11-09 13:07:26 -08:00
Evan Tahler
3d053e32ee Use Nginx + Basic Auth to secure OSS Airbyte (#17694)
* Use Nginx + Basic Auth to secure OSS Airbyte

* use local passwords

* Use gradle builds

* K8s setup and source values from ENV

* note about disabling

* add back defaults

* custom 401 page

* update http message

* update docs

* remove kube files

* additional doc updates

* Add a test suite

* fix failure exit codes

* doc updates

* Add docs

* bump to re-test

* add more sleep in tests for CI

* better sleep in test

* Update docs/operator-guides/security.md

Co-authored-by: Davin Chia <davinchia@gmail.com>

* PR updates

* test comment

* change test host on CI

* update tests and nginx to boot without backend

* proxy updates for docker DNS

* simpler test for uptime

* acceptance test skips PWs

* remove resolver madness

* fixup tests

* more proxy_pass revert

* update acceptance test exit codes

* relax test expectations

* add temporal mount back for testing

* Update docs/operator-guides/security.md

Co-authored-by: swyx <shawnthe1@gmail.com>

* Update airbyte-proxy/401.html

Co-authored-by: swyx <shawnthe1@gmail.com>

* more doc updates

* Octavia CLI uses Basic Auth  (#17982)

* [WIP] Octavia CLI uses Basic Auth

* readme

* augustin: add basic auth headers to clien

* augustin: add basic auth headers to client

* tests passing

* lint

* docs

* Move monkey patch to test

* coerce headers into strings

* monkey patch get_basic_auth_token

Co-authored-by: alafanechere <augustin.lafanechere@gmail.com>

* fix launch permissions

* Keep worker port internal

* more readme

Co-authored-by: Davin Chia <davinchia@gmail.com>
Co-authored-by: swyx <shawnthe1@gmail.com>
Co-authored-by: alafanechere <augustin.lafanechere@gmail.com>
2022-10-19 15:52:01 -07:00
Benoit Moriceau
260ab6bdea Move the port forward outside of the main docker-compose (#17864) 2022-10-17 12:59:28 -07:00
Benoit Moriceau
7a71c55c1f Bmoric/remove dep server worker (#17894)
* test [ci skip]

* Autogenerated files

* Add missing annotation

* Remove unused json2Schema block from worker

* Move tess

* Missing deps and format

* Fix test build

* TMP

* Add missing dependencies

* PR comments

* Tmp

* [ci skip] Tmp

* Fix acceptance test and add the seed dependency

* Fix build

* For diff

* tmp

* Build pass

* make the worker to be  on the platform only

* fix setting.yaml

* Fix pmd

* Fix Cron

* Add chart

* Fix cron

* Fix server build.gradle

* Fix jar conflict

* PR comments

* Add cron micronaut environemnt
2022-10-17 12:35:04 -07:00
Pedro S. Lopez
69f53eb56a airbyte-cron: update connector definitions from remote (#16438)
* add db connection injection to airbyte-cron

* load definitions

* fix patch version check for non-semver tags

* apply helper tests

* logging updates

* fix remote definitions provider: add tombstones

* docker compose env updates

* add test for tombstone presence

* rename helper class

* config updates

* dont use optionals as fields

* use apply helper instead of directly calling load data in bootloader

* avoid pmd warn

* add docstring

* sort docker compose env vars

* updates for javax -> jakarta

* clean up docker compose, update kube deployment env
2022-10-05 17:21:37 -04:00
Evan Tahler
49cb3360de Remove redundant title labels from connector specs (#17544)
* Remove redundant title labels from connector specs

* Manually update specs

* add env variable

* Remove debugging log
2022-10-05 12:58:38 -07:00
Jonathan Pearlin
759a27ec45 Use Micronaut auto-detected environment for docker vs kubernetes choices (#17388)
* Use Micronaut auto-detected environment for docker vs kubernetes choices

* Handle set, but blank env var

* Formatting

* Revert change

* Add default value

* Explicitly set WORKER_ENVIRONMENT for container orchestrator

* Make public

* Add sleep to allow Temporal cache to populate

Co-authored-by: Jimmy Ma <gosusnp@users.noreply.github.com>
2022-10-04 15:14:13 -04:00
Benoit Moriceau
65a35b98bd Bmoric/clean applciation yml (#17353)
* Cleanup application.yml

* Clean up cron application.yml and kube overlay

* Avoid flooding the logs with waiting for temporal namespace message

* Rm common app initializer

* Try to re-introduce an initializer
2022-09-29 16:21:38 -07:00
Benoit Moriceau
3c457e051d Bmoric/restore temporal cleaning cron (#17258)
* Revert "Revert "Bmoric/temporal cleaning cron (#16414)" (#17192)"

This reverts commit 751667949e.

* Generate an artifact

* Change missing property from value to property
2022-09-27 10:59:39 -07:00
Benoit Moriceau
751667949e Revert "Bmoric/temporal cleaning cron (#16414)" (#17192)
This reverts commit bbb59d8675.
2022-09-26 16:58:23 -07:00
Benoit Moriceau
bbb59d8675 Bmoric/temporal cleaning cron (#16414)
* WIP Convert airbyte-workers to Micronaut framework

* Rebase cleanup

* Fix broken tests

* Simplify code

* Support control vs data plane configuration

* make WORFKLOW_PROXY_CACHE non-static to avoid cacheing mocks in unit tests

* Formatting

* Pairing on Worker Micronaut (#16364)

* add RouteToSyncTaskQueue activity

* use new route activity in connection manager workflow

* format

* call router service for task queue

* Revert temporal proxy changes

* Formatting

* Fix default value

* register new route activity in test

* fix SyncWorkflowTest now that it isn't doing any routing

* Update dependencies

* More dependency updates

* Update dependencies

* WIP Convert airbyte-workers to Micronaut framework

* Rebase cleanup

* Fix broken tests

* Simplify code

* Support control vs data plane configuration

* make WORFKLOW_PROXY_CACHE non-static to avoid cacheing mocks in unit tests

* Formatting

* Pairing on Worker Micronaut (#16364)

* add RouteToSyncTaskQueue activity

* use new route activity in connection manager workflow

* format

* call router service for task queue

* Revert temporal proxy changes

* Formatting

* Fix default value

* register new route activity in test

* fix SyncWorkflowTest now that it isn't doing any routing

* Update dependencies

* More dependency updates

* Update dependencies

* WIP Convert airbyte-workers to Micronaut framework

* Rebase cleanup

* Fix broken tests

* Simplify code

* Support control vs data plane configuration

* make WORFKLOW_PROXY_CACHE non-static to avoid cacheing mocks in unit tests

* Formatting

* Pairing on Worker Micronaut (#16364)

* add RouteToSyncTaskQueue activity

* use new route activity in connection manager workflow

* format

* call router service for task queue

* Revert temporal proxy changes

* Formatting

* Fix default value

* register new route activity in test

* fix SyncWorkflowTest now that it isn't doing any routing

* Update dependencies

* More dependency updates

* Update dependencies

* Add the injected temporal client to airbyte-cron

* Update cron to make it work

* Remove useless Bean factory

* PR comments

* WIP Convert airbyte-workers to Micronaut framework

* Rebase cleanup

* Fix broken tests

* Simplify code

* Support control vs data plane configuration

* make WORFKLOW_PROXY_CACHE non-static to avoid cacheing mocks in unit tests

* Formatting

* Pairing on Worker Micronaut (#16364)

* add RouteToSyncTaskQueue activity

* use new route activity in connection manager workflow

* format

* call router service for task queue

* Revert temporal proxy changes

* Formatting

* Fix default value

* register new route activity in test

* fix SyncWorkflowTest now that it isn't doing any routing

* Update dependencies

* More dependency updates

* Update dependencies

* Improve conditional bean check

* Match existing Optional functionality

* Add notEquals check

* Add missing env var to Helm chart

* Fix typo

* Mark LogConfigs as Singleton

* WIP Convert airbyte-workers to Micronaut framework

* Rebase cleanup

* Fix broken tests

* Simplify code

* Support control vs data plane configuration

* make WORFKLOW_PROXY_CACHE non-static to avoid cacheing mocks in unit tests

* Formatting

* Pairing on Worker Micronaut (#16364)

* add RouteToSyncTaskQueue activity

* use new route activity in connection manager workflow

* format

* call router service for task queue

* Revert temporal proxy changes

* Formatting

* Fix default value

* register new route activity in test

* fix SyncWorkflowTest now that it isn't doing any routing

* Update dependencies

* More dependency updates

* Update dependencies

* Improve conditional bean check

* Match existing Optional functionality

* Add notEquals check

* Add missing env var to Helm chart

* Fix typo

* Mark LogConfigs as Singleton

* Env vars for log/state storage type

* Remove use of Optional in bean declarations

* Fix typo in config property name

* Support Temporal Cloud namespace

* Change to @Value

* Use correct value for conditional check

* Upgrade Micronaut

* Fix merge conflict

* Formatting

* Add missing env var

* Use sync task queue environment variable

* Handle sync task queue as set

* format and force http

* Handle case where sync task queue is empty

* Add correct path to config property

* Remove unused import

* Remove conflict

* Remove unused parameter

* Formatting

* Use pattern for condition process factory beans

* Cleanup

* PR feedback

* Revert hack for testing

* Fix temporal restart by status (#16447)

* Update application.yml

* Re add worker dep

* Add missing env var

* PR comments

* Bmoric/move temporal client (#16778)

* tmp

* tmp

* View diff

* Move part of the temporal client

* tmp

* copy Temporal Utils test

* Uniq Temporal Utils

* Uniq Temporal Workflow Utils

* Move CancellationHandler

* Move commons-temporal to being shared between platform, connector and CLI

* Rm worker dependency from cron

* Fix build

* Update with right value for cron.

* Fix dep conflict

Co-authored-by: jdpgrailsdev <jpearlin1@gmail.com>
Co-authored-by: pmossman <parker@airbyte.io>
Co-authored-by: Jonathan Pearlin <jonathan@airbyte.io>
2022-09-26 15:14:35 -07:00
Jonathan Pearlin
474642868c Convert airbyte-workers to Micronaut (#16434)
* WIP Convert airbyte-workers to Micronaut framework

* Rebase cleanup

* Fix broken tests

* Simplify code

* Support control vs data plane configuration

* make WORFKLOW_PROXY_CACHE non-static to avoid cacheing mocks in unit tests

* Formatting

* Pairing on Worker Micronaut (#16364)

* add RouteToSyncTaskQueue activity

* use new route activity in connection manager workflow

* format

* call router service for task queue

* Revert temporal proxy changes

* Formatting

* Fix default value

* register new route activity in test

* fix SyncWorkflowTest now that it isn't doing any routing

* Update dependencies

* More dependency updates

* Update dependencies

* Improve conditional bean check

* Match existing Optional functionality

* Add notEquals check

* Add missing env var to Helm chart

* Fix typo

* Mark LogConfigs as Singleton

* Env vars for log/state storage type

* Remove use of Optional in bean declarations

* Fix typo in config property name

* Support Temporal Cloud namespace

* Change to @Value

* Use correct value for conditional check

* Upgrade Micronaut

* Fix merge conflict

* Formatting

* Add missing env var

* Use sync task queue environment variable

* Handle sync task queue as set

* format and force http

* Handle case where sync task queue is empty

* Add correct path to config property

* Remove unused import

* Remove unused parameter

* Formatting

* Use pattern for condition process factory beans

* Cleanup

* PR feedback

* Revert hack for testing

Co-authored-by: pmossman <parker@airbyte.io>
2022-09-14 13:10:23 -04:00
Jimmy Ma
bf487913d2 Add scheduled task to clean up old files from workspace (#16247)
* Add airbyte-cron to bumpversion

* Update airbyte-cron version to current

* Add workspace clean up job

* Add missing env var to docker-compose

* Update file deletion logging
2022-09-02 13:21:17 -07:00
letiescanciano
a9a1b61ef4 fix: Remove Fullstory leftovers (#16223) 2022-09-02 14:36:13 +03:00
Parker Mossman
614ebb615d Multi-Cloud MVP: Combined branch for testing and merge (#15997)
* add new Configs for multi-cloud

* add api endpoints for setting workflow attempt id and createOrUpdate state

* update activities to call APIs instead of persistence

* workerApp refactor to separately initialize control or data plane dependencies

* modify syncWorkflow to call new activity that decides which task queue for data plane tasks

* misc to get build working

* move StateConverter to worker, so that server and worker can both access without needing to introduce any new dependencies

* update configs - remove extranneous helpers, clarify naming and comments, removed COMBINED value

* forgot to actually remove COMBINED enum value, this removes it

* add WorkerApp todo for breaking API Client into a scoped client

* rename decideTaskQueueActivity var to routeToTaskQueueActivity

* pr comments

* naming fix

* refactor secretHydrator instantiation

* WorkerApp PR feedback: move API client logic to separate class, use updated configs, etc

* add a RouterService class that is injected into RouteToTaskQueueActivityImpl

* AttemptApi cleanup and added unit test coverage

* fix confusion between AttemptId and AttemptNumber in new AttemptApi

* remove unused getDataPlaneSecretsHydrator

* remove unused import

Co-authored-by: Xiaohan Song <xiaohan@airbyte.io>
2022-08-26 14:10:19 -07:00
Evan Tahler
110fe5d7fe LOG_CONNECTOR_MESSAGES enables logging of all messages seen by the worker in a sync (#15895)
* `LOG_CONNECTOR_MESSAGES` to enable logging of all messages seen by the worker in a sync

* also log initial state

* linting

* getState 2x for to match input file

* use `Jsons.serialize` utility

* add note to `developing-locally`

* fix bad merge
2022-08-24 10:29:48 -07:00
Lake Mossman
874d02a948 🪟 🔧 Remove demo mode from UI (#15746)
* remove demo mode from UI

* remove merge conflict
2022-08-23 16:43:59 -07:00
Benoit Moriceau
d800e3dadc Add scheduled service (#15761)
* Add logger scheduled service

* Use eager bean initialization
2022-08-19 23:29:47 +02:00
Davin Chia
f8ebd4f60c Make it possible to specify normalization pod resources. (#15495)
Today we are running into OOM exceptions with normalization. Normalization itself also inherits the destination's resource requirements. After work to bring destination memory usage down, this is no longer ideal, since most destinations use less memory than normalization needs.

This PR makes it possible to specify the general resource the normalization pod is provided via env vars.

Notes:
- Add env vars. Default to the various job main container resources if these are not set.
- Instead of using the destination's memory, use the normalization specify env vars.
2022-08-10 14:16:41 -07:00
Pedro S. Lopez
f924359fad report synchronous check/spec/discover failures to JobErrorReporter (#14818)
* report failures for synchronous check/discover, refactor common logic

* allow null workspace, send spec errors

* add failure origin, format

* rm connector_type, fix failing tests

* add tests for other job types

* log instead of throw

* move swallow to common spot

* connector jobs use context instead of passing full config

* sync jobs use context instead of passing raw config

* fix failing test

* fix failing scheduler client test
2022-08-02 10:23:04 -04:00
Lake Mossman
805a155eab pass USE_STREAM_CAPABLE_STATE env var to containers/deployments (#14737) 2022-07-15 10:53:34 -07:00
Pedro S. Lopez
d6d32b3a96 Add JobErrorReporter for sending sync job connector failures to Sentry (#13899)
* skeleton for reporting connector errors to sentry

* report on job failures instead of attempt failures

* report sync job failures with relevant metadata using JobErrorReporter

* send stack traces from python connectors to sentry

* test JobCreationAndStatusUpdate and JobErrorReporter

* logs

* refactor into helper, initial tests

* using sentry

* run format

* load reporting client from env

* load sentry dsn from env

* send java stack traces to sentry

* test sentryclient, refactor to use Hub instance

* ErrorReportingClient.report -> .reportJobFailureReason

* inject exception helper, test stack trace parse error tagging

* rm logs

* more stack trace tests

* remove logs

* fix failing tests

* rename ErrorReportingClient to JobErrorReportingClient

* rename vars in docker-compose

* Return an Optional instead of null when parsing stack traces

* dont remove airbyte prefix when setting release name

* from_trace_message static

* remove failureSummary from jobfailure input, get from Job

* send stacktrace string if we weren't able to parse

* set deployment mode tag

* update .env

* just log if something goes wrong
2022-06-24 14:49:01 -04:00
Lake Mossman
fc5ba66e1c Restart workflow after activity failure instead of quarantining (#13779)
* use SHORT_ACTIVITY_OPTIONS on check connection activity so that it has retries

* retry workflow after delay instead of quarantining

* allow activity env vars to be configured in docker and kube

* add env var for workflow restart delay and refactor slightly

* update tests to handle new restart behavior

* update test name

* add empty env var values to .env files

* fail attempt before job in cleanJobState to prevent state machine failure

* change default value of max activity attempt retries from 10 to 5
2022-06-15 16:07:47 -07:00
LiRen Tu
973f0b1165 Make connector adaptable based on deployment mode (#13522)
* Add deployment mode to env shared with jobs

* Add adaptive runners

* Migrate postgres source to use adaptive runner

* Add an array of specs in docker image spec definition

* Add copyright

* Parse docker image spec with specs list

* Update spec yaml files

* Pass in DEPLOYMENT_MODE to docker compose file

* Revert "Parse docker image spec with specs list"

This reverts commit 8fe41dd3b7.

* Revert changes in docker image spec

* Read cloud specific spec files based on deployment mode

* Revert "Update spec yaml files"

This reverts commit 059f326432.

* Publish cloud spec file if necessary

* Fix upload script

* Move test files

* Update docker compose file

* Format code

* Add comment about spec filename

* Add unit tests

* Remove redundant jdbc acceptance test

When running `PostgresStrictEncryptJdbcSourceAcceptanceTest`, the `discover` method tests always fail because there are unexpected columns in the catalog:
- `wakeup_at`
- `last_visited_at`
- `last_comment_at`

These columns only exist in `PostgresJdbcSourceAcceptanceTest`. And this failure cannot be reproduced locally.

The hypothesis is that when the JDBC unit tests are run on CI, they are run in parallel, and the same testcontainer is used for both tests. That's why the strict encrypt test can discover columns from the oridinary unit test.

Given that the JDBC strict encrypt test is basically redundant, it is removed.
2022-06-15 08:23:54 -07:00
Xiaohan Song
96149e2fe4 otel metric client implementation (#13473)
* Create interface, factory for metric client

* remove unused func

* change count val to use long

* PR fix

* otel metric client implementation

* merge conflicts resolve

* build fix

* add a test, moved version into deps catalog

* fix test
2022-06-08 14:39:09 -07:00
Lake Mossman
73034c64da Sweep old scheduler code (#13400)
* sweep all scheduler application code and new-scheduler conditional logic

* remove airbyte-scheduler from deployments and docs

* format

* remove 'v2' from github actions

* add back scheduler in delete deployment command

* remove scheduler parameters from helm chart values

* add back job cleaner + test and add comment

* remove now-unused env vars from code and docs

* format

* remove feature flags from web backend connection handler as it is no longer needed

* remove feature flags from config api as it is now longer needed

* remove feature flags input from config api test

* format + shorter url

* remove scheduler parameters from helm chart readme
2022-06-06 10:49:17 -07:00
Jonathan Pearlin
e06a9de60f Use Database Availability/Initialization Check (#13178)
* Use isolated database initialization logic

* Address PMD warnings

* Use test provider where possible

* Initialize database on bootloader load

* Combine availability and migration checks

* Ensure env vars are set

* Fix typo

* Avoid duplicate literals

* Add log message

* Use correct data source

* Revert change

* Update copyright

* Remove redundant exception catch/throw
2022-05-27 09:47:33 -04:00
terencecho
f4bb7b21b2 Add Auto-Disable Failing Connections feature (#11099)
* Add Disable Failing Connections feature

* Rename and cleanup

* list jobs based off connection id

* Move variables to env config and update unit tests

* Fix env flag name

* Fix missing name changes

* Add comments to unit test

* Address PR comments

* Support multiple config types

* Update unit tests

* Remove the attemptId notion in the connectionManagerWorkflow (#10780)

This is removing the attemptId from the create attempt activity to replace it with the attemptNumber. This will be modified in the workflow in a later commit.

* Revert "Remove the attemptId notion in the connectionManagerWorkflow (#10780)" (#11057)

This reverts commit 99338c852a.

* Revert "Revert "Remove the attemptId notion in the connectionManagerWorkflow (#10780)" (#11057)" (#11073)

This reverts commit 892dc7ec66.

* Revert "Revert "Revert "Remove the attemptId notion in the connectionManagerWorkflow (#10780)" (#11057)" (#11073)" (#11081)

This reverts commit e27bb74050.

* Add Disable Failing Connections feature

* Rename and cleanup

* Fix rebase

* only disable if first job is older than max days

* Return boolean for activity

* Return boolean for activity

* Add unit tests for ConnectionManagerWorkflow

* Utilize object output for activity and ignore non success or failed runs

* Utilize object output for activity and ignore non success or failed runs

Co-authored-by: Benoit Moriceau <benoit@airbyte.io>
2022-03-18 11:13:28 -07:00
Benoit Moriceau
2ac327486e Heartbeat for long running activity (#9852)
* Heartbeat for long running activity

* PR comments
2022-01-27 14:18:49 -08:00
Benoit Moriceau
4b148db54c Bmoric/deployment signal (#9799)
This is forcing the temporal sync workflow to fail. Using a signal didn't worked because the cancelation scope didn't cancel the child workflow.
2022-01-26 10:55:47 -08:00
Benoit Moriceau
e7da9232bb Fix record count and add acceptance test to the new scheduler (#9487)
* Add a job notification

The new scheduler was missing a notification step after the job is done.

This is needed in order to report the number of record of a sync.

* Acceptance test with the new scheduler

Add a new github action task to run the acceptances test with the new scheduler

* Retry if the failure

* PR comments
2022-01-19 18:16:19 -08:00
Davin Chia
c9adee6178 Clean up Docker compose env vars. (#9209)
- sort docker env vars.
- remove all non-docker related env vars.
- add what is missing.

For the .env file:
- sort the file to match the Configs.java lay out for better reading.
- get rid of env vars that are not used in docker
- get rid of env vars that have defaults, with the exception of var that are for scaling e.g. submitter_num_threads, worker related vars to prevent the env file from getting too large
- add a header to clarify when/where to add env vars to the file

For the docker compose file:
- sort the env vars alphabetically
- get rid of env vars that aren't used in that application
- add missing env vars into the worker application
2022-01-03 23:59:55 +08:00
Benoit Moriceau
389efbd23d Feature/new temporal scheduler (#8352)
This getting rid of scheduling with the scheduler app and the job submitter. It is replaced by a temporal workflow which will be responsible to schedule the syncs on time.
2021-12-23 20:15:38 +01:00
Augustin
c51fb7afe6 Improve JOB_POD variable naming + improve doc about memory management (#9048) 2021-12-23 18:42:13 +01:00
Davin Chia
60e32373e8 Revert "Revert "Switch to use Bootloader. (#8584)" (#8778)" (#8790)
This reverts commit 216501b4fa.

Turn this back on since this was originally reverted for logging update changes.
2021-12-15 14:09:43 +08:00
Davin Chia
216501b4fa Revert "Switch to use Bootloader. (#8584)" (#8778)
This reverts commit 5cf3967424.
2021-12-14 21:36:12 +08:00