> ## Documentation Index
> Fetch the complete documentation index at: https://docs.befailproof.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Github token

title: "GitHub Token Kurulumu"
description: "AgentEye GitHub Token Kurulumu belgelendirmesi."
--------------------------------------------------------------

GitHub Personal Access Token (PAT), her AgentEye yapıtının kilidini açan tek kimlik bilgisidir. Bir token ile Docker imajlarını çekebilir, yayın ikili dosyalarını indirebilir ve Python wheel'lerini kurabilirsiniz; bileşen başına giriş ve dolaşan paylaşılan sırlar olmadan. Tüm AgentEye yapıtları `agenteye-enterprise` GitHub kuruluşundan dağıtılır; kuruluşunuza erişim verildiğinde, her geliştirici veya operatör kendi token'ını oluşturur ve döndürür, böylece erişim kişi başına denetlenebilir ve iptal edilebilir kalır.

Token'ı makine başına bir kez ortam değişkeni ve Docker kimlik bilgisi olarak ayarlayın:

```bash theme={null}
export AGENTEYE_TOKEN=<your-github-pat>
echo $AGENTEYE_TOKEN | docker login ghcr.io -u x --password-stdin
```

> **Kullanıcı adı notu:** GHCR, `docker login` kullanıcı adını yok sayar ve kimlik doğrulamayı tamamen token'dan yapar, bu nedenle boş olmayan herhangi bir değer çalışır. Bu belgeler kısalık için `-u x` kullanır; Kubernetes imaj-çekme sırrı oluşturan dağıtım manifestleri `agenteye-enterprise` gibi daha açıklayıcı bir kullanıcı adı kullanabilir. Her ikisi de kabul edilir.

***

## Seçenek A: Klasik Token (Önerilir)

Klasik token, AgentEye için en güvenilir seçenektir, çünkü GHCR'nin `docker login` ve imaj çekme akışı klasik token'lar için en geniş, en tutarlı desteğe sahiptir. İhtiyacınız olan her şeyi (imajları çekme ve yayın varlıklarını indirme) kapsayan iki kapsam vardır, bu nedenle bir kez kimlik doğrulama yaparsınız ve kayıt defteri sorunlarını gidermeden devam edersiniz. Bunlardan biri olan `read:packages`, gerçekten salt okunurdur; diğeri olan `repo`, özel yayın varlıklarına erişim sağlayan tek klasik kapsamdır ve kasıtlı olarak geniştir — GitHub bunu özel depolar üzerinde tam kontrol (okuma ve yazma) olarak tanımlar.

### 1. Token'ı oluşturun

**GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic) → Generate new token (classic)** bölümüne gidin.

| Alan           | Değer                                                                                              |
| -------------- | -------------------------------------------------------------------------------------------------- |
| **Note**       | `agenteye-<machine-or-team-name>` (örn. `agenteye-prod-server`)                                    |
| **Expiration** | Güvenlik politikanız için uygun bir son kullanma tarihi belirleyin; 90 gün makul bir varsayılandır |

> **Etiket notu:** GitHub bu alanı klasik token'lar için **Note** olarak etiketler ve ince taneli token'lar için **Token name** olarak etiketler. Aynı amaca hizmet ederler: daha sonraki denetim ve iptal için okunabilir bir tanımlayıcı.

### 2. Kapsamları seçin

| Kapsam          | Neden gerekli                                                                                                                                                                                                                                                                                               |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `read:packages` | `ghcr.io/agenteye-enterprise/` adresinden Docker imajlarını çekin ve paket varlıklarını indirin                                                                                                                                                                                                             |
| `repo`          | `agenteye-enterprise/releases` adresinden özel depo içeriğini, ham dosyaları ve yayın varlıklarını okuyun. Bu, GitHub'ın geniş kapsamlı "Özel depolar üzerinde tam kontrol" kapsamıdır (okuma ve yazma), salt okunur bir kapsam değildir — bu, özel yayın varlıklarına erişim sağlayan tek klasik kapsamdır |

Başka hiçbir kapsam gerekli değildir.

### 3. Token'ı oluşturun ve kopyalayın

**Generate token** öğesine tıklayın ve değeri hemen kopyalayın; yalnızca bir kez gösterilir. Bunu gizli yöneticinizde veya ortamınızda saklayın.

***

## Seçenek B: İnce Taneli Token

İnce taneli token'lar erişimi belirli depolara ve izinlere kapsama alarak, en az ayrıcalık seçeneğini sunar. Kuruluşunuzun güvenlik politikası ince taneli token'ları zorunlu kıldığında bu yolu seçin.

> **Not:** İnce taneli token'lar için GHCR desteği klasik token'lardan daha az tutarlıdır. Bu adımları izledikten sonra `docker login` veya `docker pull` başarısız olursa, klasik bir token'a (Seçenek A) geri dönün.

### 1. Token'ı oluşturun

**GitHub → Settings → Developer settings → Personal access tokens → Fine-grained tokens → Generate new token** bölümüne gidin.

| Alan                  | Değer                                                                                              |
| --------------------- | -------------------------------------------------------------------------------------------------- |
| **Token name**        | `agenteye-<machine-or-team-name>` (örn. `agenteye-prod-server`)                                    |
| **Expiration**        | Güvenlik politikanız için uygun bir son kullanma tarihi belirleyin; 90 gün makul bir varsayılandır |
| **Resource owner**    | `agenteye-enterprise`                                                                              |
| **Repository access** | **Only select repositories** → `agenteye-enterprise/releases`                                      |

### 2. Depo izinlerini ayarlayın

**Permissions → Repository permissions** altında şunları ayarlayın:

| İzin         | Erişim      |
| ------------ | ----------- |
| **Contents** | Salt okunur |
| **Packages** | Salt okunur |

Diğer tüm izinler **No access** olarak kalabilir.

> **Not:** Konteyner imajları (`ghcr.io/agenteye-enterprise/...`) kuruluş düzeyinde paket olarak yayınlanıyorsa, depo bağlantılı paketler değil, depo kapsamlı izinlerle Docker girişi başarısız olabilir. Bu durumda, kuruluş düzeyinde izin ekleyin: **Permissions → Organization permissions → Packages: Read-only**.

### 3. Her izin ne sağlar

| İzin                  | Kullanıldığı yer                                                                                                     |
| --------------------- | -------------------------------------------------------------------------------------------------------------------- |
| Contents: Salt okunur | `agenteye-enterprise/releases` adresinden `docker-compose.yml`, yayın ikili dosyaları ve Python wheel'lerini indirme |
| Packages: Salt okunur | `ghcr.io/agenteye-enterprise/` adresinden Docker imajlarını çekme                                                    |

### 4. Token'ı oluşturun ve kopyalayın

**Generate token** öğesine tıklayın ve değeri hemen kopyalayın; yalnızca bir kez gösterilir. Bunu gizli yöneticinizde veya ortamınızda saklayın.

***

## Token'ı Döndürme

Token'ları belirli aralıklarla döndürmek, erişimi denetlenebilir tutar ve kimlik bilgisi sızarsa oluşacak hasarı sınırlar. Token'lar ayrıca herhangi bir zamanda sona erebilir veya iptal edilebilir, bu nedenle döndürme, kimlik doğrulama durumunun iyi kalması için rutin bir yoldur. Döndürmek için:

1. Yukarıdaki adımları kullanarak yeni bir token oluşturun.
2. Ortamınız veya gizli yöneticinizde `AGENTEYE_TOKEN` öğesini güncelleyin.
3. Docker'ı yeniden kimlik doğrulayın: `echo $AGENTEYE_TOKEN | docker login ghcr.io -u x --password-stdin`
4. **GitHub → Settings → Developer settings → Personal access tokens** adresinde eski token'ı iptal edin, ardından token'ın türüyle eşleşen **Tokens (classic)** veya **Fine-grained tokens** alt sayfasını açın ve silin.

***

## Token'ınızı Doğrulayın

Dağıtıma entegre etmeden önce token'ın çalıştığını onaylayın, böylece kimlik doğrulama hataları burada ortaya çıkar, dağıtım ortasında değil. Her komut yukarıdaki kapsamlardan birini kullanır:

```bash theme={null}
# Packages scope - authenticate Docker against GHCR
echo $AGENTEYE_TOKEN | docker login ghcr.io -u x --password-stdin

# Contents scope - fetch a raw release file
curl -fsSL \
  -H "Authorization: token $AGENTEYE_TOKEN" \
  https://raw.githubusercontent.com/agenteye-enterprise/releases/main/docker-compose.yml \
  -o /tmp/agenteye-compose-check.yml
```

Başarılı bir `docker login`, paket kapsamını onaylar; indirilen bir dosya, içerik kapsamını onaylar.

***

## Sorun Giderme

| Belirti                                     | Olası neden                                                                   | Çözüm                                                                                                                  |
| ------------------------------------------- | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `docker login` 401 döndürür                 | Token eksik `Packages: Read-only` (ince taneli) veya `read:packages` (klasik) | Paket kapsamını ekleyin ve yeniden oluşturun                                                                           |
| `curl` ham GitHub URL'lerinde 404 döndürür  | Token eksik `Contents: Read-only` veya `repo` kapsamı                         | İçerik kapsamını ekleyin ve yeniden oluşturun                                                                          |
| `gh release download` 403 döndürür          | Token `agenteye-enterprise/releases` için yetkilendirilmemiş                  | Deponun ince taneli token'ın depo erişimine dahil olduğunu doğrulayın veya `repo` kapsamıyla klasik bir token kullanın |
| Token kabul edildi ancak imajlar bulunamadı | İnce taneli token'da kuruluş düzeyinde paket izni eksik                       | Kuruluş düzeyinde `Packages: Read-only` izni ekleyin                                                                   |

Erişim sorunları için `support@exosphere.host` ile iletişime geçin.
