forked from kubernetes-sigs/controller-runtime
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathalias.go
More file actions
145 lines (117 loc) · 7.03 KB
/
alias.go
File metadata and controls
145 lines (117 loc) · 7.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
/*
Kubernetes Yazarları 2018.
Apache Lisansı, Sürüm 2.0 ("Lisans") kapsamında lisanslanmıştır;
bu dosyayı yalnızca Lisans'a uygun olarak kullanabilirsiniz.
Lisansın bir kopyasını aşağıdaki adreste bulabilirsiniz:
http://www.apache.org/licenses/LICENSE-2.0
Geçerli yasa kapsamında gerekli olmadıkça veya yazılı olarak kabul edilmedikçe,
Lisans kapsamında dağıtılan yazılım "OLDUĞU GİBİ" dağıtılır,
HERHANGİ BİR GARANTİ VEYA KOŞUL OLMAKSIZIN.
Lisans kapsamında izin verilen belirli dil kapsamındaki haklar ve
sınırlamalar için Lisansa bakın.
*/
package controllerruntime
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
"sigs.k8s.io/controller-runtime/pkg/builder"
"sigs.k8s.io/controller-runtime/pkg/client/config"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
"sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/manager"
"sigs.k8s.io/controller-runtime/pkg/manager/signals"
"sigs.k8s.io/controller-runtime/pkg/reconcile"
"sigs.k8s.io/controller-runtime/pkg/scheme"
)
// Builder, bir Uygulama ControllerManagedBy (örneğin Operatör) oluşturur ve başlatmak için bir manager.Manager döner.
type Builder = builder.Builder
// Request, bir Kubernetes nesnesini uzlaştırmak için gerekli bilgileri içerir. Bu, nesneyi benzersiz şekilde tanımlamak için
// gerekli bilgileri içerir - Adı ve Ad Alanı. Belirli bir Olay veya nesne içeriği hakkında bilgi içermez.
type Request = reconcile.Request
// Result, bir Reconciler çağrısının sonucunu içerir.
type Result = reconcile.Result
// Manager, Önbellekler ve İstemciler gibi paylaşılan bağımlılıkları başlatır ve bunları Runnables'a sağlar.
// Bir Manager, Kontrolörler oluşturmak için gereklidir.
type Manager = manager.Manager
// Options, yeni bir Manager oluşturmak için argümanlardır.
type Options = manager.Options
// SchemeBuilder, go türlerini Kubernetes GroupVersionKinds ile eşlemek için yeni bir Şema oluşturur.
type SchemeBuilder = scheme.Builder
// GroupVersion, API'yi benzersiz şekilde tanımlayan "grup" ve "sürüm" içerir.
type GroupVersion = schema.GroupVersion
// GroupResource, bir Grup ve bir Kaynak belirtir, ancak bir sürümü zorlamaz. Bu, kısmen geçerli türler olmadan
// kavramları arama aşamalarında tanımlamak için kullanışlıdır.
type GroupResource = schema.GroupResource
// TypeMeta, bir API yanıtında veya isteğinde bireysel bir nesneyi tanımlar
// ve nesnenin türünü ve API şema sürümünü temsil eden dizeler içerir.
// Sürümlenen veya kalıcı hale getirilen yapılar TypeMeta'yı içermelidir.
//
// +k8s:deepcopy-gen=false
type TypeMeta = metav1.TypeMeta
// ObjectMeta, tüm kalıcı kaynakların sahip olması gereken meta verileri içerir, bu da kullanıcıların oluşturması gereken tüm nesneleri içerir.
type ObjectMeta = metav1.ObjectMeta
var (
// RegisterFlags, belirtilen FlagSet'e bayrak değişkenlerini kaydeder, eğer zaten kayıtlı değilse.
// Varsayılan komut satırı FlagSet'i kullanır, eğer sağlanmamışsa. Şu anda yalnızca kubeconfig bayrağını kaydeder.
RegisterFlags = config.RegisterFlags
// GetConfigOrDie, bir Kubernetes apiserver ile konuşmak için bir *rest.Config oluşturur.
// Eğer --kubeconfig ayarlanmışsa, o konumdaki kubeconfig dosyasını kullanır. Aksi takdirde, küme içinde çalıştığını varsayar
// ve küme tarafından sağlanan kubeconfig'i kullanır.
//
// rest.Config oluştururken bir hata oluşursa bir hata günlüğü kaydeder ve çıkar.
GetConfigOrDie = config.GetConfigOrDie
// GetConfig, bir Kubernetes apiserver ile konuşmak için bir *rest.Config oluşturur.
// Eğer --kubeconfig ayarlanmışsa, o konumdaki kubeconfig dosyasını kullanır. Aksi takdirde, küme içinde çalıştığını varsayar
// ve küme tarafından sağlanan kubeconfig'i kullanır.
//
// Config önceliği
//
// * --kubeconfig bayrağı bir dosyaya işaret ediyorsa
//
// * KUBECONFIG ortam değişkeni bir dosyaya işaret ediyorsa
//
// * Küme içinde çalışıyorsa küme içi yapılandırma
//
// * $HOME/.kube/config varsa.
GetConfig = config.GetConfig
// NewControllerManagedBy, sağlanan Manager tarafından başlatılacak yeni bir kontrolör oluşturucu döner.
NewControllerManagedBy = builder.ControllerManagedBy
// NewWebhookManagedBy, sağlanan Manager tarafından başlatılacak yeni bir webhook oluşturucu döner.
NewWebhookManagedBy = builder.WebhookManagedBy
// NewManager, Kontrolörler oluşturmak için yeni bir Manager döner.
// Verilen yapılandırmadaki ContentType ayarlanmamışsa, Kubernetes'in tüm yerleşik kaynakları için "application/vnd.kubernetes.protobuf"
// ve diğer türler için "application/json" kullanılacaktır, CRD kaynakları dahil.
NewManager = manager.New
// CreateOrUpdate, verilen obj nesnesini Kubernetes kümesinde oluşturur veya günceller.
// Nesnenin istenen durumu, geçirilen ReconcileFn kullanılarak mevcut durumla uzlaştırılmalıdır.
// obj, sunucu tarafından döndürülen içerikle güncellenebilmesi için bir yapı işaretçisi olmalıdır.
//
// Gerçekleştirilen işlemi ve bir hatayı döner.
CreateOrUpdate = controllerutil.CreateOrUpdate
// SetControllerReference, owner'ı owned üzerinde bir Kontrolör SahiplikReferansı olarak ayarlar.
// Bu, owned nesnesinin çöp toplanması ve owned üzerinde değişiklikler olduğunda owner nesnesinin uzlaştırılması için kullanılır
// (bir Watch + EnqueueRequestForOwner ile).
// Yalnızca bir SahiplikReferansı bir kontrolör olabilir, bu nedenle başka bir SahiplikReferansı varsa
// Kontrolör bayrağı ayarlanmışsa bir hata döner.
SetControllerReference = controllerutil.SetControllerReference
// SetupSignalHandler, SIGTERM ve SIGINT için kayıt yapar. Bir context döner
// bu sinyallerden biri alındığında iptal edilir. İkinci bir sinyal alınırsa, program
// çıkış kodu 1 ile sonlandırılır.
SetupSignalHandler = signals.SetupSignalHandler
// Log, controller-runtime tarafından kullanılan temel logger'dır. Başka bir logr.Logger'a devreder.
// Gerçek bir günlükleme almak için SetLogger'ı çağırmalısınız.
Log = log.Log
// LoggerFrom, context.Context'ten önceden tanımlanmış değerlerle bir logger döner.
// Logger, kontrolörlerle kullanıldığında, uzlaştırılan nesne hakkında temel bilgiler içermesi beklenebilir:
// - For(...) nesnesi kontrolör oluştururken geçirildiğinde `uzlaştırıcı grup` ve `uzlaştırıcı tür`.
// - Uzlaştırma isteğinden `ad` ve `ad alanı`.
//
// Bu, Reconciler arayüzünü karşılayan bir yapıdaki context ile kullanılmak üzere tasarlanmıştır.
LoggerFrom = log.FromContext
// LoggerInto, bir context alır ve logger'ı anahtarlarından biri olarak ayarlar.
//
// Bu, uzlaştırıcılarda bir context içindeki logger'ı ek değerlerle zenginleştirmek için tasarlanmıştır.
LoggerInto = log.IntoContext
// SetLogger, tüm ertelenmiş Logger'lar için somut bir günlükleme uygulaması ayarlar.
SetLogger = log.SetLogger
)