Comments (3)
As part of this we can also:
- Assess whether there are any command-line flags that are not inherently "global" and could potentially vary based on the specific subcommand. In such case, we may need to allow users to override these specific environment variables using command-line options. We can start with identifying any flags falling within this category.
- Review current validations for each command and their respective subcommands tree and make adjustments/improvements where necessary.
from go.
I have a PR that introduces a deprecation warning for the --db-url
command-line parameter. This PR also includes the necessary changes to support a config flag exclusively via environment variables. However, I'm not sure if this is the best way to go. Here are a few reasons why:
- If we make one config parameter exclusively environment variables, the inconsistency could confuse users.
- Users can run multiple Horizon instances, and these instances might need to connect to different databases.
For example, they might have an API-only instance and an ingestion instance on the same machine. In such cases, the API instance might need to use a read-only database (ro db instance), while the ingestion instance needs thedb-url
parameter to point to a read-write database (rw db instance). To manage this, users would have to create extra scripts to pass different environment variables. Keeping the option to setdb-url
via the command line might be simpler for users.
I agree that command-line parameters may not be the most secure approach, and we may need to rethink how we handle Horizon's configuration as a whole. However, recommending the use of environment variables for configuring Horizon in our public documentation guides users toward a more secure and proper setup.
I'd love to hear your thoughts on this, @mollykarcher, @sreuland, @aditya1702.
from go.
As discussed during the Partner Experience team meeting, we have decided not to proceed with this and instead favor #5045. Hence, closing this issue.
from go.
Related Issues (20)
- stellar/horizon: Figure out difference from core in path payment ingestion HOT 1
- Create Horizon Configuration File
- services/horizon/flags: refined cli help content HOT 1
- services/horizon: use of strict captive-core config makes horizon unnecessarily incompatible with new stellar-core features HOT 1
- Eviction of Soroban ledger entries can lead to Horizon having invalid asset stats HOT 4
- horizon: TestFillGaps and TestReingestDB are flaky HOT 6
- Add Flag to truncate full href URL in responses
- services/horizon: deprecate command-line parameter usage in favor of env vars
- services/horizon: support configuration via configuration files HOT 1
- services/horizon: Document horizon setups of partners
- services/horizon: fix long-running payment migration HOT 2
- Remove unused indexes from horizon schema HOT 8
- services/horizon: investigate db connection management anomalies
- Write a knowledge document on removing Horizon submission queue
- Horizon does not account for expired contract balances in asset stats endpoint HOT 3
- Horizon payments query can degrade depending on distribution of operations
- services/horizon: Decouple reaping module from Horizon App
- xdr: update XDR for soroban pubnet release HOT 1
- Evaluate core change impact of renaming LedgerCloseMetaV2 to V1 since V1 is not currently used
- services/horizon: submitting soroban tx without sorobanData results in 500 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go.