Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
226 commits
Select commit Hold shift + click to select a range
9b75218
[DOP-16658] Update httpx
dolfinus Jun 27, 2024
cad19c2
[DOP-16658] Disable automerge
dolfinus Jun 27, 2024
2be0269
[DOP-16661] Add basic DB structure
dolfinus Jun 28, 2024
861e18e
[DOP-16662] Prepare repo structure for adding consumer
dolfinus Jul 1, 2024
1912bc0
[DOP-16662] Add Kafka consumer based on FastStream
dolfinus Jul 2, 2024
6572f7b
[DOP-16658] Rename Arrakis to DataRentgen
dolfinus Jul 4, 2024
1dc2219
[DOP-16663] Add OpenLineage models
dolfinus Jul 5, 2024
b5f2850
[DOP-16661] Schema digest must be unique
dolfinus Jul 5, 2024
aff1550
[DOP-16664] Fix DB models
dolfinus Jul 8, 2024
d286d1a
[DOP-16664] Add job handling to consumer
dolfinus Jul 8, 2024
26dfab3
[DOP-16665] Add basic run handling to consumer
dolfinus Jul 9, 2024
ab98326
Rename DataRentgen to Data.Rentgen
dolfinus Jul 10, 2024
4ae659d
Fix documentation url
dolfinus Jul 10, 2024
03758f1
Fix documentation url
dolfinus Jul 10, 2024
570d380
[DOP-16665] Populate log urls & external id in Run
dolfinus Jul 10, 2024
7a40fc0
[DOP-16668] Handle operations in consumer
dolfinus Jul 10, 2024
c421074
[DOP-16664] Create location for job
dolfinus Jul 8, 2024
be4757e
[DOP-16693] Add job endpoint with pagination
TiGrib Jul 9, 2024
c0bee3e
[DOP-16693] remove extractors/location.py from one of the previous co…
TiGrib Jul 9, 2024
799e4c0
[DOP-16693] pre-commit passed
TiGrib Jul 9, 2024
859539f
[DOP-16693] remove rebase artifacts from tests
TiGrib Jul 10, 2024
7b33a76
[DOP-16693] remove unnessary teardown from fixtures
TiGrib Jul 10, 2024
77f19f0
[DOP-16693] Add min_lenght=1 for job_id and InvalidRequestSchema to /…
TiGrib Jul 10, 2024
1cc12f2
[DOP-16693] Modify JobResponse Schema. Now return location and Addres…
TiGrib Jul 11, 2024
6b44afb
[DOP-16693] Modify JobResponse Schema. Now return location and Addres…
TiGrib Jul 11, 2024
e92b6d9
[DOP-16693] fix after rebase
TiGrib Jul 11, 2024
a2e381f
[DOP-16693] Change repository method _paginate_by_query -> by_query
TiGrib Jul 12, 2024
a253108
[DOP-16693] Change repository method remove _paginate
TiGrib Jul 12, 2024
fb38601
Merge pull request #14 from MobileTeleSystems/feature/DOP-16693-job_e…
TiGrib Jul 12, 2024
57d7191
[DOP-16669] Handle datasets & dataset symlinks in consumer
dolfinus Jul 11, 2024
c1a9032
[DOP-16669] Do not use INSERT ON CONFLICT
dolfinus Jul 12, 2024
48ebd55
[DOP-16693] Fix test warnings
dolfinus Jul 12, 2024
edb2f08
[DOP-16675] Handle dataset schema in consumer
dolfinus Jul 12, 2024
af0f0da
[DOP-16695] Add dataset endpoint with pagination
TiGrib Jul 15, 2024
5c4decf
Merge pull request #23 from MobileTeleSystems/feature/DOP-16695-datas…
TiGrib Jul 15, 2024
999ca12
Bump the python-packages group with 5 updates
dependabot[bot] Jul 15, 2024
7443df8
[DOP-16674] Handle interaction in consumer
dolfinus Jul 12, 2024
099e1ba
[DOP-18265] Fill persistent_log_url for Airflow task
dolfinus Jul 15, 2024
3b9e8a9
[DOP-18263] Handle run user in consumer
dolfinus Jul 16, 2024
31fb9a3
[DOP-18286] Strip Spark appName prefix from operation names
dolfinus Jul 16, 2024
6b8bbb3
[DOP-18285] Collect job type in consumer
dolfinus Jul 16, 2024
f5ca7ec
[DOP-18285] Collect run.start_reason in consumer
dolfinus Jul 17, 2024
ccc8db5
[DOP-18285] Update string field max length
dolfinus Jul 17, 2024
17b7893
[DOP-16676] Use Postgres advisory locks to avoid insert conflicts
dolfinus Jul 18, 2024
75164e8
[DOP-16696] Add get runs by id and by job_id endpoints
TiGrib Jul 20, 2024
1bf1817
[DOP-16696] Rebase + remove 'get' from pagination methods of 'RunRepo…
TiGrib Jul 22, 2024
89092bf
[DOP-16696] Change 'Optional' to '|'
TiGrib Jul 22, 2024
c01f0d9
Bump the python-packages group with 6 updates
dependabot[bot] Jul 22, 2024
b1f81a1
[DOP-16696] add uuid version < 6 validation
TiGrib Jul 23, 2024
1e08c29
[DOP-16696] move uuid to /utils, refactor UUIDv7 validator, refactori…
TiGrib Jul 23, 2024
8b4fc76
[DOP-16696] refactoring tests
TiGrib Jul 23, 2024
5336e19
Merge pull request #31 from MobileTeleSystems/feature/DOP-16696
TiGrib Jul 23, 2024
4535098
[DOP-16692] Add get /operations by id and Run id endpoints
TiGrib Jul 26, 2024
b168571
[DOP-16692] remove unnessary selectinload
TiGrib Jul 26, 2024
0442298
[DOP-18406] Handle airflowDagRun facet
dolfinus Jul 26, 2024
d123658
[DOP-16692] Remove unnessary selectinload
TiGrib Jul 26, 2024
a8ce347
[DOP-16692] fix flake8
TiGrib Jul 26, 2024
e077158
[DOP-16692] fix tests and warnings
TiGrib Jul 26, 2024
61f1b3a
[DOP-16692] add sort for Operations in fixture
TiGrib Jul 26, 2024
0f6fd29
Merge pull request #34 from MobileTeleSystems/feature/DOP-16692-opera…
TiGrib Jul 26, 2024
63e9825
Bump the python-packages group with 3 updates
dependabot[bot] Jul 29, 2024
a4d1b06
Bump the python-packages group with 10 updates
dependabot[bot] Aug 5, 2024
51255dd
Bump the python-packages group with 8 updates
dependabot[bot] Aug 12, 2024
cad8f17
Bump the python-packages group with 4 updates
dependabot[bot] Aug 19, 2024
098ed0d
Fix documentation build
dolfinus Aug 20, 2024
2a11968
[DOP-18950] Improve REST API endpoints
dolfinus Aug 21, 2024
e5d0706
[DOP-16676] Use compression for Kafka messages
dolfinus Aug 21, 2024
c8c29dc
[DOP-16697] Add lineage endpoint
TiGrib Aug 19, 2024
fa79b9d
[DOP-16697] Refactor lineage strategies
TiGrib Aug 22, 2024
524b0e1
[DOP-16697] Remove unnessary method from job repo
TiGrib Aug 22, 2024
91c465a
[DOP-16697] Update all literal to uppercase
TiGrib Aug 22, 2024
f9c8eb5
[DOP-16697] Remove granularity, Add id field validator
TiGrib Aug 22, 2024
f7b1f60
[DOP-16697] get_direction() return list of enum values
TiGrib Aug 22, 2024
21b10b1
[DOP-16697] change nodes add logic
TiGrib Aug 22, 2024
4682d36
[DOP-16697] change nodes add logic
TiGrib Aug 22, 2024
b85deeb
[DOP-16697] change tests imports
TiGrib Aug 22, 2024
d771c11
[DOP-16697] fix tests after rebase
TiGrib Aug 22, 2024
98b384a
[DOP-16697] Separate tests. Add test for request validators
TiGrib Aug 23, 2024
4a35801
[DOP-16697] remove unnessary method from run repo
TiGrib Aug 23, 2024
52fe33d
[DOP-16697] Add test for since < until validator
TiGrib Aug 23, 2024
6f190ba
[DOP-16697] Change direction enum to uppercase
TiGrib Aug 23, 2024
8b60747
[DOP-16697] Add tests with until for dataset and operations
TiGrib Aug 23, 2024
9601806
[DOP-16697] Add tests with until for job, run
TiGrib Aug 23, 2024
2d238f8
[DOP-16697] remove unnessary dto
TiGrib Aug 23, 2024
3694235
[DOP-16697] Add LineageInteractionKind Enum
TiGrib Aug 23, 2024
2962f66
[DOP-16697] Add LineageDirection Enum's to lineage strategies
TiGrib Aug 23, 2024
e750ea0
[DOP-16697] Fix tests
TiGrib Aug 23, 2024
a74039f
Temporary restrict updating towncrier in Dependbot
dolfinus Aug 26, 2024
1fdfae2
Bump the python-packages group with 3 updates
dependabot[bot] Aug 26, 2024
257faa3
Fix CI
dolfinus Sep 2, 2024
441404c
[DOP-16699] Implement dataset search (#42)
TiGrib Sep 2, 2024
d681eef
Bump the python-packages group with 3 updates
dependabot[bot] Sep 2, 2024
66f0672
[DOP-16700] Add job search endpoint (#46)
TiGrib Sep 4, 2024
4131245
[DOP-16701] Add run search endpoint
TiGrib Sep 5, 2024
18b9b9b
[DOP-16701] Add enrich utils for search tests
TiGrib Sep 5, 2024
37e52be
[DOP-16701] Add todo for pagination refactoring
TiGrib Sep 5, 2024
6619f37
[DOP-16701] test refactoring
TiGrib Sep 5, 2024
d5a3a98
[DOP-16701] test refactoring
TiGrib Sep 5, 2024
a09e209
[DOP-16701] fix tests
TiGrib Sep 5, 2024
f497cd1
Merge pull request #47 from MobileTeleSystems/feature/DOP-16700-creat…
TiGrib Sep 5, 2024
ae46719
[DOP-18989] Remove selectinload from tests (#48)
dolfinus Sep 6, 2024
111c710
[DOP-18989] Refactor LineageService
dolfinus Sep 5, 2024
db456e5
[DOP-18989] Fix InvalidRequest schema not used by FastAPI
dolfinus Sep 9, 2024
6632868
[DOP-18989] Add depth option to lineage endpoint
dolfinus Sep 9, 2024
a9a2653
[DOP-18990] add parent run filter to /runs
TiGrib Sep 11, 2024
c25d3ce
[DOP-18990] fix tests
TiGrib Sep 11, 2024
8748dad
[DOP-18990] fix tests
TiGrib Sep 11, 2024
ff570c6
[DOP-18998] Handle dataset symlinks in lineage endpoint
dolfinus Sep 9, 2024
da2a50c
[DOP-18998] Fix tests
dolfinus Sep 11, 2024
caf1491
Bump the python-packages group across 1 directory with 7 updates
dependabot[bot] Sep 11, 2024
ae88464
[DOP-18998] Update pre-commit hooks
dolfinus Sep 11, 2024
a52650e
[DOP-19299] Remove operations & runs without any interactions from li…
dolfinus Sep 12, 2024
d5930b3
[DOP-19316] Split interactions table to inputs & outputs
dolfinus Sep 14, 2024
ccbc50d
[DOP-19281] Add image publication, union server and consumer into one…
TiGrib Sep 17, 2024
b645c90
[DOP-19494] Do not include search_vector to SELECTs
dolfinus Sep 16, 2024
c92825b
[DOP-19494] Do not SELECT the same operation/dataset twice
dolfinus Sep 16, 2024
38b15ac
[DOP-19494] Optimize SELECT of inputs/outputs by operation_ids
dolfinus Sep 16, 2024
3680ce0
[DOP-19494] Optimize SELECT of operations by ids
dolfinus Sep 16, 2024
bc24862
[DOP-19494] Optimize SELECT of runs by ids
dolfinus Sep 16, 2024
517fa62
[DOP-19282] add codeql to code analysis (#63)
TiGrib Sep 18, 2024
113bd61
[DOP-19282] add release flow (#62)
TiGrib Sep 18, 2024
ae71103
Bump pydantic in the python-packages group across 1 directory
dependabot[bot] Sep 17, 2024
853287e
[DOP-19494] Update FastAPI
dolfinus Sep 18, 2024
4fde706
[DOP-19494] Add automerge workflow
dolfinus Sep 18, 2024
b02760a
[DOP-19494] Fix README badges
dolfinus Sep 18, 2024
a5ef556
[DOP-19280] change openapi schema path (#64)
TiGrib Sep 19, 2024
c723272
Update dependencies
dolfinus Sep 21, 2024
247da46
Fix CONTRIBUTING guide
dolfinus Sep 21, 2024
aa5389b
Split test and prod databases
dolfinus Sep 21, 2024
506e073
Fix CONTRIBUTING guide
dolfinus Sep 21, 2024
c518538
Fix tests
dolfinus Sep 21, 2024
da49fde
Fix tests
dolfinus Sep 21, 2024
2f78618
Update Makefile & CONTRIBUTING guide
dolfinus Sep 21, 2024
117aff3
[DOP-19494] Replace id IN () with id = ANY ()
dolfinus Sep 21, 2024
8a43b41
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Sep 23, 2024
ef9c4d6
Bump docker/build-push-action from 5 to 6 in the github-actions group
dependabot[bot] Sep 23, 2024
6b9a766
[DOP-20048] Split lineage endpoint (#66)
TiGrib Sep 24, 2024
a1a26fb
Draft: [DOP-20059] add run_id and job_id to inputs and outputs (#71)
TiGrib Sep 25, 2024
1c9c4ba
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Sep 30, 2024
d3b0c17
[DOP-20059] Add granularity for `/runs/lineage` (#72)
TiGrib Oct 2, 2024
faeea3f
[DOP-20137] Fix missing job.type in API responses
dolfinus Oct 4, 2024
7d7c65e
[DOP-20137] Change Spark local session location
dolfinus Oct 4, 2024
4ff50aa
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Oct 7, 2024
96a2e81
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Oct 14, 2024
180307b
[DOP-20055] Rename test files
dolfinus Oct 16, 2024
6349681
[DOP-20055] Update dependencies
dolfinus Oct 16, 2024
3b88468
[DOP-20055] Merge /entries with /entries/search
dolfinus Oct 16, 2024
685371a
[DOP-20060] Add granularity for jobs (#83)
TiGrib Oct 18, 2024
faac600
[DOP-20849] Make since field mandatory in runs search
dolfinus Oct 17, 2024
1d6eb4c
[DOP-20851] Improve search quality
dolfinus Oct 18, 2024
d44b289
[DOP-18988] Datasets granularity (#85)
TiGrib Oct 21, 2024
9576c78
Bump the python-packages group with 7 updates
dependabot[bot] Oct 21, 2024
d869b6b
[DOP-20045] Add BOTH lineage query parameter (#86)
TiGrib Oct 22, 2024
c67fbe7
[DOP-20047] add 'external_id' column for locations (#88)
TiGrib Oct 22, 2024
c8c7481
[DOP-20140] Add run.created_at and operation.created_at to API responses
dolfinus Oct 22, 2024
8e6bb24
[DOP-20144] Save jobGroup to operation.group
dolfinus Oct 23, 2024
a730050
[DOP-20958] Add id fields to DTOs
dolfinus Oct 23, 2024
d9d53a8
Bump the python-packages group with 5 updates
dependabot[bot] Oct 28, 2024
70dd754
Revert "Bump the python-packages group with 5 updates"
dolfinus Oct 28, 2024
6236147
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Oct 28, 2024
20dd65f
[DOP-20958] Do not upgrade pydantic-settings for now
dolfinus Oct 29, 2024
4e615d1
Bump the python-packages group with 4 updates
dependabot[bot] Oct 29, 2024
3588222
[DOP-20958] Consume events in batches
dolfinus Oct 25, 2024
65108ea
[DOP-20958] Take a lock before updating addresses list
dolfinus Nov 1, 2024
e5d87f0
[DOP-20958] Insert operations, inputs & outputs in one statement
dolfinus Nov 1, 2024
9011457
[DOP-20958] Update dependencies
dolfinus Nov 2, 2024
1c5c282
[DOP-20958] Don't hardcode Python version in Makefile
dolfinus Nov 2, 2024
fc3f775
[DOP-20048] add GET /v1/location endpoint (#100)
TiGrib Nov 5, 2024
bc8c585
Bump alembic from 1.13.3 to 1.14.0 in the python-packages group
dependabot[bot] Nov 4, 2024
753c6f1
[DOP-20049] add PATCH 'v1/locations/{location_id}' endpoint (#101)
TiGrib Nov 5, 2024
5b6abad
[DOP-21121] Handle out-of-order events in consumer
dolfinus Nov 5, 2024
2330cfb
Test Python 3.13 support
dolfinus Nov 2, 2024
38407fc
Fix building docker image
dolfinus Nov 6, 2024
d5ea82d
Fix building docker image
dolfinus Nov 6, 2024
88246be
Fix docker image healthcheck
dolfinus Nov 6, 2024
ff6dc35
[DOP-20146] Add id field to LocationResponseV1
dolfinus Nov 6, 2024
5490365
[DOP-20146] Sort locations by name+type
dolfinus Nov 6, 2024
457fbe0
Add logo
dolfinus Nov 7, 2024
6d4ffe3
[DOP-20958] Add greenlet to docker image
dolfinus Nov 8, 2024
fafaa02
[DOP-20061] Stats for relations response (#105)
TiGrib Nov 8, 2024
d28b8ab
Fix logo font
dolfinus Nov 8, 2024
b35a1df
[DOP-20958] Fix bounding run to wrong job_id
dolfinus Nov 11, 2024
e295082
Bump the python-packages group with 2 updates
dependabot[bot] Nov 11, 2024
68a1ac6
[DOP-21294] refactor fixtures (#106)
TiGrib Nov 14, 2024
da6eb4e
[DOP-21387] Rebuild documentation structure
dolfinus Nov 14, 2024
9753a8c
[DOP-21295] Simplify tests a bit
dolfinus Nov 15, 2024
8c96fd0
Update codecov action
dolfinus Nov 18, 2024
a860895
[DOP-21531] Set default direction to BOTH
dolfinus Nov 18, 2024
3f5080c
Bump the python-packages group with 2 updates
dependabot[bot] Nov 18, 2024
bb61253
[DOP-20062] Add schema to relations in a lineage response (#112)
TiGrib Nov 19, 2024
93e819c
[DOP-21295] Do not include unrelated datasets to lineage with depth>1
dolfinus Nov 19, 2024
b67bff9
[DOP-21572] Remove unused fields from schema response (#114)
dolfinus Nov 20, 2024
d1e3627
[DOP-21572] Refactor Input & Output repositories
dolfinus Nov 20, 2024
b61bf97
[DOP-21613] Use OpenLineage InputStatisticsInputDatasetFacet
dolfinus Nov 21, 2024
59a741c
[DOP-21572] Return interaction schema with granularity=RUN|JOB
dolfinus Nov 20, 2024
c70559f
[DOP-21572] Add id field to IO schema
dolfinus Nov 21, 2024
078839b
[DOP-20054] Add swap dataset and it's symlink(hive) for hdfs (#119)
TiGrib Nov 22, 2024
14315ba
[DOP-21572] Fix healthcheck command
dolfinus Nov 22, 2024
92b453e
[DOP-21572] Fix create_partitions script
dolfinus Nov 22, 2024
eca96c4
[DOP-21572] Fix Makefile & Kafka .env
dolfinus Nov 25, 2024
2894028
[DOP-20050] Add Dummy Auth provider (#121)
TiGrib Nov 26, 2024
952dfe1
Bump pytest-rerunfailures
dependabot[bot] Nov 26, 2024
a458768
[DOP-21574] Add keycloack provider (#123)
TiGrib Dec 2, 2024
6e8f392
Bump python-multipart from 0.0.17 to 0.0.18 in the pip group
dependabot[bot] Dec 2, 2024
f883e53
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Dec 2, 2024
cf51689
Update dependencies
dolfinus Dec 3, 2024
ab65381
Update link to Pydantic issue
dolfinus Dec 3, 2024
b4c1c00
[DOP-22034] Disable X-REQUEST-ID validation warnings
dolfinus Dec 6, 2024
85d1ec8
[DOP-22034] Use UUIDv8 for X-REQUEST-ID default value
dolfinus Dec 9, 2024
66fdd45
Bump the python-packages group with 4 updates
dependabot[bot] Dec 9, 2024
06b4616
Extend auth token lifetime in the fixture
Dec 18, 2024
a6040bb
[DOP-22883] Add consumer-specific settings
dolfinus Dec 18, 2024
af8126f
Bump the python-packages group with 5 updates
dependabot[bot] Dec 16, 2024
cada1f1
[DOP-21576] Update Keycloak provider for auth with Frontend (#131)
TiGrib Dec 20, 2024
766ce0b
Bump the python-packages group with 4 updates
dependabot[bot] Dec 23, 2024
5b35608
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Dec 23, 2024
4731716
Bump jinja2 from 3.1.4 to 3.1.5 in the pip group
dependabot[bot] Dec 23, 2024
b9d33ff
[DOP-22750] Add owner parsing for airflow run events (#135)
TiGrib Dec 24, 2024
bea2ced
[DOP-23149] Replace python-jose with pyjwt
dolfinus Dec 24, 2024
bf103a0
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 24, 2024
fbb23d0
[DOP-23122] Use async methods of Keycloak client
dolfinus Dec 24, 2024
ca1cc67
[DOP-23122] Fix mypy warnings
dolfinus Dec 25, 2024
6217d1f
[DOP-23122] Replace python-jose with pyjwt
dolfinus Dec 25, 2024
b448b51
[DOP-23134] Prepare for release 0.1.0
TiGrib Dec 25, 2024
9b6da61
[DOP-23134] Add a release text
TiGrib Dec 25, 2024
1487053
[DOP-23134] Make message fancy
TiGrib Dec 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
57 changes: 51 additions & 6 deletions .env.docker
Original file line number Diff line number Diff line change
@@ -1,9 +1,54 @@
# Init Postgres database
POSTGRES_DB=arrakis
POSTGRES_USER=arrakis
POSTGRES_DB=data_rentgen
POSTGRES_USER=data_rentgen
POSTGRES_PASSWORD=changeme
POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C

# See Backend -> Configuration documentation
ARRAKIS__DATABASE__URL=postgresql+asyncpg://arrakis:changeme@db:5432/arrakis
ARRAKIS__SERVER__LOGGING__PRESET=colored
ARRAKIS__SERVER__DEBUG=false
# Init Kafka
KAFKA_CFG_NODE_ID=0
KAFKA_CFG_PROCESS_ROLES=controller,broker
KAFKA_CFG_LISTENERS=DOCKER://:9092,LOCALHOST://:9093,CONTROLLER://:9094,INTERBROKER://:9095
KAFKA_CFG_ADVERTISED_LISTENERS=DOCKER://kafka:9092,LOCALHOST://localhost:9093,INTERBROKER://broker:9095
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,INTERBROKER:PLAINTEXT,DOCKER:SASL_PLAINTEXT,LOCALHOST:SASL_PLAINTEXT
KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@broker:9094
KAFKA_CFG_INTER_BROKER_LISTENER_NAME=DOCKER
KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
KAFKA_CFG_SASL_MECHANISM_CONTROLLER_PROTOCOL=PLAIN
KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL=PLAIN
KAFKA_CLIENT_USERS=data_rentgen
KAFKA_CLIENT_PASSWORDS=changeme
KAFKA_CFG_SASL_ENABLED_MECHANISMS=PLAIN,SCRAM-SHA-256

# Common backend config
DATA_RENTGEN__DATABASE__URL=postgresql+asyncpg://data_rentgen:changeme@db:5432/data_rentgen
DATA_RENTGEN__LOGGING__PRESET=colored

# See Backend -> Server -> Configuration documentation
DATA_RENTGEN__SERVER__DEBUG=false

# See Backend -> Consumer -> Configuration documentation
DATA_RENTGEN__KAFKA__BOOTSTRAP_SERVERS=broker:9092
DATA_RENTGEN__KAFKA__SECURITY__TYPE=scram-sha256
DATA_RENTGEN__KAFKA__SECURITY__USER=data_rentgen
DATA_RENTGEN__KAFKA__SECURITY__PASSWORD=changeme
DATA_RENTGEN__KAFKA__COMPRESSION=zstd

# See Frontend -> UI
DATA_RENTGEN__UI__API_BROWSER_URL=http://localhost:8000

# Session
DATA_RENTGEN__SERVER__SESSION__SECRET_KEY=session_secret_key

# Keycloak Auth
DATA_RENTGEN__AUTH__KEYCLOAK__SERVER_URL=http://keycloak:8080
DATA_RENTGEN__AUTH__KEYCLOAK__REALM_NAME=create_realm_manually
DATA_RENTGEN__AUTH__KEYCLOAK__CLIENT_ID=create_client_manually
DATA_RENTGEN__AUTH__KEYCLOAK__CLIENT_SECRET=generated_by_keycloak
DATA_RENTGEN__AUTH__KEYCLOAK__REDIRECT_URI=http://localhost:8000/auth/callback
DATA_RENTGEN__AUTH__KEYCLOAK__SCOPE=email
DATA_RENTGEN__AUTH__KEYCLOAK__VERIFY_SSL=False
DATA_RENTGEN__AUTH__PROVIDER=data_rentgen.server.providers.auth.keycloak_provider.KeycloakAuthProvider

# Dummy Auth
DATA_RENTGEN__AUTH__PROVIDER=data_rentgen.server.providers.auth.dummy_provider.DummyAuthProvider
DATA_RENTGEN__AUTH__ACCESS_TOKEN__SECRET_KEY=secret
43 changes: 39 additions & 4 deletions .env.local
Original file line number Diff line number Diff line change
@@ -1,4 +1,39 @@
export ARRAKIS__DATABASE__URL=postgresql+asyncpg://arrakis:changeme@127.0.0.1:5432/arrakis
export ARRAKIS__SERVER__DEBUG=true
export ARRAKIS__SERVER__LOGGING__PRESET=colored
export ARRAKIS_TEST_SERVER_URL=http://localhost:8000
export DATA_RENTGEN__LOGGING__PRESET=colored

export DATA_RENTGEN__DATABASE__URL=postgresql+asyncpg://data_rentgen:changeme@localhost:5432/data_rentgen

export DATA_RENTGEN__KAFKA__BOOTSTRAP_SERVERS=localhost:9093
export DATA_RENTGEN__KAFKA__SECURITY__TYPE=scram-sha256
export DATA_RENTGEN__KAFKA__SECURITY__USER=data_rentgen
export DATA_RENTGEN__KAFKA__SECURITY__PASSWORD=changeme
export DATA_RENTGEN__KAFKA__COMPRESSION=zstd

export DATA_RENTGEN__SERVER__DEBUG=true

export DATA_RENTGEN__UI__API_BROWSER_URL=http://localhost:8000

# Session
export DATA_RENTGEN__SERVER__SESSION__SECRET_KEY=session_secret_key

# Keycloak Auth
export DATA_RENTGEN__AUTH__KEYCLOAK__SERVER_URL=http://localhost:8080
export DATA_RENTGEN__AUTH__KEYCLOAK__REALM_NAME=create_realm_manually
export DATA_RENTGEN__AUTH__KEYCLOAK__CLIENT_ID=create_client_manually
export DATA_RENTGEN__AUTH__KEYCLOAK__CLIENT_SECRET=change_me
export DATA_RENTGEN__AUTH__KEYCLOAK__REDIRECT_URI=http://localhost:3000/auth/callback
export DATA_RENTGEN__AUTH__KEYCLOAK__SCOPE=email
export DATA_RENTGEN__AUTH__KEYCLOAK__VERIFY_SSL=False
export DATA_RENTGEN__AUTH__PROVIDER=data_rentgen.server.providers.auth.keycloak_provider.KeycloakAuthProvider

# Dummy Auth
export DATA_RENTGEN__AUTH__PROVIDER=data_rentgen.server.providers.auth.dummy_provider.DummyAuthProvider
export DATA_RENTGEN__AUTH__ACCESS_TOKEN__SECRET_KEY=secret

# Cors
export DATA_RENTGEN__SERVER__CORS__ENABLED=True
export DATA_RENTGEN__SERVER__CORS__ALLOW_ORIGINS=["http://localhost:3000"]
export DATA_RENTGEN__SERVER__CORS__ALLOW_CREDENTIALS=true
export DATA_RENTGEN__SERVER__CORS__ALLOW_METHODS=["*"]
export DATA_RENTGEN__SERVER__CORS__ALLOW_HEADERS=["*"]
export DATA_RENTGEN__SERVER__CORS__EXPOSE_HEADERS=["X-Request-ID", "Location", "Access-Control-Allow-Credentials"]

4 changes: 2 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!-- Thank you for your contribution! -->
<!-- Unless your change is trivial, please create an issue to discuss the change before creating a PR -->
<!-- See https://github.com/MobileTeleSystems/arrakis/blob/develop/CONTRIBUTING.rst for help on Contributing -->
<!-- See https://github.com/MobileTeleSystems/data-rentgen/blob/develop/CONTRIBUTING.rst for help on Contributing -->
<!-- PLEASE DO **NOT** put issue ids in the PR title! Instead, add a descriptive title and put ids in the body -->

## Change Summary
Expand All @@ -20,5 +20,5 @@
* [ ] Tests pass on CI and coverage does not decrease
* [ ] Documentation reflects the changes where applicable
* [ ] `docs/changelog/next_release/<pull request or issue id>.<change type>.rst` file added describing change
(see [CONTRIBUTING.rst](https://github.com/MobileTeleSystems/arrakis/blob/develop/CONTRIBUTING.rst) for details.)
(see [CONTRIBUTING.rst](https://github.com/MobileTeleSystems/data-rentgen/blob/develop/CONTRIBUTING.rst) for details.)
* [ ] My PR is ready to review.
5 changes: 5 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ updates:
interval: weekly
labels:
- type:dependency
ignore:
# https://github.com/sphinx-contrib/sphinxcontrib-towncrier/issues/92
- dependency-name: towncrier
# https://github.com/pydantic/pydantic/issues/10964
- dependency-name: pydantic
# https://til.simonwillison.net/github/dependabot-python-setup
groups:
python-packages:
Expand Down
5 changes: 3 additions & 2 deletions .github/labels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,10 @@
description: Add this label to skip changelog file check
color: 04990f

- name: component:backend
description: Backend-related changes
- name: component:server
description: Server-related changes
color: '5319e7'
from_name: component:backend

- name: component:client
description: Client-related changes
Expand Down
37 changes: 33 additions & 4 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@ concurrency:
cancel-in-progress: true

env:
# flake8-commas is failing on Python 3.12
DEFAULT_PYTHON: '3.11'
DEFAULT_PYTHON: '3.13'

jobs:
linters:
Expand Down Expand Up @@ -51,9 +50,39 @@ jobs:
- name: Install dependencies
run: |
poetry install --no-root --all-extras --with dev --without docs,test
pip install -U flake8-commas

- name: Run flake8
run: poetry run flake8 arrakis/
run: poetry run flake8 data_rentgen/

- name: Run mypy
run: poetry run mypy ./arrakis --config-file ./pyproject.toml
run: poetry run mypy ./data_rentgen --config-file ./pyproject.toml


codeql:
name: CodeQL
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5
with:
python-version: ${{ env.DEFAULT_PYTHON }}

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: python

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: /language:python
59 changes: 59 additions & 0 deletions .github/workflows/dev-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Dev release

on:
push:
branches-ignore:
- dependabot/**
- pre-commit-ci-update-config
- master
workflow_dispatch:

env:
DEFAULT_PYTHON: '3.13'

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true

jobs:
wait-code-analysis:
name: Dev release package
runs-on: ubuntu-latest
if: github.repository == 'MobileTeleSystems/data-rentgen' # prevent running on forks

environment:
name: test-pypi
url: https://test.pypi.org/p/data-rentgen
permissions:
id-token: write # to auth in Test PyPI

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5
with:
python-version: ${{ env.DEFAULT_PYTHON }}

- name: Install poetry
uses: snok/install-poetry@v1

- name: Generate unique version and update test version
run: |
poetry self add poetry-bumpversion
version=$(poetry version -s)
poetry version "${version}.dev${GITHUB_RUN_ID}"

- name: Fix logo in Readme
run: |
sed -i "s#image:: docs/#image:: https://raw.githubusercontent.com/MobileTeleSystems/data-rentgen/$GITHUB_SHA/docs/#g" README.rst

- name: Build package
run: poetry build

- name: Publish package
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
55 changes: 55 additions & 0 deletions .github/workflows/image_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Release

on:
push:
branches:
- develop
tags:
- v[0-9]+.[0-9]+.[0-9]+

jobs:
release:
name: Build & push image to Dockerhub
runs-on: ubuntu-latest
if: github.repository == 'MobileTeleSystems/data-rentgen'

steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Checkout code
uses: actions/checkout@v4

- name: Set tag
id: set_tag
run: |
if [[ "${{ github.ref_type }}" == "branch" && "${{ github.ref_name }}" == "develop" ]]; then
echo "TAG=mtsrus/data-rentgen:develop" >> $GITHUB_ENV
elif [[ "${{ github.ref_type }}" == "tag" ]]; then
echo "TAG=mtsrus/data-rentgen:latest,mtsrus/data-rentgen:${{ github.ref_name }}" >> $GITHUB_ENV
fi

- name: Build Backend Image
uses: docker/build-push-action@v6
with:
tags: ${{ env.TAG }}
context: .
file: docker/Dockerfile
pull: true
push: true
cache-to: type=gha,mode=max
cache-from: type=gha
platforms: |
linux/amd64
linux/arm64/v8
provenance: mode=max

Loading
Loading