diff --git a/docs/tr/guide/access-token.md b/docs/tr/guide/access-token.md new file mode 100644 index 0000000..f2e0df3 --- /dev/null +++ b/docs/tr/guide/access-token.md @@ -0,0 +1,31 @@ +--- +title: "RustFS Erişim Anahtarı Yönetimi" +description: "RustFS erişim anahtarlarının oluşturulması, kullanımı ve silinmesi" +--- + +# Erişim Anahtarı + +RustFS erişim anahtarları, kimlik doğrulama ve işlemlere yetkilendirme için temel kimlik bilgileridir. API ve SDK senaryolarında özellikle faydalıdır. Bu bölümde erişim anahtarlarının oluşturulması ve silinmesi açıklanır. + +Önkoşullar: + +- Kullanılabilir bir RustFS örneği. Kurulum için [yükleme kılavuzuna](../../tr/installation/index.md) bakın. + +## Erişim anahtarı oluşturma + +1. RustFS UI konsoluna giriş yapın. +1. Sol gezinme menüsünden "Erişim Anahtarları"nı seçin. +1. Erişim anahtarları sayfasında sağ üstte "Erişim Anahtarı Ekle"ye tıklayın. +1. "Son kullanma süresi, ad ve açıklama"yı girip "Gönder"e tıklayın. +1. (İsteğe bağlı ancak önerilir) Açılan anahtar sayfasında "Kopyala" veya "Dışa aktar" ile anahtarı güvenle saklayın. + +![access key list page](images/access_token_creation.png) + +## Erişim anahtarı silme + +1. RustFS UI konsoluna giriş yapın. +1. Sol gezinme menüsünden "Erişim Anahtarları"nı seçin. +1. Silmek istediğiniz anahtarı seçin. +1. Sağ taraftaki "Sil" düğmesine veya sağ üstteki "Seçili olanları sil"e tıklayın. + +![access key deletion](images/access_token_deletion.png) \ No newline at end of file diff --git a/docs/tr/guide/bucket/bucket-create-and-delete.md b/docs/tr/guide/bucket/bucket-create-and-delete.md new file mode 100644 index 0000000..a557e89 --- /dev/null +++ b/docs/tr/guide/bucket/bucket-create-and-delete.md @@ -0,0 +1,96 @@ +--- +title: "RustFS Kova (Bucket) Yönetimi" +description: "RustFS kovalarının oluşturulması ve silinmesi" +--- + +# RustFS Kovaları + +Kova (Bucket), RustFS’te verileri düzenlemek ve yönetmek için kullanılan temel mantıksal kaptır. Her kovanın benzersiz bir adı vardır ve birden fazla nesne içerebilir. Kovalar, verileri mantıksal olarak gruplandırarak yönetimi ve erişimi kolaylaştırır. RustFS UI, `mc` (MinIO Client) veya API ile kovaları oluşturabilir/silebilir ve veri yükleme/indirme işlemlerini yapabilirsiniz. + +## Kova oluşturma + +Önkoşullar: + +- Kullanılabilir bir RustFS örneği (../../installation/index.md) + +## RustFS UI ile oluşturma + +1. RustFS UI konsoluna giriş yapın. +1. Ana sayfada sol üstten "Kova Oluştur"u seçin. +1. Kova adını girip "Oluştur"a tıklayın. + +![bucket creation](images/bucket-creation-by-ui.png) + +### `mc` ile oluşturma + +> Kurulum/konfigürasyon için [`mc` kılavuzu](../mc.md). + +``` +# creat rustfs bucket +mc mb rustfs/bucket-creation-by-mc +Bucket created successfully `rustfs/bucket-creation-by-mc`. + +# confirm bucket creation +mc ls rustfs/bucket-creation-by-mc +``` + +### API ile oluşturma + +``` +PUT /{bucketName} HTTP/1.1 +``` + +İstek örneği: + +``` +curl --location --request PUT 'http://12.34.56.78:9000/bucket-creation-by-api' \ +--header 'X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' \ +--header 'X-Amz-Date: 20250801T023519Z' \ +--header 'Authorization: AWS4-HMAC-SHA256 Credential=H4xcBZKQfvJjEnk3zp1N/20250801/cn-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=c2fb2ba5199a30ebcfa9976d0f35000ba274da3701327957e84ea0f3920288f2' +``` + +UI’dan `bucket-creation-by-api` kovanın oluşturulduğunu doğrulayabilirsiniz. + +## Kova silme + +Not: Kova, verilerin kritik bileşenidir; silmek, bu kovayı kullanan uygulamalarda hataya yol açabilir. Silmeden önce yedek alın ve daha fazla gereksinim olmadığını teyit edin. + +### RustFS UI ile silme + +1. RustFS UI konsoluna giriş yapın. +1. Ana sayfada silinecek kovayı seçin. +1. Sağ uçtaki "Sil" düğmesine tıklayın. +1. Açılan iletişim kutusunda "Onayla"ya tıklayın. + +![bucket deletion](images/bucket-deletion-on-ui.png) + +### `mc` ile silme + +> [`mc` kılavuzu](../mc.md). + +``` +# delete bucket +mc rb rustfs/bucket-creation-by-mc +Removed `rustfs/bucket-creation-by-mc` successfully. + +# confirm bucket deletion +mc ls rustfs/bucket-creation-by-mc +mc: Unable to list folder. Bucket `bucket-creation-by-mc` does not exist. +``` + +### API ile silme + +``` +DELETE /{bucketName} HTTP/1.1 +``` + +İstek örneği: + +``` +curl --location --request DELETE 'http://12.34.56.78:9000/bucket-creation-by-api' \ +--header 'X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' \ +--header 'X-Amz-Date: 20250801T024406Z' \ +--header 'Authorization: AWS4-HMAC-SHA256 Credential=H4xcBZKQfvJjEnk3zp1N/20250801/cn-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=d0f6addf09fffd7eef75191e9d3209bb7188e6b004e9707238fc60ad7033edae' +``` + +RustFS UI’dan `bucket-creation-by-api` kovanın silindiğini doğrulayabilirsiniz. \ No newline at end of file diff --git a/docs/tr/guide/bucket/images/bucket-creation-by-ui.png b/docs/tr/guide/bucket/images/bucket-creation-by-ui.png new file mode 100644 index 0000000..4eb368f Binary files /dev/null and b/docs/tr/guide/bucket/images/bucket-creation-by-ui.png differ diff --git a/docs/tr/guide/bucket/images/bucket-deletion-on-ui.png b/docs/tr/guide/bucket/images/bucket-deletion-on-ui.png new file mode 100644 index 0000000..099655a Binary files /dev/null and b/docs/tr/guide/bucket/images/bucket-deletion-on-ui.png differ diff --git a/docs/tr/guide/bucket/images/delete_file_from_ui.png b/docs/tr/guide/bucket/images/delete_file_from_ui.png new file mode 100644 index 0000000..24ab021 Binary files /dev/null and b/docs/tr/guide/bucket/images/delete_file_from_ui.png differ diff --git a/docs/tr/guide/bucket/images/object_details_info.png b/docs/tr/guide/bucket/images/object_details_info.png new file mode 100644 index 0000000..2524e14 Binary files /dev/null and b/docs/tr/guide/bucket/images/object_details_info.png differ diff --git a/docs/tr/guide/bucket/images/upload_file_from_ui.png b/docs/tr/guide/bucket/images/upload_file_from_ui.png new file mode 100644 index 0000000..0ddd76a Binary files /dev/null and b/docs/tr/guide/bucket/images/upload_file_from_ui.png differ diff --git a/docs/tr/guide/bucket/object-upload-and-delete.md b/docs/tr/guide/bucket/object-upload-and-delete.md new file mode 100644 index 0000000..838b07f --- /dev/null +++ b/docs/tr/guide/bucket/object-upload-and-delete.md @@ -0,0 +1,103 @@ +--- +title: "RustFS Nesne Yönetimi" +description: "Nesnelerin yüklenmesi ve silinmesi" +--- + +# RustFS Nesneleri + +Nesne (Object), RustFS depolamasının temel birimidir; veri, meta veri ve benzersiz tanımlayıcıdan (Object Key) oluşur. Bu bölüm, dosya yükleme ve silme örnekleriyle nesne yönetimini açıklar. + +> Nesne ile ilgili kavramlar için [Temel Kavramlar](../../concepts/glossary.md) bölümüne bakın. + +## Nesne oluşturma + +Önkoşullar: + +- Kullanılabilir bir RustFS örneği (../../installation/index.md) + +Önce bir [kova oluşturun](bucket-create-and-delete.md), ardından bu kovaya dosya yükleyerek nesne oluşturun. Yükleme RustFS UI, `mc` veya API ile yapılabilir. + +### RustFS UI ile yükleme + +1. RustFS UI konsoluna giriş yapın. +1. Yüklemek istediğiniz kovayı seçin. +1. Kova sayfasının sağ üstünde "Yeni Dizin", "Yeni Dosya" veya "Dosya/Klasör Yükle"yi seçin. +1. Yerelden yüklemede, "Dosya/Klasör Yükle" > dosya/klasör seç > "Yüklemeyi Başlat" tıklayın. + +![object creation from ui](images/upload_file_from_ui.png) + +Yükleme sonrası, nesneye tıklayarak ayrıntılarını görüntüleyin. + +![object details info](images/object_details_info.png) + +### `mc` ile yükleme + +> Kurulum/konfigürasyon için [`mc` kılavuzu](../mc.md). + +``` +# upload file +mc cp 1.txt rustfs/bucket-creation-by-mc +/tmp/1.txt: 13 B / 13 B ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 61 B/s 0s% + +# confirm file uploaded +mc ls rustfs/bucket-creation-by-mc +[2025-08-01 10:01:08 CST] 13B 1.txt +``` + +### API ile yükleme + +``` +PUT /{bucketName}/{objectName} HTTP/1.1 +``` + +İstek örneği: + +``` +curl --location --request PUT 'http://12.34.56.78:9000/bucket-creation-by-api/password.txt' \ +--header 'Content-Type: text/plain' \ +--header 'X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' \ +--header 'X-Amz-Date: 20250801T024840Z' \ +--header 'Authorization: AWS4-HMAC-SHA256 Credential=H4xcBZKQfvJjEnk3zp1N/20250801/cn-east-1/s3/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date, Signature=b7d8dc29ee34dfdf1f3e9e8e069892a8936f478586e7a2c90cf34f5b86d3a2dc' \ +--data-binary '@/path/to/password.txt' +``` + +## Nesne silme + +UI, `mc` veya API ile nesneleri silebilirsiniz. Yukarıda oluşturulan dosyayı silerek tamamlayın. + +## RustFS UI ile silme + +1. RustFS UI konsoluna giriş yapın. +1. Silinecek dosyanın bulunduğu kovayı seçin. +1. Silinecek dosyayı işaretleyin. +1. Sağ üstte "Seçili olanları sil" > "Onayla". + +![object deletion from ui](images/delete_file_from_ui.png) + +### `mc` ile silme + +``` +# delete file +mc rm rustfs/bucket-creation-by-mc/1.txt +Removed `rustfs/bucket-creation-by-mc/1.txt`. + +# confirm deletion +mc ls rustfs/bucket-creation-by-mc/1.txt +``` + +### API ile silme + +``` +DELETE /{bucketName}/{objectName} HTTP/1.1 +``` + +İstek örneği: + +``` +curl --location --request DELETE 'http://12.34.56.78:9000/bucket-creation-by-api/password.txt' \ +--header 'Content-Type: text/plain' \ +--header 'X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' \ +--header 'X-Amz-Date: 20250801T030822Z' \ +--header 'Authorization: AWS4-HMAC-SHA256 Credential=H4xcBZKQfvJjEnk3zp1N/20250801/cn-east-1/s3/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date, Signature=1ee63bb0b699598602b2fdbd013e355a57bcb9991307a8ad41f6512e8afebf3a' \ +--data-binary '@/Users/jhma/Desktop/password.txt' +``` \ No newline at end of file diff --git a/docs/tr/guide/images/access_token_creation.png b/docs/tr/guide/images/access_token_creation.png new file mode 100644 index 0000000..fbc3ce1 Binary files /dev/null and b/docs/tr/guide/images/access_token_creation.png differ diff --git a/docs/tr/guide/images/access_token_deletion.png b/docs/tr/guide/images/access_token_deletion.png new file mode 100644 index 0000000..1575270 Binary files /dev/null and b/docs/tr/guide/images/access_token_deletion.png differ diff --git a/docs/tr/guide/mc.md b/docs/tr/guide/mc.md new file mode 100644 index 0000000..f1b836c --- /dev/null +++ b/docs/tr/guide/mc.md @@ -0,0 +1,104 @@ +--- +title: "MinIO Client ile RustFS Nesnelerini Yönetme" +description: "MinIO Client kullanarak RustFS nesnelerini yönetme" +--- + +# MinIO Client (`mc`) + +MinIO Client (`mc`), MinIO tarafından sağlanan resmi komut satırı aracıdır ve MinIO, Amazon S3 ile diğer S3 uyumlu nesne depolama hizmetlerini yönetir. S3 uyumlu olduğundan, `mc` RustFS nesnelerinin yönetiminde de kullanılabilir. + +Önkoşullar: + +- Bir RustFS örneği (../../tr/installation/index.md) +- `mc` kurulu +- Geçerli bir [erişim anahtarı](access-token.md) + +## `mc` ile RustFS kullanımı + +Önce `mc alias` komutuyla RustFS için bir takma ad tanımlayın: + +``` +mc alias set rustfs http://12.34.56.78:9000 ACCESS_KEY SECRET_KEY +``` + +Yanıt: + +``` +Added `rustfs` successfully. +``` + +Ardından `rustfs` takma adı ile kova oluşturma/silme ve dosya yükleme/indirme işlemlerini yapabilirsiniz. + +### Kovaları listeleme + +``` +mc ls rustfs +``` + +Yanıt: + +``` +[2025-08-01 10:46:24 CST] 0B bucket-creation-by-api/ +[2025-07-29 09:15:35 CST] 0B rustfs-demo/ +[2025-08-03 09:44:45 CST] 0B bucket-creation-by-ui/ +``` + +### Kova oluşturma + +``` +mc mb rustfs/bucket-creation-by-mc +``` + +Yanıt: + +``` +Bucket created successfully `rustfs/bucket-creation-by-mc`. +``` + +### Kova silme + +``` +mc rb rustfs/bucket-creation-by-mc +``` + +Yanıt: + +``` +Removed `rustfs/bucket-creation-by-mc` successfully. +``` + +### Dosya yükleme + +``` +mc cp file_name rustfs/bucket-creation-by-mc +``` + +Yanıt: + +``` +...path/to/file_name: 4 B / 4 B ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 12 B/s 0s% +``` + +### Dosya silme + +``` +mc rm rustfs/bucket-creation-by-mc/file_name +``` + +Yanıt: + +``` +Removed `rustfs/bucket-creation-by-mc/1.txt`. +``` + +### Dosya indirme + +``` +mc get rustfs/bucket-creation-by-mc/file_name ./file_name +``` + +Yanıt: + +``` +...eation-by-mc/file_name: 4 B / 4 B ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 18 B/s 0s% +``` \ No newline at end of file diff --git a/docs/tr/guide/mcp.md b/docs/tr/guide/mcp.md new file mode 100644 index 0000000..487f289 --- /dev/null +++ b/docs/tr/guide/mcp.md @@ -0,0 +1,185 @@ +--- +title: "RustFS MCP" +description: "RustFS MCP kullanım kılavuzu" +--- + +# RustFS MCP + +**RustFS MCP sunucusu**, AI/LLM araçlarına S3 uyumlu nesne depolama işlemlerine kesintisiz erişim sağlayan, yüksek performanslı bir [Model Context Protocol (MCP)](https://spec.modelcontextprotocol.org) sunucusudur. Sunucu, en yüksek performans ve güvenlik için Rust ile geliştirilmiştir ve Claude Desktop gibi yapay zeka asistanlarının standartlaştırılmış bir protokol üzerinden bulut depolama ile etkileşim kurmasını mümkün kılar. + +### MCP nedir? + +Model Context Protocol, AI uygulamalarının harici sistemlerle güvenli ve kontrollü bağlantılar kurmasını sağlayan açık bir standarttır. Bu sunucu, AI araçları ile S3 uyumlu depolama servisleri arasında bir köprü görevi görür; dosya işlemlerine yapılandırılmış erişim sunarken güvenlik ve gözlemlenebilirliği korur. + +## ✨ Özellikler + +### Desteklenen S3 işlemleri + +- **Kovaları listeleme**: Erişilebilir tüm S3 kovalarını listeler +- **Nesneleri listeleme**: İsteğe bağlı önek (prefix) filtresiyle kova içeriğini gezme +- **Dosya yükleme**: Yerel dosyayı yükler, MIME türünü ve cache-control’ü otomatik algılar +- **Nesne alma**: S3’ten nesne getirir; okuma veya indirme kiplerini destekler + +## 🔧 Kurulum + +### Önkoşullar + +- Rust 1.88+ (kaynak koddan derleme için) +- Yapılandırılmış AWS kimlik bilgileri (ortam değişkenleri, AWS CLI veya IAM rolü) +- S3 uyumlu depolama hizmetine erişim + +### Kaynaktan derleme + +```bash +# Depoyu klonlayın +git clone https://github.com/rustfs/rustfs.git +cd rustfs + +# MCP sunucusunu derleyin +cargo build --release -p rustfs-mcp + +# İkili dosya şu konumda hazır olur +./target/release/rustfs-mcp +``` + +## ⚙️ Yapılandırma + +### Ortam değişkenleri + +```bash +# AWS kimlik bilgileri (zorunlu) +export AWS_ACCESS_KEY_ID=erişim_anahtarınız +export AWS_SECRET_ACCESS_KEY=gizli_anahtarınız +export AWS_REGION=us-east-1 # İsteğe bağlı, varsayılan us-east-1 + +# İsteğe bağlı: Özel S3 uç noktası (MinIO vb. için) +export AWS_ENDPOINT_URL=http://localhost:9000 + +# Günlük seviyesi (isteğe bağlı) +export RUST_LOG=info +``` + +### Komut satırı seçenekleri + +```bash +rustfs-mcp --help +``` + +Sunucu davranışını özelleştirmek için çeşitli seçenekler destekler: + +- `--access-key-id`: S3 kimlik doğrulaması için AWS erişim anahtarı ID’si +- `--secret-access-key`: S3 kimlik doğrulaması için AWS gizli anahtarı +- `--region`: S3 işlemleri için AWS bölgesi (varsayılan: us-east-1) +- `--endpoint-url`: Özel S3 uç noktası URL’si (MinIO, LocalStack vb.) +- `--log-level`: Günlük seviyesi (varsayılan: rustfs_mcp_server=info) + +----- + +## 🚀 Kullanım + +### Sunucuyu başlatma + +```bash +# MCP sunucusunu başlatın +rustfs-mcp + +# veya özel seçeneklerle +rustfs-mcp --log-level debug --region us-west-2 +``` + +### Sohbet istemcisi ile entegrasyon + +#### Seçenek 1: Komut satırı argümanlarıyla + +```json +{ + "mcpServers": { + "rustfs-mcp": { + "command": "/path/to/rustfs-mcp", + "args": [ + "--access-key-id", "erişim_anahtarınız", + "--secret-access-key", "gizli_anahtarınız", + "--region", "us-west-2", + "--log-level", "info" + ] + } + } +} +``` + +#### Seçenek 2: Ortam değişkenleriyle + +```json +{ + "mcpServers": { + "rustfs-mcp": { + "command": "/path/to/rustfs-mcp", + "env": { + "AWS_ACCESS_KEY_ID": "erişim_anahtarınız", + "AWS_SECRET_ACCESS_KEY": "gizli_anahtarınız", + "AWS_REGION": "us-east-1" + } + } + } +} +``` + +## 🛠️ Kullanılabilir araçlar + +MCP sunucusu, AI asistanlarının kullanabileceği aşağıdaki araçları sunar: + +### `list_buckets` + +Yapılandırılmış kimlik bilgileriyle erişilebilen tüm S3 kovalarını listeler. + +**Parametreler**: Yok + +### `list_objects` + +S3 kovasındaki nesneleri listeler; isteğe bağlı önek filtresi desteklenir. + +**Parametreler**: + +- `bucket_name` (string): S3 kova adı +- `prefix` (string, isteğe bağlı): Nesneleri filtrelemek için önek + +### `upload_file` + +Yerel dosyayı S3’e yükler ve MIME türünü otomatik algılar. + +**Parametreler**: + +- `local_file_path` (string): Yerel dosya yolu +- `bucket_name` (string): Hedef S3 kovası +- `object_key` (string): S3 nesne anahtarı (hedef yol) +- `content_type` (string, isteğe bağlı): İçerik türü (sağlanmazsa otomatik) +- `storage_class` (string, isteğe bağlı): S3 depolama sınıfı +- `cache_control` (string, isteğe bağlı): Önbellek kontrol başlığı + +### `get_object` + +S3’ten nesne getirir; iki kip vardır: içeriği doğrudan okumak veya dosyaya indirmek. + +**Parametreler**: + +- `bucket_name` (string): Kaynak S3 kovası +- `object_key` (string): S3 nesne anahtarı +- `version_id` (string, isteğe bağlı): Sürümlemeli nesnenin sürüm ID’si +- `mode` (string, isteğe bağlı): İşlem kipi — "read" (varsayılan) doğrudan içerik; "download" yerel dosyaya kaydetme +- `local_path` (string, isteğe bağlı): Yerel dosya yolu (kip "download" iken zorunlu) +- `max_content_size` (number, isteğe bağlı): Okuma kipinde maksimum içerik boyutu (bayt) (varsayılan: 1MB) + +## Mimari + +MCP sunucusu modüler bir mimari ile inşa edilmiştir: + +``` +rustfs-mcp/ +├── src/ +│ ├── main.rs # Giriş noktası, CLI ayrıştırma, sunucu başlatma +│ ├── server.rs # MCP sunucu uygulaması ve araç işleyicileri +│ ├── s3_client.rs # Asenkron işlemlerle S3 istemci sarmalayıcı +│ ├── config.rs # Yapılandırma yönetimi ve CLI seçenekleri +│ └── lib.rs # Kütüphane dışa aktarımları ve genel API +└── Cargo.toml # Bağımlılıklar, meta veriler ve ikili yapılandırma +``` \ No newline at end of file