Start filling out the quick start section (#1248)
## Description This commit also fixes a couple of other doc "bugs" and creates tab consistency. ## Type of change - [x] 🌻 Feature - [x] 🐛 Bugfix - [x] 🗺️ Documentation
This commit is contained in:
parent
f57b0f1f7e
commit
f78e3ff5bd
@ -1,11 +1,114 @@
|
||||
# Quick start
|
||||
|
||||
In this quick start guide, you will perform your first backup followed by a restore.
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
import TOCInline from '@theme/TOCInline';
|
||||
|
||||
## Prerequisites
|
||||
This quick start guide runs through the steps you can follow to create your first Microsoft 365 backup and restore:
|
||||
|
||||
* Configure connection to your M365 Tenant (see [M365 Access](/setup/m365_access))
|
||||
* Initialize a Corso backup repository (see [Repositories](/setup/repos))
|
||||
<TOCInline toc={toc} maxHeadingLevel={2}/>
|
||||
|
||||
## Connecting to Microsoft 365
|
||||
|
||||
Obtaining credentials from Microsoft 365 to allow Corso to run is a moderately involved one-time operation.
|
||||
Follow the instructions [here](setup/m365_access) to obtain the necessary credentials and then make them available to
|
||||
Corso.
|
||||
|
||||
<Tabs groupId="os">
|
||||
<TabItem value="win" label="Powershell">
|
||||
|
||||
```powershell
|
||||
$Env:AZURE_CLIENT_ID = "<Directory (tenant) ID for configured app>"
|
||||
$Env:AZURE_TENANT_ID = "<Application (client) ID for configured app>"
|
||||
$Env:AZURE_CLIENT_SECRET = "<Client secret value>"
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="unix" label="Linux/macOS">
|
||||
|
||||
```bash
|
||||
export AZURE_TENANT_ID=<Directory (tenant) ID for configured app>
|
||||
export AZURE_CLIENT_ID=<Application (client) ID for configured app>
|
||||
export AZURE_CLIENT_SECRET=<Client secret value>
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="docker" label="Docker">
|
||||
|
||||
```bash
|
||||
export AZURE_TENANT_ID=<Directory (tenant) ID for configured app>
|
||||
export AZURE_CLIENT_ID=<Application (client) ID for configured app>
|
||||
export AZURE_CLIENT_SECRET=<Client secret value>
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Repository creation
|
||||
|
||||
To create a secure backup location for Corso, we will create a bucket (`corso-test` is used as an example) in AWS S3.
|
||||
The following commands assume that all configuration values from the previous step, `AWS_ACCESS_KEY_ID`, and
|
||||
`AWS_SECRET_ACCESS_KEY` are available to the Corso binary or container.
|
||||
|
||||
<Tabs groupId="os">
|
||||
<TabItem value="win" label="Powershell">
|
||||
|
||||
```powershell
|
||||
# Create the AWS S3 Bucket
|
||||
aws s3api create-bucket --bucket corso-test
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="unix" label="Linux/macOS">
|
||||
|
||||
```bash
|
||||
# Create the AWS S3 Bucket
|
||||
aws s3api create-bucket --bucket corso-test
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="docker" label="Docker">
|
||||
|
||||
```bash
|
||||
# Create the AWS S3 Bucket
|
||||
aws s3api create-bucket --bucket corso-test
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
Next, let's initialize the Corso repository using an encryption passphrase.
|
||||
<Tabs groupId="os">
|
||||
<TabItem value="win" label="Powershell">
|
||||
|
||||
```powershell
|
||||
# Initialize the Corso Repository
|
||||
$Env:CORSO_PASSPHRASE = "CHANGE-ME-THIS-IS-INSECURE"
|
||||
.\corso.exe repo init s3 --bucket corso-test
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="unix" label="Linux/macOS">
|
||||
|
||||
```bash
|
||||
# Initialize the Corso Repository
|
||||
export CORSO_PASSPHRASE="CHANGE-ME-THIS-IS-INSECURE"
|
||||
corso repo init s3 --bucket corso-test
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="docker" label="Docker">
|
||||
|
||||
```bash
|
||||
# Initialize the Corso Repository
|
||||
export CORSO_PASSPHRASE="CHANGE-ME-THIS-IS-INSECURE"
|
||||
docker run --env-file ~/.corso/corso.env \
|
||||
--volume $HOME/.corso:/app/corso corso/corso:latest \
|
||||
repo init s3 --bucket corso-test
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Your first backup
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@ Two things are needed to run Corso:
|
||||
* Environment variables containing configuration information
|
||||
* A directory for Corso to store its configuration file
|
||||
|
||||
## Environment Variables
|
||||
## Environment variables
|
||||
|
||||
Three distinct pieces of configuration are required by Corso:
|
||||
|
||||
@ -32,7 +32,12 @@ alternate ways to pass AWS credentials.
|
||||
<Tabs groupId="os">
|
||||
<TabItem value="win" label="Powershell">
|
||||
|
||||
Ensure that all of the above environment variables are available in your Powershell environment.
|
||||
Ensure that all of the above environment variables are defined in your Powershell environment.
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="unix" label="Linux/macOS">
|
||||
|
||||
Ensure that all of the above environment variables are defined in your shell environment.
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="docker" label="Docker">
|
||||
@ -43,7 +48,7 @@ To create the environment variables file, you can run the following command:
|
||||
|
||||
```bash
|
||||
# Create an environment variables file
|
||||
cat <<EOF ~/.corso/corso.env
|
||||
cat <<EOF > ~/.corso/corso.env
|
||||
CORSO_PASSPHRASE
|
||||
AZURE_TENANT_ID
|
||||
AZURE_CLIENT_ID
|
||||
@ -62,7 +67,13 @@ To create the environment variables file, you can run the following command:
|
||||
<Tabs groupId="os">
|
||||
<TabItem value="win" label="Powershell">
|
||||
|
||||
By default, Corso store its configuration file (`.corso.toml`) in the directory where the binary is executed.
|
||||
By default, Corso stores its configuration file (`.corso.toml`) in the root of the home directory.
|
||||
The location of the configuration file can be specified using the `--config-file` option.
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="unix" label="Linux/macOS">
|
||||
|
||||
By default, Corso store its configuration file (`.corso.toml`) in the root of the home directory.
|
||||
The location of the configuration file can be specified using the `--config-file` option.
|
||||
|
||||
</TabItem>
|
||||
|
||||
@ -4,6 +4,9 @@ description: "Connect to a Microsft 365 tenant"
|
||||
|
||||
# Microsoft 365 access
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
To perform backup and restore operations, Corso requires access to your [M365 tenant](concepts#m365-concepts)
|
||||
through an [Azure AD application](concepts#m365-concepts) with appropriate permissions.
|
||||
|
||||
@ -59,10 +62,32 @@ as environment variables.
|
||||
To extract the tenant and client ID, select Overview from the app management panel and export the corresponding
|
||||
environment variables.
|
||||
|
||||
```bash
|
||||
export AZURE_TENANT_ID=<Directory (tenent) ID for configured app>
|
||||
export AZURE_CLIENT_ID=<Application (client) ID for configured app>
|
||||
```
|
||||
<Tabs groupId="os">
|
||||
<TabItem value="win" label="Powershell">
|
||||
|
||||
```powershell
|
||||
$Env:AZURE_CLIENT_ID = "<Directory (tenant) ID for configured app>"
|
||||
$Env:AZURE_TENANT_ID = "<Application (client) ID for configured app>"
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="unix" label="Linux/macOS">
|
||||
|
||||
```bash
|
||||
export AZURE_TENANT_ID=<Directory (tenant) ID for configured app>
|
||||
export AZURE_CLIENT_ID=<Application (client) ID for configured app>
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="docker" label="Docker">
|
||||
|
||||
```bash
|
||||
export AZURE_TENANT_ID=<Directory (tenant) ID for configured app>
|
||||
export AZURE_CLIENT_ID=<Application (client) ID for configured app>
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
<img src="/img/m365app_ids.png" className="guideImages"/>
|
||||
|
||||
@ -74,8 +99,28 @@ management panel.
|
||||
Click **New Client Secret** and follow the instructions to create a secret. After creating the secret, copy the secret
|
||||
value right away because it won't be available later and export it as an environment variable.
|
||||
|
||||
```bash
|
||||
export AZURE_CLIENT_SECRET=<client secret value>
|
||||
```
|
||||
<Tabs groupId="os">
|
||||
<TabItem value="win" label="Powershell">
|
||||
|
||||
```powershell
|
||||
$Env:AZURE_CLIENT_SECRET = "<Client secret value>"
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="unix" label="Linux/macOS">
|
||||
|
||||
```bash
|
||||
export AZURE_CLIENT_SECRET=<Client secret value>
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="docker" label="Docker">
|
||||
|
||||
```bash
|
||||
export AZURE_CLIENT_SECRET=<Client secret value>
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
<img src="/img/m365app_secret.png" className="guideImages"/>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user