S3 Storage
Kapa provides an integration to pull files from AWS S3 and other S3-compatible storage as data sources. This integration is mainly useful as a general-purpose data source if you need to give Kapa access to files from a source that isn't officially supported, or if you would like to manually control or preprocess the content you ingest to Kapa.
Prerequisites
- An S3-compatible storage bucket containing documentation files
- Access credentials with appropriate permissions
- Files in supported formats
Data ingested
When you connect Kapa to S3 Storage, the following data is ingested:
- Full text content of supported file types
- URL mappings from
index.json(if provided)
Permissions required
The following permissions are required for your S3 credentials:
| Permission | Purpose | Security considerations |
|---|---|---|
| List object permissions | Allows Kapa to discover files in your bucket | Read-only access to file listings |
| Read object permissions | Enables Kapa to read file content | Read-only access to file content |
We recommend creating dedicated credentials with only these specific permissions for the bucket you want to connect.
Supported file formats
The S3 Storage integration currently supports:
- Markdown:
.mdfiles - MDX:
.mdxfiles - Text:
.txtfiles - Word:
.docxfiles - PDF:
.pdffiles
Files in other formats are ignored. Note that PDF processing takes longer than other document types.
Note: For text-based files (Markdown and plain text), ingestion is limited to 10 million characters. Files exceeding this limit will not be ingested.
Setup
Step 1: Create credentials for Kapa
- In your S3 provider's account management:
- For AWS: Create a new IAM user or use an existing one
- For other S3 providers: Create an API key or access credential
- Ensure the credentials have the following permissions for your bucket:
- List object permissions
- Read object permissions
- Generate and securely store the Access key ID and Secret access key
Step 2: Configure the Kapa platform
- Go to the Sources tab in the Kapa platform
- Click Add new source
- Select S3 Storage as the source type
- Enter your bucket details and S3 credentials
- Optionally configure a bucket prefix to limit the file paths to ingest
- Click Save to begin the ingestion process
Configuration options
The following configuration options are available for the S3 Storage integration:
| Option | Description | Default | Required |
|---|---|---|---|
| Bucket name | The name of your S3 bucket | None | Yes |
| Access key ID | Your S3 access key | None | Yes |
| Secret access key | Your S3 secret key | None | Yes |
| Bucket prefix | Optional path prefix to limit which files are ingested | None | No |
Best practices
File organization
There are no strict requirements on file structure in your S3 bucket. Kapa will:
- Start looking for files at the root of the bucket, or at the specified bucket prefix
- Discover all supported files, including those in subdirectories
- Process each file according to its file extension