Skip to content

Commit 28cfae2

Browse files
committed
feat(flox-store.md): add clarifying details to Catalog Store cookbook
Also restructure the menu so that the cookbook section is now called "publish" instead of "infrastructure."
1 parent b8614bc commit 28cfae2

File tree

3 files changed

+22
-12
lines changed

3 files changed

+22
-12
lines changed

docs/concepts/publishing.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,4 +88,4 @@ See the ["Catalog Store" cookbook page][catalog-store-cookbook] to learn more ab
8888
[early]: https://flox.dev/early/
8989
[catalog-util]: https://github.com/flox/catalog-util
9090
[catalog-concept]: ./packages-and-catalog.md
91-
[catalog-store-cookbook]: ../cookbook/infrastructure/flox-store.md
91+
[catalog-store-cookbook]: ../cookbook/publish/flox-store.md

docs/cookbook/infrastructure/flox-store.md docs/cookbook/publish/flox-store.md

+20-10
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,19 @@ description: Create a Catalog Store for publishing your own Flox packages
77

88
Publishing your own software to your organization's Flox Catalog requires some
99
initial setup, but the process is relatively straightforward. Flox supports
10-
publishing packages to a Catalog Store, which will exist in an AWS S3 bucket
11-
that is managed by your organization. In order to use this bucket to store
12-
binaries built with Flox, you will need to set ingress and egress URIs on the
13-
catalog using a utility published by Flox. Then, all you need to do to publish
14-
your software is to call `flox publish`, and Flox will take care of the rest.
10+
publishing packages to a Catalog Store, which can exist in an AWS S3 bucket
11+
or in any S3 compatible service, like [MinIO][minio-s3-compatible]{:target="\_blank"}
12+
or [Backblaze B2][backblaze-b2-cloud-storage]{:target="\_blank"}. (For the
13+
sake of simplicity, this guide focuses on S3, but there are other providers
14+
available if you prefer them to AWS.)
15+
16+
In order to use an S3 bucket to store artifacts built with Flox, you will need
17+
to set ingress and egress URIs on the catalog using a utility published by Flox.
18+
Then, all you need to do to publish your software is to call `flox publish`,
19+
and Flox will take care of the rest.
20+
21+
[minio-s3-compatible]: https://min.io/product/s3-compatibility
22+
[backblaze-b2-cloud-storage]: https://www.backblaze.com/cloud-storage
1523

1624
## Configure an AWS S3 Bucket
1725

@@ -35,18 +43,20 @@ and we'll work with you to get you up and running.
3543
[aws-cli-reference-s3]: https://docs.aws.amazon.com/cli/latest/reference/s3/
3644
[aws-s3-api-reference]: https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html
3745

38-
## Ensure the `nix daemon` Has Access to the S3 Bucket
46+
## Ensure the Nix Daemon Has Access to the S3 Bucket
3947

4048
As you probably know by now, the underlying technology powering Flox is Nix.
41-
Accordingly, we need to take a couple steps to ensure that the `nix daemon`
49+
Accordingly, we need to take a couple steps to ensure that the Nix daemon
4250
has access to the S3 bucket you've just created. To do so,
4351
you have a couple of options:
4452

45-
1. Set `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, and, if applicable, `AWS_SESSION_TOKEN`
46-
as environment variables
53+
1. Set `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, and, if applicable,
54+
`AWS_SESSION_TOKEN` as environment variables, both for Flox and for
55+
the daemon itself
4756
1. Use the `aws configure` command
4857
[as described in the CLI reference][aws-cli-configure-command]{:target="\_blank"}
49-
to set those same values
58+
to set those same values, and ensure that the AWS profile and region match those
59+
configured for the S3 bucket
5060

5161
If you follow the second set of steps, you can confirm that everything is set
5262
up correctly by inspecting the values stored in `$HOME/.aws/credentials`.

mkdocs.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ nav:
6262
- Builds:
6363
- ... | flat | cookbook/builds/*
6464
- Infrastructure:
65-
- ... | flat | cookbook/infrastructure/*
65+
- ... | flat | cookbook/publish/*
6666
- Reference:
6767
- Flox manual:
6868
- reference/command-reference/flox.md

0 commit comments

Comments
 (0)