79 lines
1.9 KiB
Markdown
79 lines
1.9 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/
|
|
```
|
|
|
|
Current Phase 2 installer:
|
|
|
|
```bash
|
|
install/phases/10-dotnet.sh
|
|
```
|
|
|
|
The .NET installer installs only the required .NET SDK packages and verifies them with `dotnet --list-sdks`.
|
|
|
|
Current installed SDKs:
|
|
|
|
- .NET 8 SDK `8.0.128`
|
|
- .NET 10 SDK `10.0.109`
|
|
|
|
.NET 8 is installed from the official Ubuntu .NET backports PPA. .NET 10 is installed from the built-in Ubuntu package feeds.
|
|
|
|
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.
|