Mondo Diaz
ab50148a60
Fix Artifact model field names in PyPI proxy
...
Use correct Artifact model fields:
- original_name instead of filename
- Add required created_by and s3_key fields
- Include checksum fields from storage result
2026-02-05 09:15:08 -06:00
Mondo Diaz
acee458b3c
Fix PyPI proxy to use correct storage.store() method
...
The code was calling storage.store_artifact() which doesn't exist.
Changed to use storage.store() which handles content-addressable
storage with automatic deduplication.
2026-02-05 09:15:08 -06:00
Mondo Diaz
f18b8ed560
Allow full path in PyPI upstream source URL
...
Users can now configure the full path including /simple in their
upstream source URL (e.g., https://example.com/api/pypi/repo/simple )
instead of having the code append /simple/ automatically.
This matches pip's --index-url format, making configuration more
intuitive and copy/paste friendly.
2026-02-05 09:15:08 -06:00
Mondo Diaz
7e84dd3958
Fix test_rewrite_relative_links assertion to expect correct URL
...
The test was checking for the wrong URL pattern. When urljoin resolves
../../packages/ab/cd/... relative to /api/pypi/pypi-remote/simple/requests/,
it correctly produces /api/pypi/pypi-remote/packages/ab/cd/... (not
/api/pypi/packages/...).
2026-02-05 09:15:08 -06:00
Mondo Diaz
a72c9d3f6e
Improve PyPI proxy test assertions for all status codes
...
Tests now verify the correct response for each scenario:
- 200: HTML content-type
- 404: "not found" error message
- 503: "No PyPI upstream sources configured" error message
2026-02-05 09:15:08 -06:00
Mondo Diaz
a6618fe550
Fix PyPI proxy tests to work with or without upstream sources
...
- Tests now accept 200/404/503 responses since upstream sources may or
may not be configured in the test environment
- Added upstream_base_url parameter to _rewrite_package_links test
- Added test for relative URL resolution (Artifactory-style URLs)
2026-02-05 09:15:08 -06:00
Mondo Diaz
796176c251
Fix HTTPS scheme detection behind reverse proxy
...
When behind a reverse proxy that terminates SSL, the server sees HTTP
requests internally. Added _get_base_url() helper that respects the
X-Forwarded-Proto header to generate correct external HTTPS URLs.
This fixes links in the PyPI simple index showing http:// instead of
https:// when accessed via HTTPS through a load balancer.
2026-02-05 09:15:08 -06:00
Mondo Diaz
f58fb0079a
Fix relative URL handling in PyPI proxy
...
Artifactory and other registries may return relative URLs in their
Simple API responses (e.g., ../../packages/...). The proxy now resolves
these to absolute URLs using urljoin() before encoding them in the
upstream parameter.
This fixes package downloads failing when the upstream registry uses
relative URLs in its package index.
2026-02-05 09:15:08 -06:00
Mondo Diaz
f57762334f
Remove dead code from pypi_proxy.py
...
- Remove unused imports (UpstreamClient, UpstreamClientConfig,
UpstreamHTTPError, UpstreamConnectionError, UpstreamTimeoutError)
- Simplify matched_source selection logic, removing dead conditional
that always evaluated to True due to 'or True'
2026-02-05 09:15:08 -06:00
Mondo Diaz
599c8c1d5b
Fix httpx.Timeout configuration in PyPI proxy
...
httpx.Timeout requires either a default value or all four parameters.
Changed to httpx.Timeout(default, connect=X) format.
2026-02-05 09:15:08 -06:00
Evan Cohen-Doty
11c5aee0f1
Merge branch 's3_bucket_provisioner' into 'main'
...
59 Add S3 Bucket Provisioner
Closes #59
See merge request esv/bsf/bsf-integration/orchard/orchard-mvp!49
2026-02-04 11:32:12 -08:00
Evan Cohen-Doty
1b706fe858
59 Add S3 Bucket Provisioner
2026-02-04 11:32:12 -08:00
Mondo Diaz
dcd405679a
Merge branch 'feature/transparent-proxy' into 'main'
...
Add transparent PyPI proxy and improve upstream sources UI
Closes #108
See merge request esv/bsf/bsf-integration/orchard/orchard-mvp!56
2026-01-29 16:12:57 -06:00
Mondo Diaz
97498b2f86
Add transparent PyPI proxy and improve upstream sources UI
2026-01-29 16:12:57 -06:00
Mondo Diaz
e8cf2462b7
Merge branch 'fix/upstream-caching-bugs-2' into 'main'
...
Simplify cache management UI and improve test status display (#107 )
See merge request esv/bsf/bsf-integration/orchard/orchard-mvp!55
2026-01-29 14:25:19 -06:00
Mondo Diaz
038ad4ed1b
Simplify cache management UI and improve test status display ( #107 )
2026-01-29 14:25:19 -06:00
Mondo Diaz
858b45d434
Merge branch 'fix/purge-seed-data-user-id' into 'main'
...
Fix purge_seed_data type mismatch for access_permissions.user_id (#107 )
See merge request esv/bsf/bsf-integration/orchard/orchard-mvp!54
2026-01-29 13:48:21 -06:00
Mondo Diaz
95470b2bf6
Fix purge_seed_data type mismatch for access_permissions.user_id ( #107 )
2026-01-29 13:48:21 -06:00
Mondo Diaz
c512d85f9e
Merge branch 'fix/upstream-caching-bugs' into 'main'
...
Remove public internet features and fix upstream source UI (#107 )
See merge request esv/bsf/bsf-integration/orchard/orchard-mvp!53
2026-01-29 13:26:29 -06:00
Mondo Diaz
82f67539bd
Remove public internet features and fix upstream source UI ( #107 )
2026-01-29 13:26:28 -06:00
Mondo Diaz
e93e7e7021
Merge branch 'feature/proxy-schema' into 'main'
...
Add upstream caching infrastructure and refactor CI pipeline
See merge request esv/bsf/bsf-integration/orchard/orchard-mvp!52
2026-01-29 11:55:15 -06:00
Mondo Diaz
1d51c856b0
Add upstream caching infrastructure and refactor CI pipeline
2026-01-29 11:55:15 -06:00
Mondo Diaz
c92895ffe9
Merge branch 'fix/migration-rollback' into 'main'
...
Add rollback after failed migration to allow subsequent migrations to run
See merge request esv/bsf/bsf-integration/orchard/orchard-mvp!51
2026-01-28 15:23:51 -06:00
Mondo Diaz
b147af43d2
Add rollback after failed migration to allow subsequent migrations to run
2026-01-28 15:23:51 -06:00
Mondo Diaz
aed48bb4a2
Merge branch 'fix/teams-migration-runtime-v2' into 'main'
...
Add teams migration to runtime migrations
See merge request esv/bsf/bsf-integration/orchard/orchard-mvp!50
2026-01-28 14:19:35 -06:00
Mondo Diaz
0e67ebf94f
Add teams migration to runtime migrations
2026-01-28 14:19:35 -06:00
Mondo Diaz
0a69910e8b
Merge branch 'feature/multi-tenancy-teams' into 'main'
...
Add multi-tenancy with Teams feature
Closes #88 , #89 , #90 , #91 , #92 , #93 , #94 , #95 , #96 , #97 , #98 , #99 , #100 , #101 , #102 , #103 , and #104
See merge request esv/bsf/bsf-integration/orchard/orchard-mvp!48
2026-01-28 12:50:58 -06:00
Mondo Diaz
576791d19e
Add multi-tenancy with Teams feature
2026-01-28 12:50:58 -06:00
Mondo Diaz
a5796f5437
Merge branch 'feature/stage-password-ci-var' into 'main'
...
Use CI variable for stage admin password
See merge request esv/bsf/bsf-integration/orchard/orchard-mvp!47
2026-01-27 15:44:35 -06:00
Mondo Diaz
284945ba33
Use CI variable for stage admin password
2026-01-27 15:44:34 -06:00
Mondo Diaz
fe07638485
Merge branch 'feature/admin-password-env-var' into 'main'
...
Add configurable admin password via environment variable
Closes #87
See merge request esv/bsf/bsf-integration/orchard/orchard-mvp!46
2026-01-27 14:23:41 -06:00
Mondo Diaz
7120cf64f1
Add configurable admin password via environment variable
2026-01-27 14:23:40 -06:00
Mondo Diaz
718e6e7193
Merge branch 'feature/package-dependencies' into 'main'
...
Add package dependencies system and project settings page
Closes #76 , #77 , #78 , #79 , #80 , and #81
See merge request esv/bsf/bsf-integration/orchard/orchard-mvp!45
2026-01-27 10:11:04 -06:00
Mondo Diaz
abba90ebac
Add package dependencies system and project settings page
2026-01-27 10:11:04 -06:00
Mondo Diaz
6c8b922818
Merge branch 'fix/reset-stage-before-tests' into 'main'
...
Add pre-test stage reset to ensure known environment state
See merge request esv/bsf/bsf-integration/orchard/orchard-mvp!44
2026-01-26 09:13:04 -06:00
Mondo Diaz
99d28cf9c6
Add pre-test stage reset to ensure known environment state
2026-01-26 09:13:03 -06:00
Dane Moss
b5579f1643
Merge branch 'release_0.5.1' into 'main'
...
add CL entry to bump version
See merge request esv/bsf/bsf-integration/orchard/orchard-mvp!43
2026-01-23 15:37:09 -07:00
Dane Moss
fafa03e4ce
add CL entry to bump version
2026-01-23 15:37:09 -07:00
Mondo Diaz
d4b2da3232
Merge branch 'fix/release-wait-for-stage-tests' into 'main'
...
Add gitleaks fingerprint for test file false positive
See merge request esv/bsf/bsf-integration/orchard/orchard-mvp!42
2026-01-23 16:16:03 -06:00
Mondo Diaz
7b04bbdf05
Add gitleaks fingerprint for test file false positive
2026-01-23 16:16:02 -06:00
Mondo Diaz
3a807870a3
Merge branch 'fix/ci-prod-namespace' into 'main'
...
Fix production CI deployment and simplify tag pipeline
See merge request esv/bsf/bsf-integration/orchard/orchard-mvp!41
2026-01-23 15:50:24 -06:00
Mondo Diaz
f966fde7df
Fix production CI deployment and simplify tag pipeline
2026-01-23 15:50:24 -06:00
Mondo Diaz
133d9cbfd6
Merge branch 'bump_version' into 'main'
...
add changelog entry to cut a new release
See merge request esv/bsf/bsf-integration/orchard/orchard-mvp!40
2026-01-23 13:00:51 -06:00
Dane Moss
276b4f2743
add changelog entry to cut a new release
2026-01-23 10:46:20 -07:00
Mondo Diaz
67ac6bb3f8
Merge branch 'fix/factory-reset-admin-user' into 'main'
...
Update CHANGELOG with factory reset fixes (#60 )
See merge request esv/bsf/bsf-integration/orchard/orchard-mvp!39
2026-01-23 09:33:01 -06:00
Mondo Diaz
b0bb3ed569
Update CHANGELOG with factory reset fixes ( #60 )
2026-01-21 23:44:45 +00:00
Mondo Diaz
1ac75e1017
Fix factory reset and improve reset_stage CI job
...
- Add create_default_admin() call to factory reset (admin user wasn't being
created after reset, only on server restart)
- Add retry logic to reset_stage CI job (3 attempts with 5s delay)
- Use proper context manager for httpx client
- Increase timeout to 120s for reset operation
- Add retry: 1 at job level for transient failures
2026-01-21 23:20:48 +00:00
Mondo Diaz
693613f111
Fix factory reset - capture username before dropping tables
2026-01-21 23:18:29 +00:00
Mondo Diaz
9da4ae8c0d
Add gitleaks fingerprint for test file false positive
2026-01-21 22:59:08 +00:00
Mondo Diaz
7ffdc64364
Fix seed_database call in factory reset - pass fresh db session
2026-01-21 22:51:03 +00:00