-
Notifications
You must be signed in to change notification settings - Fork 17
Open
Milestone
Description
Description:
Currently, our webasset server repo maintains two separate branches:
- exoscale-assets
- s3-commands
This setup creates overhead in maintaining duplicate logic, synchronizing changes, and increases the risk of divergence between the two branches.
Proposal:
- Merge both branches into a single main branch.
- Introduce configuration-based settings (e.g., environment variables, config files, or build flags) to differentiate behaviors between Exoscale and S3 use cases.
- Ensure that the correct environment is applied during deployment by using these settings instead of relying on separate branches.
- Unify configuration across all asset servers (both internal and external) to minimize misconfiguration risks and reduce the possibility of disruption or crashes.
Why this change is needed:
- Consistency: All bug fixes, features, and updates happen in one branch, reducing the chance of branches drifting apart.
- Simplified workflow: Developers only need to work with one branch and can switch context with settings instead of branching.
- Reduced outages from misconfiguration: Currently, some servers default to HTTP while production uses HTTPS. This mismatch caused downtime, since HTTPS instances of Specify 7 cannot communicate with HTTP asset servers, resulting in complete load failures.
- Production-safe defaults: Defaults should always reflect the configurations we use in production. Providing untested defaults (e.g., HTTP) increases the risk of outages for us and for external users.
- Faster development & maintenance: Eliminates the need to cherry-pick changes between two branches, reduces merge conflicts, and ensures consistent pipelines.
Next Steps:
- Compare the two branches to identify differences.
- Merge s3-commands into exoscale-assets (or vice versa) as the new default branch.
- Introduce unified configuration files (e.g., config.exoscale.json and config.s3.json) or environment variable–based toggles.
- Make HTTPS the default configuration to align with production usage.
- Update documentation to explain how to switch between Exoscale and S3 modes.
- Test both configurations thoroughly.
grantfitzsimmons
Metadata
Metadata
Assignees
Labels
No labels