Start Building for Free
CircleCI.comAcademyBlogCommunitySupport

Phase 2 - Configure object storage

5 months ago1 min read
Server v4.1
Server Admin
On This Page

1. Create buckets in MinIO

CircleCI server supports MinIO for air-gapped object storage. MinIO is used in the air-gapped environment as a replacement for cloud-based object storage, such as GCP GCS or AWS S3. With an air-gapped MinIO instance installed, complete the steps outlined in the next sections.

Create a bucket in MinIO

a. Create a circleci-data bucket.

Create a new bucket in MinIO named circleci-data.

Buckets created in MinIO

b. Configure the circleci-data bucket.

In the settings for the circleci-data bucket, change the access policy to public.

Setting circleci-data bucket access policy to public

2. Copy the CircleCI build agent

Copy the latest CircleCI build agent into MinIO within your air-gapped environment.

a. Download the latest release.txt file

Download the latest release.txt file from CircleCI’s public S3 bucket.

wget https://circleci-binary-releases.s3.amazonaws.com/circleci-agent/release.txt

b. Copy the release.txt file to MinIO

Copy the release.txt file to your air-gapped environment and place it in the root of the circleci-data bucket in MinIO.

c. Retrieve the latest release binary

Using the release.txt file, retrieve and download the latest circleci-agent release and checksums from the CircleCI binary releases public bucket.

LATEST_RELEASE=$(cat release.txt)

# Download circleci-agent
wget https://circleci-binary-releases.s3.amazonaws.com/circleci-agent/$LATEST_RELEASE/linux/amd64/circleci-agent

# Download checksums
wget https://circleci-binary-releases.s3.amazonaws.com/circleci-agent/$LATEST_RELEASE/checksums.txt

d. Create a release directory in the circleci-data bucket

Using the version specified in release.txt, create a new directory in the root of the circleci-data bucket with the name of that release. In this example, a directory is created at the root of circleci-data in MinIO with the following name: 1.0.164633-f867f14f

Creating a directory in the circleci-data bucket

e. Upload the checksums.txt file to the newly created directory.

Copy the downloaded checksums.txt file (step c) to your virtual environment, and place it in MinIO nested under the newly created release directory (step d).

# The structure of the directory should now look like this
1.0.164633-f867f14f/
└── checksums.txt
Uploading checksums.txt into the release directory

f. Create two new subdirectories in the release directory

Within the release directory (step d), create two new nested subdirectories, first linux, and then within it, amd64.

# The structure of the directory of the bucket should look like this:
1.0.164633-f867f14f/
├── checksums.txt
└── linux/
    └── amd64/
Creating a linux dir
Creating an amd dir

g. Copy the downloaded circleci-agent file

Copy the downloaded circleci-agent file (step c) to your virtual environment, and place it in the amd64 directory you just created.

# The final structure of the bucket should look similar to this:
1.0.137184-db08738f/
├── checksums.txt
└── linux/
    └── amd64/
        └── circleci-agent
Uploading the CircleCI agent

Next steps

Once the steps on this page are complete, go to the Phase 3 - Install CircleCI server guide.


Help make this document better

This guide, as well as the rest of our docs, are open source and available on GitHub. We welcome your contributions.

Need support?

Our support engineers are available to help with service issues, billing, or account related questions, and can help troubleshoot build configurations. Contact our support engineers by opening a ticket.

You can also visit our support site to find support articles, community forums, and training resources.