# Externalize Configuration

> A technique for moving values that vary by environment out of code into configuration read at startup.

Record: `lexicon:externalize-configuration`
Kind: technique
Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-externalize-configuration

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Identity Provider Availability](https://banes-lab.com/records/lexicon/identity-provider-availability.md) and before [Configuration Schema](https://banes-lab.com/records/lexicon/configuration-schema.md).

## Category

- [Control / Coordination / Centralization](https://banes-lab.com/records/lexicon-category/control-coordination-centralization.md)

## Refactors

- [Hardcoded Configuration](https://banes-lab.com/records/architecture/hardcoded-configuration.md)
- [Magic Value](https://banes-lab.com/records/architecture/magic-value.md)
- [Environment Parity](https://banes-lab.com/records/architecture/environment-parity.md)
- [Containerization](https://banes-lab.com/records/architecture/containerization.md)
- [Configuration Externalization](https://banes-lab.com/records/architecture/configuration-externalization.md)
- [Declarative Configuration](https://banes-lab.com/records/architecture/declarative-configuration.md)
- [Resource Utilization](https://banes-lab.com/records/architecture/resource-utilization.md)

## Linked from

- [Anti-patterns](https://banes-lab.com/ontology/principles/architecture-category-anti-patterns.md)
- [Portability / Infrastructure / Deployment](https://banes-lab.com/ontology/principles/architecture-category-portability-infrastructure-deployment.md)
- [Metadata / Self-Description / Declarative Systems](https://banes-lab.com/ontology/principles/architecture-category-metadata-self-description-declarative-systems.md)
- [Scalability / Performance / Optimization](https://banes-lab.com/ontology/principles/architecture-category-scalability-performance-optimization.md)
