Referensi konfigurasi
Lihat tempat pengaturan server Claude Managed Agents yang di-host sendiri disimpan, dan cari kunci, variabel lingkungan, default, dan tujuan setiap pengaturan.
Halaman ini menunjukkan tempat pengaturan server Claude Managed Agents yang di-host sendiri disimpan, dan mencantumkannya. Untuk menyiapkan fitur, lihat Single sign-on, Identitas dan kredensial agen, dan Penyedia inferensi.
Tempat pengaturan disimpan
Server membaca pengaturannya dari satu file YAML, dan kredensialnya dari lingkungannya.
- Docker Compose: File tersebut adalah
compose.config.yaml, di sampingdocker-compose.ymldi dalam arsip yang diekstrak. Edit file tersebut, lalu jalankandocker compose restart cma-serverdari direktori tersebut. - Kubernetes: File tersebut adalah nilai
server.configdari Helm chart server. Edit nilai tersebut di file values Anda, jalankanhelm upgrade, lalu restart server dengankubectl -n cma-server rollout restart deployment -l anthropic.com/role=server. Lihat Menerapkan di Kubernetes.
Jika server menolak pengaturan yang ditunjukkan oleh halaman-halaman yang di-host sendiri, upgrade server. cma-server.example.yaml, di tingkat teratas arsip, memberi anotasi pada kunci-kunci umum.
Kredensial tidak pernah dimasukkan ke dalam file. Server membacanya dari variabel lingkungan, atau dari identitas yang dilekatkan cloud Anda ke host.
Meneruskan kredensial ke stack Compose
Di stack Compose, container server hanya menerima variabel yang ada di daftar environment: dari layanan cma-server di docker-compose.yml. Untuk meneruskan variabel lain:
- Tambahkan namanya ke daftar tersebut, dan tetapkan nilainya di
.env. - Jika kredensial berupa file, letakkan file tersebut di samping
docker-compose.yml, dan tambahkan baris seperti- ./gcp-key.json:/etc/cma-server/gcp-key.json:roke daftarx-server-mountsdidocker-compose.yml. Path setelah titik dua pertama adalah path file di dalam container. Gunakan path tersebut sebagai nilai variabel di.env, atau sebagai nilai pengaturan yang menyebutkan file tersebut. - Jalankan
docker compose up -d. Restart tidak membaca ulang.env.
Upgrade menggantikan docker-compose.yml, jadi ulangi pengeditan ini di file rilis baru sebelum Anda memulai stack-nya.
Cara membaca tabel
Setiap pengaturan memiliki kunci di file pengaturan, dan sebagian besar pengaturan juga memiliki “environment variable” (variabel lingkungan). Variabel menimpa file, dan file menimpa default. Server tidak akan dimulai jika file pengaturannya memiliki kunci yang tidak dikenal, dan pesan kesalahannya menyebutkan lokasi kunci tersebut.
- Kunci: Setiap titik dalam kunci adalah satu tingkat penyarangan di dalam file. Misalnya,
server.addradalah kunciaddrdi bagianserver. - Variabel: Nama variabel adalah
CMA_lalu kunci dalam huruf kapital, dengan dua garis bawah sebagai pengganti setiap titik. - Hanya file: Pengaturan tidak memiliki variabel.
- Hanya lingkungan: Server tidak akan dimulai jika pengaturan ada di dalam file.
- Hanya
bedrock, dan label serupa: Pengaturan hanya berfungsi dengan penyedia, store, atau pengelola rahasia tersebut. Jika Anda menetapkannya saat menggunakan yang lain, server tidak akan dimulai. - Daftar: Daftar adalah daftar YAML di dalam file, dan string yang dipisahkan koma di dalam variabel.
- Durasi: Durasi adalah angka dengan satuan, seperti
30s,5m, atau1h. - Bilangan bulat: Bilangan bulat adalah digit biasa, tanpa tanda, nol di depan, atau garis bawah.
Saat startup, server mencatat di log pengaturan yang Anda tetapkan dan sebagian besar default, masing-masing beserta asal nilainya, seperti server.addr=0.0.0.0:8400 (file). Server mencatat *** sebagai pengganti rahasia, kecuali kunci API server yang dibuatnya sendiri.
Server dan logging
| Pengaturan Variabel lingkungan | Default | Deskripsi |
|---|---|---|
server.addrCMA_SERVER__ADDR | 127.0.0.1:8400 | Alamat tempat server mendengarkan. |
server.api_keyCMA_SERVER__API_KEY | Tidak ada | Kunci API server. Wajib dengan store.backend: postgres, kecuali auth.refuse_server_api_key bernilai true. Dengan memory, server membuat kunci jika Anda tidak menetapkannya, dan mencatatnya di log saat startup. |
server.id_markerCMA_SERVER__ID_MARKER | local | Apa yang mengikuti prefiks di setiap ID yang dibuat server. local menghasilkan sesn_local_01…, dan none menghasilkan sesn_01…, seperti pada layanan yang di-host. |
server.shutdown_delayCMA_SERVER__SHUTDOWN_DELAY | 0s | Berapa lama server tetap melayani setelah sinyal berhenti, sementara probe kesiapannya menjawab not_ready. Maksimumnya adalah 5m. |
server.max_connectionsCMA_SERVER__MAX_CONNECTIONS | 0 | Jumlah koneksi terbanyak yang dibuka server sekaligus pada server.addr. 0 berarti tanpa batas. Saat mencapai batas, koneksi baru menunggu hingga koneksi lain ditutup atau kliennya menyerah. Event stream, poll worker, dan probe kesehatan semuanya dihitung. Di Kubernetes, kubelet me-restart pod yang probe-nya menunggu terlalu lama. |
logging.formatCMA_LOGGING__FORMAT | text | Format log, text atau json. |
logging.levelCMA_LOGGING__LEVEL | info | Tingkat terendah yang dicatat server di log. Nilainya adalah debug, info, warn, dan error. |
logging.errorsCMA_LOGGING__ERRORS | false | Apakah log menyertakan pesan kesalahan dari respons 4xx dan 5xx. Sebuah pesan dapat mengutip nilai yang dikirim klien. |
health.check_intervalCMA_HEALTH__CHECK_INTERVAL | 60s | Seberapa sering server memeriksa kredensial inferensinya untuk probe kesiapan. Minimumnya adalah 5s. |
health.upstream_affects_readinessCMA_HEALTH__UPSTREAM_AFFECTS_READINESS | true | Apakah probe kesiapan menjawab 503 selama penyedia inferensi menolak kredensial server. |
Database
Setiap pengaturan dalam tabel ini kecuali store.backend hanya berlaku dengan store.backend: postgres.
| Pengaturan Variabel lingkungan | Default | Deskripsi |
|---|---|---|
store.backendCMA_STORE__BACKEND | memory | Tempat server menyimpan datanya. Nilainya adalah memory, yang terhapus saat restart, dan postgres. |
store.database_urlCMA_STORE__DATABASE_URL | Tidak ada | String koneksi PostgreSQL. Wajib dengan postgres. |
store.control_database_urlCMA_STORE__CONTROL_DATABASE_URL | Nilai dari store.database_url | String koneksi untuk koneksi pemeliharaan milik server sendiri, seperti heartbeat-nya. |
store.listen_database_urlCMA_STORE__LISTEN_DATABASE_URL | Nilai dari store.database_url | String koneksi untuk satu koneksi tempat server mendengarkan notifikasi. Connection pooler dalam mode transaksi tidak dapat membawa koneksi tersebut. |
store.migrate_database_urlCMA_STORE__MIGRATE_DATABASE_URL | Nilai dari store.database_url | String koneksi yang digunakan perintah migrate server. Connection pooler dalam mode transaksi tidak dapat membawa koneksi tersebut. |
store.pool_max_connsCMA_STORE__POOL_MAX_CONNS | 24 | Jumlah koneksi database terbanyak yang dibuka pool satu server. Minimumnya adalah 4. |
store.event_poll_intervalCMA_STORE__EVENT_POLL_INTERVAL | 25ms | Seberapa sering setiap server meminta event terbaru kepada database untuk sesi yang sedang di-streaming oleh kliennya. Event yang dicatat oleh server lain menunggu paling lama sekitar selama durasi ini untuk mencapai stream. |
store.credentials_encryption_keyCMA_STORE__CREDENTIALS_ENCRYPTION_KEYHanya lingkungan | Tidak ada | Kunci yang mengenkripsi kredensial tersimpan di database, sebagai 32 byte acak dalam base64. Instalasi Docker Compose dan Kubernetes menetapkannya. Server tidak akan dimulai tanpanya, kecuali store.allow_unencrypted_credentials bernilai true. |
store.allow_unencrypted_credentialsCMA_STORE__ALLOW_UNENCRYPTED_CREDENTIALS | false | Apakah server dapat dimulai tanpa store.credentials_encryption_key. Tanpa kunci tersebut, server menyimpan kredensial di database dalam teks biasa. true tidak berpengaruh jika git.allowed_hostnames mencantumkan sebuah host, atau jika Anda menginstal dengan Docker Compose atau Helm chart server. |
store.credentials_encryption_keys_retiringCMA_STORE__CREDENTIALS_ENCRYPTION_KEYS_RETIRINGHanya lingkungan | Tidak ada | Kunci enkripsi sebelumnya yang masih dapat digunakan server untuk mendekripsi selama rotasi kunci. Pengaturan ini memerlukan store.credentials_encryption_key. |
Penyedia inferensi
Untuk menyiapkan penyedia, lihat Penyedia inferensi.
| Pengaturan Variabel lingkungan | Default | Deskripsi |
|---|---|---|
inference.providerCMA_INFERENCE__PROVIDER | anthropic | Tempat server mengirim panggilan model. Nilainya adalah anthropic, bedrock, vertex, foundry, dan gateway. |
inference.headersHanya file | Tidak ada | Header permintaan yang ditambahkan server ke setiap panggilan model, sebagai map dari nama header ke nilai. Beri tanda kutip pada setiap nilai. Server menolak untuk dimulai pada nilai tanpa tanda kutip yang tidak dibaca YAML sebagai teks, seperti true atau 0042. Dengan gateway, nilai juga dapat berupa { from: request_id } atau { from: session_id }. |
inference.model_fallbackCMA_INFERENCE__MODEL_FALLBACK | true | Hanya anthropic. Apakah panggilan model meminta fallback sisi server. Panggilan tersebut membawa field fallbacks dan header anthropic-beta: server-side-fallback-2026-07-01. Proxy yang Anda sebutkan di ANTHROPIC_BASE_URL mungkin menolak field atau header tersebut. Jika proxy menjawab dengan 400 atau 422, server mengirim panggilan tersebut lagi tanpa keduanya. |
inference.metadata.user_idCMA_INFERENCE__METADATA__USER_ID | Tidak ada | Hanya anthropic dan foundry, atau gateway dengan format: anthropic-messages. Satu pengidentifikasi yang dikirim server sebagai metadata.user_id bersama setiap panggilan model. Log startup mencetaknya. Tanpa pengaturan ini, server mengirim label cma-server. Anda tidak dapat menonaktifkan metadata.user_id. Jika penyedia atau proxy menolaknya, setiap panggilan model akan gagal. Lihat Apa yang keluar dari jaringan Anda. |
Penyedia cloud
| Pengaturan Variabel lingkungan | Default | Deskripsi |
|---|---|---|
inference.regionCMA_INFERENCE__REGION | Tidak ada | Hanya bedrock dan vertex. AWS Region, atau lokasi di Google Cloud’s Agent Platform. Wajib dengan vertex. Tanpanya, bedrock menggunakan Region yang ditemukan oleh rantai default AWS SDK. |
inference.project_idCMA_INFERENCE__PROJECT_ID | Tidak ada | Hanya vertex. Proyek Google Cloud tempat panggilan dilakukan. Wajib kecuali kredensial Google menyebutkan sebuah proyek. |
inference.apiCMA_INFERENCE__API | invoke_model | Hanya bedrock. API Amazon Bedrock yang membawa panggilan, invoke_model atau messages. messages adalah endpoint yang dijelaskan di Claude in Amazon Bedrock (bedrock-mantle). Dengannya, peran AWS server memerlukan bedrock-mantle:CreateInference sebagai pengganti bedrock:InvokeModel dan bedrock:InvokeModelWithResponseStream. |
inference.list_modelsCMA_INFERENCE__LIST_MODELS | true | Hanya bedrock. Apakah server membaca daftar model Claude dari Amazon Bedrock. Dengan daftar tersebut, agen dapat menggunakan model yang dirilis setelah rilis server Anda. |
inference.model_id_prefixCMA_INFERENCE__MODEL_ID_PREFIX | us.anthropic. | Hanya bedrock. Teks yang ditempatkan server sebelum setiap ID model. Dengan inference.api: messages, defaultnya adalah anthropic.. |
inference.model_id_overridesHanya file | Tidak ada | Hanya bedrock, vertex, dan foundry. Map dari ID model ke ID persis yang diharapkan penyedia. Dengan foundry, ID tersebut adalah nama deployment. |
inference.foundry.resourceCMA_INFERENCE__FOUNDRY__RESOURCE | Tidak ada | Hanya foundry. Nama resource Foundry. Tetapkan ini atau inference.foundry.base_url, bukan keduanya. |
inference.foundry.base_urlCMA_INFERENCE__FOUNDRY__BASE_URL | Tidak ada | Hanya foundry. Secara default, panggilan dikirim ke https://<resource>.services.ai.azure.com/anthropic. Untuk menjangkau resource di alamat lain, seperti proxy, tetapkan URL tersebut di sini sebagai gantinya. URL tersebut diakhiri dengan /anthropic. |
Gateway model
Pengaturan ini hanya berlaku dengan inference.provider: gateway. Lihat Gateway model.
| Pengaturan Variabel lingkungan | Default | Deskripsi |
|---|---|---|
inference.gateway.urlCMA_INFERENCE__GATEWAY__URL | Tidak ada | Wajib. URL yang menerima panggilan model. Dengan bedrock-invoke dan vertex-raw-predict, {model} menandai tempat ID model ditempatkan. Dengan vertex-raw-predict, URL harus diakhiri dengan /{model}:rawPredict. |
inference.gateway.formatCMA_INFERENCE__GATEWAY__FORMAT | Tidak ada | Wajib. Format permintaan yang diterima gateway: bedrock-invoke, anthropic-messages, atau vertex-raw-predict. |
inference.gateway.model_mapHanya file | Tidak ada | Wajib. Map dari setiap ID model yang dapat disebutkan agen ke ID yang diharapkan gateway. Beri tanda kutip pada setiap nilai, seperti untuk inference.headers. |
inference.gateway.streamingCMA_INFERENCE__GATEWAY__STREAMING | false | Apakah server mengirim panggilan streaming dari format tersebut, sehingga balasan tiba saat model menghasilkannya. Dengan bedrock-invoke, panggilan tersebut dikirim ke URL yang sama dengan tambahan -with-response-stream di akhirnya. Dengan vertex-raw-predict, panggilan tersebut dikirim ke URL yang sama dengan :streamRawPredict sebagai pengganti :rawPredict. Biarkan :rawPredict tetap di inference.gateway.url. |
inference.credentials.supplierCMA_INFERENCE__CREDENTIALS__SUPPLIER | Tidak ada | Wajib. Asal kredensial gateway. env berarti satu kunci berumur panjang, oauth_exchange berarti token berumur pendek, dan azure berarti token Microsoft Entra ID yang diterbitkan untuk identitas Azure milik server sendiri. |
inference.credentials.env.varCMA_INFERENCE__CREDENTIALS__ENV__VAR | Tidak ada | Wajib dengan env. Nama variabel lingkungan yang menyimpan kunci. |
inference.credentials.azure.scopeCMA_INFERENCE__CREDENTIALS__AZURE__SCOPE | Tidak ada | Wajib dengan azure. Cakupan yang digunakan server untuk meminta token: URI ID aplikasi atau ID aplikasi dari pendaftaran aplikasi gateway Anda, diikuti dengan /.default. |
inference.credentials.send_as.headerCMA_INFERENCE__CREDENTIALS__SEND_AS__HEADER | Authorization | Header permintaan yang membawa kredensial. |
inference.credentials.send_as.schemeCMA_INFERENCE__CREDENTIALS__SEND_AS__SCHEME | Bearer | Kata yang mendahului kredensial di dalam header. Pada header apa pun selain Authorization, defaultnya adalah tanpa skema. |
inference.credentials.renew_beforeCMA_INFERENCE__CREDENTIALS__RENEW_BEFORE | 90s | Dengan oauth_exchange, seberapa awal server mengganti token. Server berhenti menggunakan token dalam cache selama durasi ini sebelum token kedaluwarsa, dan memperoleh token lain untuk panggilan model berikutnya. Jaga nilai ini tetap di bawah masa berlaku token Anda. Server menolak token apa pun yang berlaku kurang dari nilai ini. |
Token gateway berumur pendek
Pengaturan ini hanya berlaku dengan inference.credentials.supplier: oauth_exchange. Lihat Token berumur pendek. Pengaturan exchange bersifat opsional sebagai satu kelompok. Tanpanya, server mengirim ke gateway apa yang dikembalikan callback.
| Pengaturan Variabel lingkungan | Default | Deskripsi |
|---|---|---|
inference.credentials.assertion.urlCMA_INFERENCE__CREDENTIALS__ASSERTION__URL | Tidak ada | Wajib. URL callback HTTP yang mengembalikan assertion yang ditandatangani. |
inference.credentials.assertion.auth.typeCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__TYPE | Tidak ada | Wajib. Cara server mengautentikasi ke callback, mtls atau bearer_file. |
inference.credentials.assertion.auth.cert_fileCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__CERT_FILE | Tidak ada | Wajib dengan mtls. Path sertifikat klien milik server. |
inference.credentials.assertion.auth.key_fileCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__KEY_FILE | Tidak ada | Wajib dengan mtls. Path kunci privat sertifikat klien. |
inference.credentials.assertion.auth.token_fileCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__TOKEN_FILE | Tidak ada | Wajib dengan bearer_file. Path file yang menyimpan bearer token. |
inference.credentials.assertion.auth.ca_fileCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__CA_FILE | Tidak ada | Path file PEM berisi otoritas sertifikat yang dipercaya server untuk callback. |
inference.credentials.assertion.forward_metadataCMA_INFERENCE__CREDENTIALS__ASSERTION__FORWARD_METADATA | Tidak ada | Kunci metadata sesi yang nilainya dikirim server ke callback. Nilai tersebut tiba sebagai session.metadata di body permintaan. Nilainya adalah apa pun yang ditulis pemanggil API, jadi periksa nilai tersebut terhadap catatan Anda sendiri. |
inference.credentials.exchange.token_urlCMA_INFERENCE__CREDENTIALS__EXCHANGE__TOKEN_URL | Tidak ada | Wajib untuk pertukaran. Endpoint token OAuth tempat server menukar assertion dengan token. |
inference.credentials.exchange.grant_typeCMA_INFERENCE__CREDENTIALS__EXCHANGE__GRANT_TYPE | Tidak ada | Wajib untuk pertukaran. grant_type yang dikirim server, seperti urn:ietf:params:oauth:grant-type:jwt-bearer. |
inference.credentials.exchange.encodingCMA_INFERENCE__CREDENTIALS__EXCHANGE__ENCODING | form | Cara server mengenkode permintaan pertukaran, form atau multipart. |
inference.credentials.exchange.expiryCMA_INFERENCE__CREDENTIALS__EXCHANGE__EXPIRY | expires_in | Tempat server membaca masa berlaku token. expires_in berarti yang lebih awal antara expires_in dari respons dan klaim exp token. jwt_exp berarti hanya klaim exp. |
inference.credentials.exchange.headersHanya file | Tidak ada | Header permintaan tambahan untuk endpoint token, sebagai map dari nama header ke nilai. Beri tanda kutip pada setiap nilai, seperti untuk inference.headers. |
inference.credentials.exchange.ca_fileCMA_INFERENCE__CREDENTIALS__EXCHANGE__CA_FILE | Tidak ada | Path file PEM berisi otoritas sertifikat yang dipercaya server untuk endpoint token. |
Single sign-on
Untuk menyiapkan proses masuk, lihat Single sign-on.
| Pengaturan Variabel lingkungan | Default | Deskripsi |
|---|---|---|
auth.issuersHanya file | Tidak ada | Penerbit OpenID Connect yang tokennya diterima server. Lihat Entri penerbit. |
auth.refuse_server_api_keyHanya file | false | Apakah server menolak kunci API server di setiap rute. true memerlukan setidaknya satu penerbit. Setiap perintah CLI admin yang menggunakan kunci tersebut kemudian akan gagal. |
Entri penerbit
Setiap entri auth.issuers menerima field berikut:
| Field | Default | Deskripsi |
|---|---|---|
name | Tidak ada | Wajib. Label untuk penerbit di baris log. Server juga mencatatnya sebagai bagian dari pembuat setiap resource. |
issuer_url | Tidak ada | Wajib. URL penerbit, persis seperti di klaim iss pada token-tokennya. Server mengambil kunci penandatanganan dari host ini dan dari host jwks_uri yang disebutkan dalam dokumen discovery penerbit. Jika jaringan Anda membatasi koneksi keluar, izinkan kedua host tersebut. |
audiences | Tidak ada | Wajib. Nilai yang dapat dibawa oleh klaim aud token. Jika aplikasi meneruskan token yang sudah mereka miliki, cantumkan ID klien setiap aplikasi. |
roles | Tidak ada | Daftar pasangan group dan role. Grup cocok secara persis, atau sebagai pola dengan * mewakili rangkaian karakter apa pun dan ? mewakili satu karakter. Peran adalah admin, developer, atau user. Peran tertinggi yang cocok yang berlaku. Tetapkan roles, default_role, atau keduanya. |
default_role | Tidak ada | Peran pemanggil yang grupnya tidak cocok dengan entri roles mana pun. Tetapkan hanya jika setiap orang yang dapat memperoleh token untuk audience ini seharusnya memiliki akses. |
subject_claim | sub | Klaim yang mengidentifikasi pemanggil. Nama yang diawali dengan / adalah JSON Pointer ke dalam klaim bersarang. |
stable_subject | false | Hanya berlaku jika subject_claim menyebutkan klaim selain sub atau oid. Tetapkan true untuk mengonfirmasi bahwa penyedia Anda tidak pernah mengubah nilai klaim tersebut milik seseorang dan tidak pernah memberikannya kepada orang lain. Server tidak memeriksa hal ini. Dengan false, token agen menghilangkan klaim actor_sub dan actor_iss. |
groups_claim | groups | Klaim yang mencantumkan grup pemanggil. Nama yang diawali dengan / adalah JSON Pointer ke dalam klaim bersarang. |
jwks_file | Tidak ada | Path file JSON Web Key Set. Server membaca kunci penandatanganan darinya dan tidak pernah menghubungi penerbit. |
login_client_id | Tidak ada | ID klien aplikasi yang digunakan oleh login terminal. Hanya satu penerbit yang dapat menetapkannya. |
login_scopes | [openid] | Cakupan yang diminta oleh login. Field ini memerlukan login_client_id. |
Pengelola rahasia
Untuk menyiapkan store, lihat Pengelola rahasia.
| Pengaturan Variabel lingkungan | Default | Deskripsi |
|---|---|---|
secret_store.typeCMA_SECRET_STORE__TYPE | Tidak ada | Pengelola rahasia yang menyimpan kredensial vault. Nilainya adalah aws_secrets_manager, gcp_secret_manager, azure_key_vault, dan hashicorp_vault. Tanpanya, kredensial vault tetap berada di database. |
secret_store.prefixCMA_SECRET_STORE__PREFIX | Tidak ada | Wajib dengan secret_store.type. Awal nama setiap rahasia yang dibuat server. Awalan ini harus diakhiri dengan / untuk aws_secrets_manager dan hashicorp_vault, dengan - atau _ untuk gcp_secret_manager, dan dengan - untuk azure_key_vault. |
secret_store.regionCMA_SECRET_STORE__REGION | Tidak ada | Hanya aws_secrets_manager, dan wajib di sana. AWS Region yang menyimpan rahasia. |
secret_store.projectCMA_SECRET_STORE__PROJECT | Tidak ada | Hanya gcp_secret_manager, dan wajib di sana. ID proyek Google Cloud yang menyimpan rahasia. |
secret_store.vault_urlCMA_SECRET_STORE__VAULT_URL | Tidak ada | Hanya azure_key_vault, dan wajib di sana. URL key vault, seperti https://my-vault.vault.azure.net. |
HashiCorp Vault
Pengaturan ini hanya berlaku dengan secret_store.type: hashicorp_vault. Tetapkan tepat satu metode login: token_file, kubernetes, atau approle.
| Pengaturan Variabel lingkungan | Default | Deskripsi |
|---|---|---|
secret_store.addressCMA_SECRET_STORE__ADDRESS | Tidak ada | Wajib. URL https:// server Vault. |
secret_store.namespaceCMA_SECRET_STORE__NAMESPACE | Tidak ada | Namespace Vault Enterprise yang menampung mount dan metode login. |
secret_store.mountCMA_SECRET_STORE__MOUNT | secret | Path mesin rahasia KV versi 2. |
secret_store.ca_cert_fileCMA_SECRET_STORE__CA_CERT_FILE | Tidak ada | Path file PEM berisi otoritas sertifikat yang menandatangani sertifikat Vault. |
secret_store.token_fileCMA_SECRET_STORE__TOKEN_FILE | Tidak ada | Path file berisi token Vault yang dijaga tetap terbaru oleh proses lain, seperti Vault Agent. |
secret_store.kubernetes.roleCMA_SECRET_STORE__KUBERNETES__ROLE | Tidak ada | Wajib dengan kubernetes. Peran Vault yang digunakan server untuk login. Ikat peran tersebut ke service account server. |
secret_store.kubernetes.mount_pathCMA_SECRET_STORE__KUBERNETES__MOUNT_PATH | kubernetes | Tempat Vault memasang metode login Kubernetes. |
secret_store.kubernetes.service_account_token_fileCMA_SECRET_STORE__KUBERNETES__SERVICE_ACCOUNT_TOKEN_FILE | /var/run/secrets/kubernetes.io/serviceaccount/token | Path token service account yang diberikan server pada setiap login. |
secret_store.approle.role_idCMA_SECRET_STORE__APPROLE__ROLE_ID | Tidak ada | Wajib dengan approle. ID peran AppRole yang digunakan server untuk login. |
secret_store.approle.secret_id_fileCMA_SECRET_STORE__APPROLE__SECRET_ID_FILE | Tidak ada | Wajib dengan approle. Path file berisi secret_id peran tersebut. |
secret_store.approle.mount_pathCMA_SECRET_STORE__APPROLE__MOUNT_PATH | approle | Tempat Vault memasang metode login AppRole. |
Identitas agen
Untuk menyiapkan token agen, lihat Identitas agen. Pengaturan apa pun dalam tabel ini mengaktifkan fitur tersebut. Server kemudian memerlukan agent_identity.issuer dan tepat satu tempat untuk kunci penandatanganan: key_file, key_secret, atau kms_key.
| Pengaturan Variabel lingkungan | Default | Deskripsi |
|---|---|---|
agent_identity.issuerCMA_AGENT_IDENTITY__ISSUER | Tidak ada | URL https:// yang dibawa token agen sebagai klaim iss-nya. |
agent_identity.key_fileCMA_AGENT_IDENTITY__KEY_FILE | Tidak ada | Path kunci privat PEM yang menandatangani token. |
agent_identity.key_secretCMA_AGENT_IDENTITY__KEY_SECRET | Tidak ada | Nama rahasia yang menyimpan kunci privat PEM di pengelola rahasia Anda, tanpa secret_store.prefix. |
agent_identity.kms_key.providerCMA_AGENT_IDENTITY__KMS_KEY__PROVIDER | Tidak ada | Layanan manajemen kunci yang menyimpan kunci penandatanganan, aws_kms atau gcp_kms. |
agent_identity.kms_key.keyCMA_AGENT_IDENTITY__KMS_KEY__KEY | Tidak ada | Wajib dengan kms_key.provider. ARN kunci untuk aws_kms, atau nama resource dari satu versi kunci untuk gcp_kms. |
agent_identity.published_key_filesCMA_AGENT_IDENTITY__PUBLISHED_KEY_FILES | Tidak ada | Path kunci publik PEM tambahan untuk set kunci. Server memublikasikan kunci-kunci ini tetapi tidak pernah menandatangani dengannya. Gunakan pengaturan ini saat Anda merotasi kunci penandatanganan. |
agent_identity.token_lifetimeCMA_AGENT_IDENTITY__TOKEN_LIFETIME | 5m | Waktu dari klaim iat token hingga klaim exp-nya. Token yang sudah dikirim tetap berlaku hingga exp-nya. Minimumnya adalah limits.mcp_call_timeout ditambah 1m, dan maksimumnya adalah 15m. |
agent_identity.jwks_uriCMA_AGENT_IDENTITY__JWKS_URI | <issuer>/.well-known/jwks.json | URL yang diberikan dokumen discovery penerbit untuk set kunci. Tetapkan hanya jika Anda meng-host set kunci di tempat lain selain di bawah URL penerbit. |
agent_identity.direct.audiencesHanya file | Tidak ada | Penerima yang dapat memperoleh token. Setiap entri memiliki URL audience dan urls, yaitu prefiks URL server MCP penerima tersebut. |
agent_identity.actor.enabledCMA_AGENT_IDENTITY__ACTOR__ENABLED | true | Apakah server menambahkan klaim actor_sub dan actor_iss ke token panggilan alat. actor_sub adalah subjek pemanggil yang membuat sesi. actor_iss adalah issuer_url dari entri auth.issuers yang digunakan pemanggil untuk masuk. Tidak satu pun dari klaim tersebut berarti bahwa pemanggil menyetujui panggilan tersebut. |
Gateway egress
Untuk menyiapkan gateway, lihat Kredensial variabel lingkungan. Tetapkan pengaturan lain dalam tabel ini hanya dengan egress.gateway_enabled: true. Tanpanya, server tidak akan dimulai jika salah satu pengaturan tersebut ditetapkan.
| Pengaturan Variabel lingkungan | Default | Deskripsi |
|---|---|---|
egress.gateway_enabledCMA_EGRESS__GATEWAY_ENABLED | false | Apakah server bekerja dengan gateway egress dan menerima kredensial vault environment_variable. |
egress.allowed_hostnamesCMA_EGRESS__ALLOWED_HOSTNAMES | Tidak ada | Hostname publik persis yang dapat dijangkau sandbox melalui gateway. Entri tanpa port, seperti api.example.com, mengizinkan port 443 untuk URL https dan port 80 untuk URL http. Entri dengan port, seperti api.example.com:8443, hanya mengizinkan port tersebut. |
egress.swap_header_namesCMA_EGRESS__SWAP_HEADER_NAMES | Authorization | Header permintaan tempat gateway dapat memasukkan nilai kredensial. Daftar Anda sendiri menggantikan default, jadi sertakan Authorization di dalamnya. |
egress.gateway_listenCMA_EGRESS__GATEWAY_LISTEN | :8410 | Alamat listener kedua server, yang hanya melayani gateway. Default mendengarkan di setiap antarmuka. |
egress.gateway_key_fileCMA_EGRESS__GATEWAY_KEY_FILE | Tidak ada | Wajib. Path file berisi kunci yang diberikan gateway ke server. |
egress.ca_cert_fileCMA_EGRESS__CA_CERT_FILE | Tidak ada | Wajib. Path sertifikat PEM dari otoritas sertifikat gateway. |
egress.gateway_proxy_addressCMA_EGRESS__GATEWAY_PROXY_ADDRESS | Tidak ada | Wajib. host:port tempat sandbox menjangkau port proxy gateway. |
Server MCP
Lihat Server MCP memerlukan entri allowlist.
| Pengaturan Variabel lingkungan | Default | Deskripsi |
|---|---|---|
mcp.allowed_hostnamesCMA_MCP__ALLOWED_HOSTNAMES | Tidak ada | Hostname persis server MCP yang dapat dihubungi server. Tanpanya, server tidak terhubung ke mana pun. |
mcp.private_hostnamesHanya file | Tidak ada | Hostname dari mcp.allowed_hostnames yang dapat di-resolve ke alamat privat. |
mcp.max_result_bytesCMA_MCP__MAX_RESULT_BYTES | 102400 (100 KiB) | Jumlah byte terbanyak dari satu hasil alat MCP yang dilihat model. Minimumnya adalah 1024. |
Repositori Git
Lihat Repositori Git memerlukan entri allowlist.
| Pengaturan Variabel lingkungan | Default | Deskripsi |
|---|---|---|
git.allowed_hostnamesCMA_GIT__ALLOWED_HOSTNAMES | Tidak ada | Host Git tempat repositori sesi dapat berada. Hostname dicocokkan secara persis, tanpa wildcard, dan sebuah entri tidak mencakup subdomainnya. Sebuah entri mengizinkan port 443, atau satu port yang disebutkannya, seperti pada git.example.com:8443. Tanpa pengaturan ini, server tidak menerima repositori apa pun. |
git.private_hostnamesHanya file | Tidak ada | Hostname dari git.allowed_hostnames yang di-resolve ke alamat privat, ditulis tanpa port. Untuk hostname lain mana pun, server hanya terhubung ke alamat publiknya. |
git.allowed_push_refsCMA_GIT__ALLOWED_PUSH_REFS | Tidak ada | Branch tempat agen dapat melakukan push, masing-masing di bawah refs/heads/. Entri yang diakhiri dengan / mengizinkan setiap branch di bawahnya. Entri lainnya mengizinkan satu branch tersebut. Tanpa pengaturan ini, agen tidak dapat melakukan push. |
git.commit_author_nameCMA_GIT__COMMIT_AUTHOR_NAME | Claude | Nama penulis pada commit agen. Tetapkan bersama dengan git.commit_author_email. |
git.commit_author_emailCMA_GIT__COMMIT_AUTHOR_EMAIL | noreply@anthropic.com | Alamat email penulis pada commit agen. Tetapkan bersama dengan git.commit_author_name. |
git.max_concurrent_transfersCMA_GIT__MAX_CONCURRENT_TRANSFERS | 32 | Jumlah permintaan Git terbanyak yang dibawa satu server sekaligus. Minimumnya adalah 1. |
git.max_session_transfer_bytesCMA_GIT__MAX_SESSION_TRANSFER_BYTES | 8589934592 (8 GiB) | Jumlah lalu lintas Git terbanyak, dalam byte, yang dibawa satu server untuk satu sesi, unggahan dan unduhan digabungkan. Hitungan dimulai ulang dari nol setiap kali sandbox mengambil sesi. Saat mencapai batas, server menolak permintaan Git berikutnya dari sesi tersebut dengan 403. 0 berarti tanpa batas. Jika tidak, minimumnya adalah 1048576. |
git.max_push_bytesCMA_GIT__MAX_PUSH_BYTES | 2147483648 (2 GiB) | Jumlah byte terbanyak yang dapat dikirim satu push. Minimumnya adalah 1048576. |
Batasan berikut berlaku untuk repositori Git:
- Protokol: Server tidak mendukung SSH atau Git LFS, dan server menolak redirect, seperti redirect untuk repositori yang diganti namanya.
- Token: Host Git harus menerima token sebagai kata sandi autentikasi HTTP Basic, dengan nama pengguna
x-access-token. - URL: URL repositori memiliki satu pemilik dan satu nama repositori, sehingga Anda tidak dapat menggunakan repositori di subgrup GitLab.
- Host: Untuk URL di host yang tidak dicantumkan oleh
git.allowed_hostnames, server mengembalikan400. Pesan kesalahannya menyatakan bahwa URL harus berada digithub.com, bahkan jika Anda mencantumkan host lain. - Push: Server selalu menolak push yang menghapus branch, atau yang mengubah apa pun selain branch, seperti tag.
Alat web dan skill
Lihat Alat web memerlukan pengaturan server.
| Pengaturan Variabel lingkungan | Default | Deskripsi |
|---|---|---|
web_tools.enabledCMA_WEB_TOOLS__ENABLED | false | Apakah agen dapat menggunakan alat web_search dan web_fetch. Jika Anda menetapkan pengaturan web_tools lainnya, defaultnya adalah true. |
web_tools.allowed_domainsCMA_WEB_TOOLS__ALLOWED_DOMAINS | Tidak ada | Satu-satunya domain yang dapat dibaca agen melalui alat web. Sebuah entri mencakup subdomainnya. |
web_tools.blocked_domainsCMA_WEB_TOOLS__BLOCKED_DOMAINS | Tidak ada | Domain yang tidak dapat dibaca agen mana pun melalui alat web. Tetapkan ini atau web_tools.allowed_domains, bukan keduanya. |
web_tools.max_content_tokensCMA_WEB_TOOLS__MAX_CONTENT_TOKENS | Tidak ada | Jumlah token terbanyak dari satu halaman yang diambil yang dikembalikan web_fetch ke model. |
skills.max_name_charsCMA_SKILLS__MAX_NAME_CHARS | 64 | name terpanjang yang dapat dimiliki file SKILL.md. Maksimumnya adalah 255. |
skills.max_description_charsCMA_SKILLS__MAX_DESCRIPTION_CHARS | 1024 | description terpanjang yang dapat dimiliki file SKILL.md. |
Batas, timeout, dan penjadwalan
| Pengaturan Variabel lingkungan | Default | Deskripsi |
|---|---|---|
limits.max_active_sessionsCMA_LIMITS__MAX_ACTIVE_SESSIONS | 64 | Hanya store.backend: memory. Jumlah sesi terbanyak yang menjalankan giliran sekaligus. 0 berarti tanpa batas. |
limits.max_live_subagent_threadsCMA_LIMITS__MAX_LIVE_SUBAGENT_THREADS | 25 | Jumlah thread subagen terbanyak yang dapat dimiliki satu sesi sekaligus. Sebuah thread dihitung hingga diarsipkan atau dihentikan, sehingga thread yang menganggur tetap dihitung. Saat mencapai batas, agen tidak dapat memulai subagen lain. Minimumnya adalah 1, dan maksimumnya adalah 4000. |
scheduler.max_concurrent_turnsCMA_SCHEDULER__MAX_CONCURRENT_TURNS | 64 | Hanya store.backend: postgres. Jumlah giliran terbanyak yang dijalankan satu server sekaligus. Minimumnya adalah 1. Server menyediakan slot tambahan khusus untuk giliran subagen. Jumlahnya seperempat dari nilai ini, dan setidaknya 4. Dengan default, satu server dapat menjalankan 64 giliran ditambah 16 giliran subagen. |
scheduler.claim_poll_intervalCMA_SCHEDULER__CLAIM_POLL_INTERVAL | 1s | Hanya store.backend: postgres. Seberapa sering server dengan slot giliran kosong mencari pekerjaan yang menunggu di database. Minimumnya adalah 50ms. |
scheduler.sandbox_claimCMA_SCHEDULER__SANDBOX_CLAIM | immediate | Kapan worker dapat memulai sandbox sesi. immediate berarti segera setelah sesi dibuat, sehingga panggilan alat pertama menunggu paling singkat. tool_call berarti pada panggilan alat pertama sesi yang memerlukan sandbox, sehingga sesi yang tidak melakukan panggilan semacam itu tidak menggunakan sandbox. |
limits.model_call_timeoutCMA_LIMITS__MODEL_CALL_TIMEOUT | 20m | Berapa lama satu panggilan model dapat berjalan, termasuk percobaan ulang, sebelum server membatalkannya. |
limits.stream_idle_timeoutCMA_LIMITS__STREAM_IDLE_TIMEOUT | 5m | Berapa lama respons panggilan model dapat tidak mengirimkan apa pun sebelum server menghentikan percobaan tersebut. |
limits.mcp_call_timeoutCMA_LIMITS__MCP_CALL_TIMEOUT | 4m | Berapa lama satu panggilan alat MCP dapat berjalan sebelum server menghentikannya. |
Model dan compaction
| Pengaturan Variabel lingkungan | Default | Deskripsi |
|---|---|---|
models.settingsHanya file | Tidak ada | Perubahan pada katalog model bawaan server, dengan kunci ID model. Lihat Entri model. |
compaction.triggersHanya file | Sekitar 90% dari jendela konteks setiap model | Ukuran konteks, dalam token, saat sebuah giliran pada suatu model memadatkan riwayatnya, dengan kunci ID model. Minimumnya adalah 50000. Setiap model harus mendukung compaction. |
Entri model
Setiap entri models.settings mengubah model di katalog atau menambahkan model baru. Untuk model di katalog, field yang Anda hilangkan mempertahankan nilai bawaannya.
| Field | Deskripsi |
|---|---|
fast_supported | Apakah model menerima speed: "fast". Wajib untuk model yang Anda tambahkan. |
inference_geo_supported | Apakah model menerima inference_geo. |
forced_tool_choice_supported | Apakah model menerima permintaan yang memaksanya memanggil satu alat. Server mengirim permintaan semacam itu hanya untuk menjalankan panggilan web_search atau web_fetch yang telah disetujui. Dengan false, server tidak pernah memaksakan alat pada model ini. |
effort_supported | Apakah model menerima tingkat effort. |
effort_levels | Tingkat effort yang diterima model, dari low, medium, high, xhigh, dan max. Wajib dengan effort_supported: true pada model tanpa tingkat bawaan. |
effort_default | Tingkat effort sesi yang agennya tidak menyebutkan tingkat apa pun. Harus salah satu dari effort_levels. Wajib dengan effort_supported: true pada model tanpa default bawaan. |
thinking | Mode thinking yang diminta server, enabled atau adaptive. |
thinking_budget | Anggaran thinking, dalam token, yang dikirim server dengan thinking: enabled. |
max_tokens | Nilai max_tokens dari setiap panggilan model. |
Konsol di server Anda
| Pengaturan Variabel lingkungan | Default | Deskripsi |
|---|---|---|
console.serveCMA_CONSOLE__SERVE | true | Apakah akan menyajikan konsol di server Anda. |
Apakah halaman ini membantu?