@@ -7,11 +7,19 @@ description: Create a Catalog Store for publishing your own Flox packages
7
7
8
8
Publishing your own software to your organization's Flox Catalog requires some
9
9
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
15
23
16
24
## Configure an AWS S3 Bucket
17
25
@@ -35,18 +43,20 @@ and we'll work with you to get you up and running.
35
43
[ aws-cli-reference-s3 ] : https://docs.aws.amazon.com/cli/latest/reference/s3/
36
44
[ aws-s3-api-reference ] : https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html
37
45
38
- ## Ensure the ` nix daemon ` Has Access to the S3 Bucket
46
+ ## Ensure the Nix Daemon Has Access to the S3 Bucket
39
47
40
48
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
42
50
has access to the S3 bucket you've just created. To do so,
43
51
you have a couple of options:
44
52
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
47
56
1 . Use the ` aws configure ` command
48
57
[ 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
50
60
51
61
If you follow the second set of steps, you can confirm that everything is set
52
62
up correctly by inspecting the values stored in ` $HOME/.aws/credentials ` .
0 commit comments