Skip to content

[HCA DCP] Clean up unused dev and cc-ma-dev site-configs, relocate makeConfig to ma-dev #4820

@frano-m

Description

@frano-m

Background

site-config/hca-dcp/dev and site-config/hca-dcp/cc-ma-dev are no longer in use as deployed environments. Their content is still imported by other configs and runtime code, which keeps them around but makes the relationship confusing:

  • hca-dcp/dev/config.ts is the home of makeConfig, which is imported by hca-dcp/ma-dev, hca-dcp/ma-prod, hca-dcp/prod, and hca-dcp/cc-ma-dev for the base config factory.
  • hca-dcp/cc-ma-dev/config.ts is the home of makeManagedAccessConfig, which is imported by hca-dcp/ma-dev and hca-dcp/ma-prod to layer in authentication, the managed-access category-group config, the auth-enabled header, and the managed-access entities/export overrides.
  • hca-dcp/dev/ content (export, detail, index, etc.) is also imported across lungmap/dev/* (5 files) and a couple of app/viewModelBuilders/azul/hca-dcp/common/* files plus app/config/config.ts.

Currently prod builds without the managed-access overlay, so it doesn't pick up the auth wiring that ma-dev/ma-prod get from makeManagedAccessConfig.

Goal

Consolidate the actively-deployed HCA DCP env hierarchy onto ma-dev and ma-prod (the actual UCSC-hosted deployments), so deprecated dev and cc-ma-dev are no longer the home of shared code.

Scope

  • Move makeConfig from hca-dcp/dev/config.ts into hca-dcp/ma-dev/config.ts so prod (and ma-prod) import it from the actually-deployed dev env.
  • Fold makeManagedAccessConfig (currently in cc-ma-dev/config.ts) into hca-dcp/ma-dev/config.ts. Verify the new ma-dev makeConfig flow includes all the fields that the managed-access function currently adds — specifically the authentication wiring (auth providers + services, authenticationEnabled on header, managed-access category-group config, managed-access entities config, managed-access export overrides). It's load-bearing for ma-dev / ma-prod; do not drop fields silently.
  • Update all importers of hca-dcp/dev/* and hca-dcp/cc-ma-dev/* to point at the new locations under ma-dev. Known consumers:
    • site-config/hca-dcp/ma-dev/config.ts
    • site-config/hca-dcp/ma-prod/config.ts
    • site-config/hca-dcp/prod/config.ts
    • site-config/lungmap/dev/* (5 files) — re-pointed at the new home
    • app/viewModelBuilders/azul/hca-dcp/common/viewModelBuilders.ts
    • app/viewModelBuilders/azul/hca-dcp/common/projectMapper/projectEdits/projectEdits.ts
    • app/config/config.ts
  • Decide what to do with hca-dcp/dev/ and hca-dcp/cc-ma-dev/ directories once the shared code has moved — delete entirely, or leave shells in place if some content (e.g. hca-dcp/dev/scripts/get-cellxgene-projects.ts) still needs a home.

Out of scope

  • Behaviour changes to the deployed envs (ma-dev, ma-prod, prod) — this is a pure code-organisation refactor.
  • Lungmap restructuring beyond updating import paths to follow the moved code.
  • Whether prod should pick up the managed-access overlay (separate question; today it doesn't, and that's preserved).

Verification

  • npm run build-dev:hca-dcp, build-cc-ma-dev:hca-dcp, build-ma-dev:hca-dcp, build-ma-prod:hca-dcp, build-prod:hca-dcp, build-dev:lungmap, build-prod:lungmap all succeed.
  • npm run lint and tsc --noEmit clean.
  • Login still works on ma-dev (the authorization code flow path) and ma-prod (implicit flow) — auth fields didn't get dropped in the move.
  • Visual smoke against the deployed ma-dev / ma-prod confirms no regressions in managed-access entity views.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions