64 lines
1.5 KiB
Markdown

# Install
This directory is reserved for ordered, idempotent installation scripts for Atlas.
Phase 2A provides the shared Bash framework and a bootstrap scaffold. It does not install .NET, SQL Server, nginx, Docker, or other future platform components.
## What Belongs Here
- Bootstrap scripts.
- Package installation scripts.
- Service installation scripts.
- Storage, runtime, and tooling setup scripts.
- Validation wrappers for installation phases.
- Shared Bash framework libraries under `lib/`.
- Component manifests under `manifests/`.
## What Must Not Be Stored Here
- Secrets, passwords, tokens, private keys, or live credentials.
- One-off experiments.
- Generated logs.
- Downloaded package caches.
- Application source code.
- Deployment artefacts.
## Naming Conventions
Future phase scripts should use a two-digit numeric prefix followed by a short lower-case hyphenated name:
```text
phases/10-dotnet.sh
phases/20-sql-server.sh
phases/30-nginx.sh
phases/40-docker.sh
phases/90-validate-platform.sh
```
Scripts must follow [SERVER-STANDARDS.md](../SERVER-STANDARDS.md).
## Expected Future Structure
Current Phase 2A structure:
```text
bootstrap.sh
lib/
manifests/
phases/
```
Runtime output belongs outside the repository:
- `/var/log/atlas/install/`
- `/var/log/atlas/reports/`
- `/var/lib/atlas/`
## Security Considerations
- Use `sudo` only for commands that need it.
- Do not print secrets.
- Do not embed credentials.
- Validate package sources and signing keys.
- Make scripts safe to rerun.