In Connections, choose the source
type, enter its non-secret scope, select an agent, and choose a credential mode.
For Local credential catalog, enter an uppercase credential name such as
PILOT_SHARE. This name identifies an entry in the agent's local catalog; it is
not an environment variable or a path supplied by the console.
Open Get started, step 4 and select your connection to get copyable examples with your exact credential name. Replace placeholders only on the agent host.
Secret file formats
The catalog is /run/secrets/myrikeep-credentials.json inside the container.
For an SMB connection named PILOT_SHARE, its entry is:
{
"version": 1,
"credentials": {
"PILOT_SHARE": {
"type": "smb",
"source": {"kind": "file_json", "path": "/run/secrets/PILOT_SHARE"}
}
}
}
Use the following fields in the separate credential JSON file. All values must
be nonempty strings. Change the catalog type to match the connection.
| Type | Required fields | Optional fields |
|---|---|---|
SMB (smb) |
username, password |
domain |
AWS S3 bucket (s3) |
access_key_id, secret_access_key |
session_token (include it for temporary credentials) |
Azure Blob container (azure) |
account_name, account_key, or only sas_token |
None |
IMAP (imap) |
username, password |
None |
For example, the file /run/secrets/PILOT_SHARE for SMB contains:
{"username": "<USERNAME>", "password": "<PASSWORD>", "domain": "<DOMAIN>"}
Omit domain if it is not required by your SMB server. Use read-only source
permissions. For S3, scope permissions to the selected bucket and prefix; for
Azure, scope access to the selected container; for IMAP, select the mail folders
and use TLS. SMB connections need a host and share; S3 needs a bucket; Azure
needs an account URL and container; IMAP needs a host.
Create the host directory /srv/myrikeep/secrets. Put the catalog and your
credential file there, owned by root or the agent UID, with mode 0400 or
0600; make sure the agent UID can read them. No symlinked files or directories.
Merge new entries into an existing catalog rather than replacing its entries.
Add this flag to the generated docker run command, before the image name:
--mount type=bind,src=/srv/myrikeep/secrets,dst=/run/secrets,readonly
If the agent is already running with this directory mounted, adding the files does not require a restart. To add the mount itself, recreate the container with the same state volume. Wait for its next heartbeat; present means the agent resolved and validated the credential for the current connection revision. A stale, missing or older-revision report does not complete step 4. Presence does not guarantee the provider will accept the credentials; a failed scan still needs its reported source access problem resolved.
Other credential modes and connectors
For S3 or Azure workload identity, configure the identity on the agent host instead of creating secret files, leave the credential name empty, and wait for the agent's credential check. A Local mount needs no credential file, but its agent still reports readiness; see the local guide.
For Microsoft 365, use the M365 connector guide for app registration, read-only permissions, tenant consent and the exact secret JSON. For Gmail or Google Drive, use the Google Workspace guide for the downloaded service-account JSON and domain-wide delegation. The checklist supplies the catalog entry for your connection's credential name.
For personal Google Drive and OneDrive, the credential file holds your own app's client fields. Refresh tokens live in the writable state volume after sign-in. Follow Personal drives; app passwords cannot be used for Drive files. For provider permission setup, read the SMB, S3, Azure and IMAP guides.
File permissions and catalog rules
Important: The distributed agent runs as UID 10001. A root-owned 0400 file is not readable by that UID: choose agent ownership or a readable dedicated group.
For example, after saving files in your host's secret directory:
sudo chown 10001:10001 /srv/myrikeep/secrets/myrikeep-credentials.json /srv/myrikeep/secrets/PILOT_SHARE
sudo chmod 0600 /srv/myrikeep/secrets/myrikeep-credentials.json /srv/myrikeep/secrets/PILOT_SHARE
Mode 0440 is also accepted when the agent belongs to the owning group. Files
must be regular files, at most 64 KiB, with no symlinked files or directory
components. Do not add unrelated fields or duplicate JSON keys. Use type for
one connector, or types for a compatible Microsoft 365 or Workspace pair/group,
never both. Do not share a catalog entry across unrelated connector families.
Credential names start with A–Z, then use A–Z, 0–9 or _, up to 64 characters.
Names beginning DJANGO_, DG_, POSTGRES, REDIS, DATABASE or SECRET are
reserved. The alias selects a catalog entry, not a host filename by convention.
The catalog's file source determines the actual path. The catalog also supports
{"kind": "env_json", "name": "SCAN_CREDENTIAL_JSON"} as an operator-configured
source for JSON in an environment variable; aliases never select environment
variables automatically. File JSON is the recommended walkthrough here.
Credential and pickup states
| State / error | Meaning and action |
|---|---|
unknown |
No fresh report for this connection revision. Check assignment, online state and desired/applied configuration. |
missing / credential_missing |
Alias absent, wrong catalog type or unavailable workload credentials. Fix the agent's local setup. |
Invalid / credential_config_invalid |
Malformed catalog/value, bad ownership/mode, unreadable file, symlink or wrong fields. Validate locally; do not paste secrets into support messages. Invalid resolution normally appears as missing presence. |
present |
Local credential resolution passed for this revision. For personal drives token readiness is checked; other sources still need a scan to test provider authorization. |
signin_required / Sign-in required |
Personal-drive refresh state is absent/revoked. Run the sign-in command on the assigned agent. |
source_error / access denied |
The fleet reports a bounded generic failure. Check source scope, permissions and local diagnostics, using that connector's guide. |
| Paused / Migration paused / Disabled | Resume the agent, reassign/save a migrated connection, or enable the connection. These are separate from credential presence. |
See Getting started for exclusions and schedules, and Security for processing and retention details.