Clean up Repository information (#1267)

## Description

- Remove bucket creationn from the quickstart
- Remove repo connect from the quickstart
- Add examples to the repo page
- Reoder setup pages given pre-requisites to the examples on the repo page
- Cleanups, edits, and clarifications on the repo page

## Type of change

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature
- [x] 🐛 Bugfix
- [x] 🗺️ Documentation

## Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* Closes #1262
This commit is contained in:
Niraj Tolia 2022-10-20 16:02:15 -07:00 committed by GitHub
parent 268e12d14f
commit d877240d4f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 82 additions and 33 deletions

View File

@ -45,20 +45,19 @@ Obtaining credentials from Microsoft 365 to allow Corso to run is a one-time ope
## Repository creation
To create a secure backup location for Corso, you will create a bucket in AWS S3 and then initialize the Corso
repository using an [encryption passphrase](/setup/configuration#environment-variables). The steps below use
`corso-test` as the bucket name but, if you are using AWS, you will need a different unique name for the bucket.
To create a secure backup location for Corso, you will need to initialize the Corso repository using an
[encryption passphrase](/setup/configuration#environment-variables) and a pre-created S3 bucket (Corso doesn't create
the bucket if it doesn't exist). The steps below use `corso-test` as the bucket name but, if you are using AWS, you
will need a different unique name for the bucket.
The following commands assume that all the configuration values from the previous step, `AWS_ACCESS_KEY_ID`, and
`AWS_SECRET_ACCESS_KEY` are available to the Corso binary or container.
The following commands assume that in addition to the configuration values from the previous step, `AWS_ACCESS_KEY_ID`
and `AWS_SECRET_ACCESS_KEY` (and `AWS_SESSION_TOKEN` if you are using temporary credentials) 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
# Initialize the Corso Repository
$Env:CORSO_PASSPHRASE = "CHANGE-ME-THIS-IS-INSECURE"
.\corso.exe repo init s3 --bucket corso-test
@ -68,9 +67,6 @@ The following commands assume that all the configuration values from the previou
<TabItem value="unix" label="Linux/macOS">
```bash
# Create the AWS S3 Bucket
aws s3api create-bucket --bucket corso-test
# Initialize the Corso Repository
export CORSO_PASSPHRASE="CHANGE-ME-THIS-IS-INSECURE"
corso repo init s3 --bucket corso-test
@ -80,9 +76,6 @@ The following commands assume that all the configuration values from the previou
<TabItem value="docker" label="Docker">
```bash
# Create the AWS S3 Bucket
aws s3api create-bucket --bucket corso-test
# Create an environment variables file
mkdir -p $HOME/.corso
cat <<EOF > $HOME/.corso/corso.env
@ -107,16 +100,13 @@ The following commands assume that all the configuration values from the previou
## Create your first backup
Corso can do much more, but you can start by creating a backup of your Exchange mailbox. To do this, first ensure that
you are connected with the repository and then backup your own Exchange mailbox.
Corso can do much more, but you can start by creating a backup of your Exchange mailbox. If it has been a while since
you initialized the Corso repository, you might need to [connect to it again](/setup/repos#connect-to-a-repository).
<Tabs groupId="os">
<TabItem value="win" label="Powershell">
```powershell
# Connect to the Corso Repository
.\corso.exe repo connect s3 --bucket corso-test
# Backup your inbox
.\corso.exe backup create exchange --user <your exchange email address>
```
@ -125,9 +115,6 @@ you are connected with the repository and then backup your own Exchange mailbox.
<TabItem value="unix" label="Linux/macOS">
```bash
# Connect to the Corso Repository
corso repo connect s3 --bucket corso-test
# Backup your inbox
corso backup create exchange --user <your exchange email address>
```
@ -136,11 +123,6 @@ you are connected with the repository and then backup your own Exchange mailbox.
<TabItem value="docker" label="Docker">
```bash
# Connect to the Corso Repository
docker run --env-file $HOME/.corso/corso.env \
--volume $HOME/.corso:/app/corso ghcr.io/alcionai/corso:latest \
repo connect s3 --bucket corso-test
# Backup your inbox
docker run --env-file $HOME/.corso/corso.env \
--volume $HOME/.corso:/app/corso ghcr.io/alcionai/corso:latest \

View File

@ -4,6 +4,9 @@ description: "Configure backup repository"
# Repositories
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
A Corso [repository](concepts#corso-concepts) stores encrypted copies of your backup data. Repositories are
supported on the following object storage systems:
@ -12,16 +15,16 @@ import TOCInline from '@theme/TOCInline';
<TOCInline toc={toc} maxHeadingLevel={2}/><br/>
:::note
Depending on community interest, Corso may support other object storage backends in the future.
Depending on community interest, Corso will add support for other object storage backends in the future.
:::
## Amazon S3
### Prerequisites
Before setting you your Corso S3 repository, the following prerequisites must be met:
Before setting up your Corso S3 repository, the following prerequisites must be met:
* S3 bucket for the repository already exists. Corso won't create it for you.
* The S3 bucket for the repository already exists. Corso won't create it for you.
* You have access to credentials for a user or an IAM role that has the following permissions:
```json
@ -50,6 +53,7 @@ Before setting you your Corso S3 repository, the following prerequisites must be
Corso supports the credential options offered by the AWS Go SDK. For Full details, see the *Specifying Credentials*
section of the [official documentation](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html).
The two most commonly-used options are:
* **Environment variables** - set and export `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`. If using temporary
credentials derived by assuming an IAM Role, you will also need `AWS_SESSION_TOKEN`.
@ -61,8 +65,71 @@ section of the [official documentation](https://docs.aws.amazon.com/sdk-for-go/v
### Initialize repository
Before first use, you need to initialize a Corso repository with `corso repo init s3`. See command details
Before first use, you need to initialize a Corso repository with `corso repo init s3`. See the command details
[here](/cli/corso_repo_init_s3).
If a repository already exists, you can connect to it with `corso repo connect s3`. See command details
<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 $HOME/.corso/corso.env \
--volume $HOME/.corso:/app/corso ghcr.io/alcionai/corso:latest \
repo init s3 --bucket corso-test
```
</TabItem>
</Tabs>
### Connect to a repository
If a repository already exists, you can connect to it with `corso repo connect s3`. See the command details
[here](/cli/corso_repo_connect_s3).
<Tabs groupId="os">
<TabItem value="win" label="Powershell">
```powershell
# Connect to the Corso Repository
.\corso.exe repo connect s3 --bucket corso-test
```
</TabItem>
<TabItem value="unix" label="Linux/macOS">
```bash
# Connect to the Corso Repository
corso repo connect s3 --bucket corso-test
```
</TabItem>
<TabItem value="docker" label="Docker">
```bash
# Connect to the Corso Repository
docker run --env-file $HOME/.corso/corso.env \
--volume $HOME/.corso:/app/corso ghcr.io/alcionai/corso:latest \
repo connect s3 --bucket corso-test
```
</TabItem>
</Tabs>

View File

@ -20,7 +20,7 @@ const sidebars = {
{
type: 'category',
label: 'Corso setup',
items: ['setup/concepts', 'setup/m365_access', 'setup/repos', 'setup/configuration'],
items: ['setup/concepts', 'setup/m365_access', 'setup/configuration', 'setup/repos'],
},
{
type: 'category',