SYMBOL INDEX (649 symbols across 135 files) FILE: cmd/checksum-controller/main.go function main (line 46) | func main() { type options (line 80) | type options struct method AddFlags (line 99) | func (o *options) AddFlags(fs *pflag.FlagSet) { method validate (line 110) | func (o *options) validate() error { method run (line 118) | func (o *options) run(ctx context.Context) error { function newOptions (line 88) | func newOptions() *options { FILE: cmd/checksum-controller/reconciler.go type Reconciler (line 45) | type Reconciler struct method AddToManager (line 50) | func (r *Reconciler) AddToManager(mgr manager.Manager, controllerRingN... method Reconcile (line 96) | func (r *Reconciler) Reconcile(ctx context.Context, req reconcile.Requ... function SecretDataChanged (line 77) | func SecretDataChanged() predicate.Predicate { function ObjectDeleted (line 86) | func ObjectDeleted() predicate.Predicate { FILE: cmd/sharder/app/app.go constant Name (line 41) | Name = "sharder" function NewCommand (line 44) | func NewCommand() *cobra.Command { function run (line 83) | func run(ctx context.Context, log logr.Logger, opts *options) error { FILE: cmd/sharder/app/options.go type options (line 54) | type options struct method addFlags (line 71) | func (o *options) addFlags(fs *pflag.FlagSet) { method complete (line 79) | func (o *options) complete() error { method applyConfigToRESTConfig (line 120) | func (o *options) applyConfigToRESTConfig() { method applyConfigToManagerOptions (line 131) | func (o *options) applyConfigToManagerOptions() { method applyCacheOptions (line 172) | func (o *options) applyCacheOptions() { method applyOptionsOverrides (line 192) | func (o *options) applyOptionsOverrides() error { function newOptions (line 63) | func newOptions() *options { function dropUnwantedMetadata (line 206) | func dropUnwantedMetadata(i interface{}) (interface{}, error) { FILE: cmd/sharder/main.go function main (line 28) | func main() { FILE: pkg/apis/config/v1alpha1/defaults.go function addDefaultingFuncs (line 33) | func addDefaultingFuncs(scheme *runtime.Scheme) error { function SetDefaults_SharderConfig (line 37) | func SetDefaults_SharderConfig(obj *SharderConfig) { function SetDefaults_LeaderElectionConfiguration (line 53) | func SetDefaults_LeaderElectionConfiguration(obj *componentbaseconfigv1a... function SetDefaults_DebuggingConfiguration (line 68) | func SetDefaults_DebuggingConfiguration(obj *componentbaseconfigv1alpha1... function SetDefaults_HealthEndpoint (line 76) | func SetDefaults_HealthEndpoint(obj *HealthEndpoint) { function SetDefaults_MetricsEndpoint (line 82) | func SetDefaults_MetricsEndpoint(obj *MetricsEndpoint) { function SetDefaults_Controller (line 88) | func SetDefaults_Controller(obj *Controller) { function SetDefaults_SharderController (line 94) | func SetDefaults_SharderController(obj *SharderController) { function SetDefaults_Webhook (line 103) | func SetDefaults_Webhook(obj *Webhook) { function SetDefaults_WebhookConfig (line 113) | func SetDefaults_WebhookConfig(obj *WebhookConfig) { function SetDefaults_WebhookClientConfig (line 129) | func SetDefaults_WebhookClientConfig(obj *admissionregistrationv1.Webhoo... function SetDefaults_ServiceReference (line 135) | func SetDefaults_ServiceReference(obj *admissionregistrationv1.ServiceRe... FILE: pkg/apis/config/v1alpha1/register.go constant GroupName (line 28) | GroupName = "config.sharding.timebertt.dev" function addKnownTypes (line 41) | func addKnownTypes(scheme *runtime.Scheme) error { FILE: pkg/apis/config/v1alpha1/types.go type SharderConfig (line 28) | type SharderConfig struct type HealthEndpoint (line 58) | type HealthEndpoint struct type MetricsEndpoint (line 68) | type MetricsEndpoint struct type Controller (line 78) | type Controller struct type SharderController (line 85) | type SharderController struct type Webhook (line 98) | type Webhook struct type WebhookServer (line 108) | type WebhookServer struct type WebhookConfig (line 124) | type WebhookConfig struct FILE: pkg/apis/config/v1alpha1/v1alpha1_suite_test.go function TestV1alpha1 (line 26) | func TestV1alpha1(t *testing.T) { FILE: pkg/apis/config/v1alpha1/zz_generated.deepcopy.go method DeepCopyInto (line 31) | func (in *Controller) DeepCopyInto(out *Controller) { method DeepCopy (line 41) | func (in *Controller) DeepCopy() *Controller { method DeepCopyInto (line 51) | func (in *HealthEndpoint) DeepCopyInto(out *HealthEndpoint) { method DeepCopy (line 56) | func (in *HealthEndpoint) DeepCopy() *HealthEndpoint { method DeepCopyInto (line 66) | func (in *MetricsEndpoint) DeepCopyInto(out *MetricsEndpoint) { method DeepCopy (line 71) | func (in *MetricsEndpoint) DeepCopy() *MetricsEndpoint { method DeepCopyInto (line 81) | func (in *SharderConfig) DeepCopyInto(out *SharderConfig) { method DeepCopy (line 111) | func (in *SharderConfig) DeepCopy() *SharderConfig { method DeepCopyObject (line 121) | func (in *SharderConfig) DeepCopyObject() runtime.Object { method DeepCopyInto (line 129) | func (in *SharderController) DeepCopyInto(out *SharderController) { method DeepCopy (line 144) | func (in *SharderController) DeepCopy() *SharderController { method DeepCopyInto (line 154) | func (in *Webhook) DeepCopyInto(out *Webhook) { method DeepCopy (line 169) | func (in *Webhook) DeepCopy() *Webhook { method DeepCopyInto (line 179) | func (in *WebhookConfig) DeepCopyInto(out *WebhookConfig) { method DeepCopy (line 201) | func (in *WebhookConfig) DeepCopy() *WebhookConfig { method DeepCopyInto (line 211) | func (in *WebhookServer) DeepCopyInto(out *WebhookServer) { method DeepCopy (line 231) | func (in *WebhookServer) DeepCopy() *WebhookServer { FILE: pkg/apis/config/v1alpha1/zz_generated.defaults.go function RegisterDefaults (line 31) | func RegisterDefaults(scheme *runtime.Scheme) error { function SetObjectDefaults_SharderConfig (line 36) | func SetObjectDefaults_SharderConfig(in *SharderConfig) { FILE: pkg/apis/sharding/v1alpha1/constants.go constant NamespaceSystem (line 23) | NamespaceSystem = "sharding-system" constant AppControllerSharding (line 26) | AppControllerSharding = "controller-sharding" constant alphaPrefix (line 29) | alphaPrefix = "alpha.sharding.timebertt.dev/" constant LabelControllerRing (line 32) | LabelControllerRing = alphaPrefix + "controllerring" constant LabelState (line 35) | LabelState = alphaPrefix + "state" constant LabelShardPrefix (line 38) | LabelShardPrefix = "shard." + alphaPrefix constant LabelDrainPrefix (line 42) | LabelDrainPrefix = "drain." + alphaPrefix constant IdentityShardLeaseController (line 46) | IdentityShardLeaseController = "shardlease-controller" function LabelShard (line 50) | func LabelShard(ringName string) string { function LabelDrain (line 56) | func LabelDrain(ringName string) string { FILE: pkg/apis/sharding/v1alpha1/register.go constant GroupName (line 29) | GroupName = "sharding.timebertt.dev" function addKnownTypes (line 42) | func addKnownTypes(scheme *runtime.Scheme) error { FILE: pkg/apis/sharding/v1alpha1/types_controllerring.go type ControllerRing (line 36) | type ControllerRing struct method LeaseSelector (line 119) | func (c *ControllerRing) LeaseSelector() labels.Selector { method LabelShard (line 124) | func (c *ControllerRing) LabelShard() string { method LabelDrain (line 130) | func (c *ControllerRing) LabelDrain() string { type ControllerRingList (line 52) | type ControllerRingList struct type ControllerRingSpec (line 62) | type ControllerRingSpec struct type RingResource (line 79) | type RingResource struct constant ControllerRingReady (line 98) | ControllerRingReady = "Ready" type ControllerRingStatus (line 102) | type ControllerRingStatus struct FILE: pkg/apis/sharding/v1alpha1/v1alpha1_suite_test.go function TestV1alpha1 (line 26) | func TestV1alpha1(t *testing.T) { FILE: pkg/apis/sharding/v1alpha1/zz_generated.deepcopy.go method DeepCopyInto (line 29) | func (in *ControllerRing) DeepCopyInto(out *ControllerRing) { method DeepCopy (line 38) | func (in *ControllerRing) DeepCopy() *ControllerRing { method DeepCopyObject (line 48) | func (in *ControllerRing) DeepCopyObject() runtime.Object { method DeepCopyInto (line 56) | func (in *ControllerRingList) DeepCopyInto(out *ControllerRingList) { method DeepCopy (line 70) | func (in *ControllerRingList) DeepCopy() *ControllerRingList { method DeepCopyObject (line 80) | func (in *ControllerRingList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 88) | func (in *ControllerRingSpec) DeepCopyInto(out *ControllerRingSpec) { method DeepCopy (line 105) | func (in *ControllerRingSpec) DeepCopy() *ControllerRingSpec { method DeepCopyInto (line 115) | func (in *ControllerRingStatus) DeepCopyInto(out *ControllerRingStatus) { method DeepCopy (line 127) | func (in *ControllerRingStatus) DeepCopy() *ControllerRingStatus { method DeepCopyInto (line 137) | func (in *RingResource) DeepCopyInto(out *RingResource) { method DeepCopy (line 148) | func (in *RingResource) DeepCopy() *RingResource { FILE: pkg/controller/add.go function AddToManager (line 32) | func AddToManager(ctx context.Context, mgr manager.Manager, config *conf... FILE: pkg/controller/controllerring/add.go constant ControllerName (line 36) | ControllerName = "controllerring" method AddToManager (line 39) | func (r *Reconciler) AddToManager(mgr manager.Manager) error { method LeasePredicate (line 64) | func (r *Reconciler) LeasePredicate() predicate.Predicate { FILE: pkg/controller/controllerring/controllerring_suite_test.go function TestControllerRing (line 26) | func TestControllerRing(t *testing.T) { FILE: pkg/controller/controllerring/reconciler.go type Reconciler (line 54) | type Reconciler struct method Reconcile (line 62) | func (r *Reconciler) Reconcile(ctx context.Context, req reconcile.Requ... method updateStatusSuccess (line 95) | func (r *Reconciler) updateStatusSuccess(ctx context.Context, controll... method updateStatusError (line 106) | func (r *Reconciler) updateStatusError(ctx context.Context, log logr.L... method OptionallyUpdateStatus (line 124) | func (r *Reconciler) OptionallyUpdateStatus(ctx context.Context, contr... method reconcileWebhooks (line 142) | func (r *Reconciler) reconcileWebhooks(ctx context.Context, controller... method WebhookConfigForControllerRing (line 151) | func (r *Reconciler) WebhookConfigForControllerRing(controllerRing *sh... function WebhookConfigForControllerRing (line 160) | func WebhookConfigForControllerRing(controllerRing *shardingv1alpha1.Con... function WebhookForControllerRing (line 178) | func WebhookForControllerRing(controllerRing *shardingv1alpha1.Controlle... function RuleForResource (line 231) | func RuleForResource(gr metav1.GroupResource) admissionregistrationv1.Ru... FILE: pkg/controller/sharder/add.go constant ControllerName (line 38) | ControllerName = "sharder" method AddToManager (line 41) | func (r *Reconciler) AddToManager(mgr manager.Manager) error { method LeasePredicate (line 71) | func (r *Reconciler) LeasePredicate() predicate.Predicate { FILE: pkg/controller/sharder/reconciler.go type Reconciler (line 62) | type Reconciler struct method Reconcile (line 70) | func (r *Reconciler) Reconcile(ctx context.Context, req reconcile.Requ... method NewOperation (line 100) | func (r *Reconciler) NewOperation(ctx context.Context, controllerRing ... method GetSelectedNamespaces (line 126) | func (r *Reconciler) GetSelectedNamespaces(ctx context.Context, contro... type Operation (line 150) | type Operation struct method ResyncControllerRing (line 171) | func (o *Operation) ResyncControllerRing(ctx context.Context, log logr... method compileWorkItemsForRing (line 208) | func (o *Operation) compileWorkItemsForRing(ctx context.Context, work ... method compileWorkItemsForResource (line 219) | func (o *Operation) compileWorkItemsForResource( method workItemForObject (line 271) | func (o *Operation) workItemForObject( method processNextWorkItem (line 325) | func (o *Operation) processNextWorkItem( method drainObject (line 360) | func (o *Operation) drainObject( method moveObject (line 384) | func (o *Operation) moveObject( type workItem (line 162) | type workItem struct FILE: pkg/controller/sharder/reconciler_test.go function newNamespace (line 173) | func newNamespace(name string) *corev1.Namespace { function newLease (line 180) | func newLease() *coordinationv1.Lease { FILE: pkg/controller/sharder/sharder_suite_test.go function TestSharder (line 26) | func TestSharder(t *testing.T) { FILE: pkg/controller/shardlease/add.go constant ControllerName (line 37) | ControllerName = "shardlease" method AddToManager (line 40) | func (r *Reconciler) AddToManager(mgr manager.Manager) error { method LeasePredicate (line 69) | func (r *Reconciler) LeasePredicate() predicate.Predicate { FILE: pkg/controller/shardlease/reconciler.go type Reconciler (line 40) | type Reconciler struct method Reconcile (line 46) | func (r *Reconciler) Reconcile(ctx context.Context, req reconcile.Requ... FILE: pkg/controller/shardlease/shardlease_suite_test.go function TestShardLease (line 26) | func TestShardLease(t *testing.T) { FILE: pkg/metrics/add.go constant Namespace (line 27) | Namespace = "controller_sharding" function AddToManager (line 30) | func AddToManager(mgr manager.Manager) error { FILE: pkg/metrics/exporter/exporter.go type Exporter (line 35) | type Exporter struct type Metric (line 52) | type Metric struct type GenerateFunc (line 65) | type GenerateFunc method AddToManager (line 68) | func (e *Exporter[O, L]) AddToManager(mgr manager.Manager) error { method NeedLeaderElection (line 87) | func (e *Exporter[O, L]) NeedLeaderElection() bool { method Start (line 93) | func (e *Exporter[O, L]) Start(_ context.Context) error { method Describe (line 101) | func (e *Exporter[O, L]) Describe(ch chan<- *prometheus.Desc) { method Collect (line 107) | func (e *Exporter[O, L]) Collect(ch chan<- prometheus.Metric) { method handleError (line 132) | func (e *Exporter[O, L]) handleError(ch chan<- prometheus.Metric, err er... function GenerateStateSet (line 142) | func GenerateStateSet[O client.Object](knownStates []string, unknownStat... function stateSetMetric (line 164) | func stateSetMetric(desc *prometheus.Desc, state string, value bool, sta... function KnownStates (line 174) | func KnownStates[T ~string](s []T) []string { function KnownStatesStringer (line 183) | func KnownStatesStringer[T fmt.Stringer](s []T) []string { FILE: pkg/shard/controller/builder.go type Builder (line 30) | type Builder struct method For (line 47) | func (b *Builder) For(object client.Object) *Builder { method WithClient (line 58) | func (b *Builder) WithClient(c client.Client) *Builder { method InControllerRing (line 64) | func (b *Builder) InControllerRing(name string) *Builder { method WithShardName (line 70) | func (b *Builder) WithShardName(name string) *Builder { method MustBuild (line 76) | func (b *Builder) MustBuild(r reconcile.Reconciler) reconcile.Reconcil... method Build (line 83) | func (b *Builder) Build(r reconcile.Reconciler) (reconcile.Reconciler,... function NewShardedReconciler (line 42) | func NewShardedReconciler(mgr manager.Manager) *Builder { FILE: pkg/shard/controller/builder_test.go type fakeManager (line 147) | type fakeManager struct method GetClient (line 152) | func (f fakeManager) GetClient() client.Client { FILE: pkg/shard/controller/controller_suite_test.go function TestController (line 26) | func TestController(t *testing.T) { FILE: pkg/shard/controller/predicate.go function Predicate (line 33) | func Predicate(controllerRingName, shardName string, predicates ...predi... function isAssigned (line 42) | func isAssigned(controllerRingName, shardName string) predicate.Predicate { function isDrained (line 48) | func isDrained(controllerRingName string) predicate.Predicate { FILE: pkg/shard/controller/reconciler.go type Reconciler (line 35) | type Reconciler struct method Reconcile (line 53) | func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.... FILE: pkg/shard/lease/lease.go type Options (line 37) | type Options struct function NewResourceLock (line 52) | func NewResourceLock(config *rest.Config, options Options) (resourcelock... type LeaseLock (line 101) | type LeaseLock struct method Get (line 112) | func (ll *LeaseLock) Get(ctx context.Context) (*resourcelock.LeaderEle... method Create (line 127) | func (ll *LeaseLock) Create(ctx context.Context, ler resourcelock.Lead... method Update (line 141) | func (ll *LeaseLock) Update(ctx context.Context, ler resourcelock.Lead... method RecordEvent (line 159) | func (ll *LeaseLock) RecordEvent(string) {} method Describe (line 163) | func (ll *LeaseLock) Describe() string { method Identity (line 168) | func (ll *LeaseLock) Identity() string { function mergeLabels (line 172) | func mergeLabels(obj *metav1.ObjectMeta, labels map[string]string) { constant inClusterNamespacePath (line 181) | inClusterNamespacePath = "var/run/secrets/kubernetes.io/serviceaccount/n... function getInClusterNamespace (line 186) | func getInClusterNamespace() (string, error) { FILE: pkg/shard/lease/lease_suite_test.go function TestLease (line 26) | func TestLease(t *testing.T) { FILE: pkg/sharding/consistenthash/benchmark_test.go function TestDistribution (line 25) | func TestDistribution(t *testing.T) { function generateHostnames (line 52) | func generateHostnames(n int) []string { function benchmarkRing (line 61) | func benchmarkRing(nodes int, tokensPerNode int, b *testing.B) { function BenchmarkRing3_100 (line 71) | func BenchmarkRing3_100(b *testing.B) { benchmarkRing(3, 100, b) } function BenchmarkRing3_1000 (line 72) | func BenchmarkRing3_1000(b *testing.B) { benchmarkRing(3, 1000, b) } function BenchmarkRing5_100 (line 73) | func BenchmarkRing5_100(b *testing.B) { benchmarkRing(5, 100, b) } function BenchmarkRing5_1000 (line 74) | func BenchmarkRing5_1000(b *testing.B) { benchmarkRing(5, 1000, b) } function BenchmarkRing10_100 (line 75) | func BenchmarkRing10_100(b *testing.B) { benchmarkRing(10, 100, b) } function BenchmarkRing10_1000 (line 76) | func BenchmarkRing10_1000(b *testing.B) { benchmarkRing(10, 1000, b) } FILE: pkg/sharding/consistenthash/consistenthash_suite_test.go function TestConsistentHash (line 26) | func TestConsistentHash(t *testing.T) { FILE: pkg/sharding/consistenthash/ring.go type Hash (line 27) | type Hash constant DefaultTokensPerNode (line 33) | DefaultTokensPerNode = 100 function New (line 39) | func New(hash Hash, tokensPerNode int, initialNodes ...string) *Ring { type Ring (line 62) | type Ring struct method IsEmpty (line 71) | func (r *Ring) IsEmpty() bool { method AddNodes (line 76) | func (r *Ring) AddNodes(nodes ...string) { method Hash (line 90) | func (r *Ring) Hash(key string) string { FILE: pkg/sharding/handler/controllerring.go function MapControllerRingToLeases (line 34) | func MapControllerRingToLeases(reader client.Reader) handler.MapFunc { FILE: pkg/sharding/handler/handler_suite_test.go function TestHandler (line 26) | func TestHandler(t *testing.T) { FILE: pkg/sharding/handler/lease.go function MapLeaseToControllerRing (line 29) | func MapLeaseToControllerRing(_ context.Context, obj client.Object) []re... FILE: pkg/sharding/key/key.go function FuncForResource (line 32) | func FuncForResource(gr metav1.GroupResource, ring *shardingv1alpha1.Con... type Func (line 57) | type Func function ForObject (line 61) | func ForObject(obj client.Object) (string, error) { function ForController (line 99) | func ForController(obj client.Object) (string, error) { function forMetadata (line 123) | func forMetadata(group, kind, namespace, name string) string { FILE: pkg/sharding/key/key_suite_test.go function TestKey (line 26) | func TestKey(t *testing.T) { FILE: pkg/sharding/leases/leases_suite_test.go function TestLeases (line 26) | func TestLeases(t *testing.T) { FILE: pkg/sharding/leases/shards.go type Shard (line 26) | type Shard struct type Shards (line 38) | type Shards method ByID (line 41) | func (s Shards) ByID(id string) Shard { method AvailableShards (line 52) | func (s Shards) AvailableShards() Shards { method IDs (line 64) | func (s Shards) IDs() []string { function ToShards (line 74) | func ToShards(leases []coordinationv1.Lease, now time.Time) Shards { function ToShard (line 83) | func ToShard(lease *coordinationv1.Lease, now time.Time) Shard { FILE: pkg/sharding/leases/state.go type ShardState (line 27) | type ShardState method String (line 49) | func (s ShardState) String() string { method IsAvailable (line 85) | func (s ShardState) IsAvailable() bool { constant Unknown (line 31) | Unknown ShardState = iota constant Orphaned (line 33) | Orphaned constant Dead (line 36) | Dead constant Uncertain (line 38) | Uncertain constant Expired (line 40) | Expired constant Ready (line 42) | Ready function StateFromString (line 67) | func StateFromString(state string) ShardState { function ToState (line 90) | func ToState(lease *coordinationv1.Lease, now time.Time) ShardState { function toState (line 94) | func toState(lease *coordinationv1.Lease, t Times) ShardState { FILE: pkg/sharding/leases/times.go constant defaultLeaseDuration (line 26) | defaultLeaseDuration = 15 * time.Second constant leaseTTL (line 27) | leaseTTL = time.Minute type Times (line 31) | type Times struct function ToTimes (line 47) | func ToTimes(lease *coordinationv1.Lease, now time.Time) Times { FILE: pkg/sharding/leases/times_test.go function matchTimes (line 118) | func matchTimes(actual, expected Times) { FILE: pkg/sharding/predicate/controllerring.go function ControllerRingCreatedOrUpdated (line 26) | func ControllerRingCreatedOrUpdated() predicate.Predicate { FILE: pkg/sharding/predicate/lease.go function IsShardLease (line 31) | func IsShardLease() predicate.Predicate { function ShardLeaseStateChanged (line 43) | func ShardLeaseStateChanged(clock clock.PassiveClock) predicate.Predicate { function ShardLeaseAvailabilityChanged (line 63) | func ShardLeaseAvailabilityChanged(clock clock.PassiveClock) predicate.P... FILE: pkg/sharding/predicate/predicate_suite_test.go function TestPredicate (line 26) | func TestPredicate(t *testing.T) { FILE: pkg/sharding/ring/ring.go function FromLeases (line 35) | func FromLeases(controllerRing *shardingv1alpha1.ControllerRing, leaseLi... FILE: pkg/sharding/ring/ring_suite_test.go function TestRing (line 26) | func TestRing(t *testing.T) { FILE: pkg/sharding/ring/ring_test.go function probeRingNodes (line 88) | func probeRingNodes(ring *consistenthash.Ring) []string { FILE: pkg/utils/client/client_suite_test.go function TestClient (line 26) | func TestClient(t *testing.T) { FILE: pkg/utils/client/options.go type ResourceVersion (line 28) | type ResourceVersion method ApplyToGet (line 30) | func (r ResourceVersion) ApplyToGet(opts *client.GetOptions) { method ApplyToList (line 37) | func (r ResourceVersion) ApplyToList(opts *client.ListOptions) { FILE: pkg/utils/client/scheme.go function init (line 31) | func init() { FILE: pkg/utils/errors/errors_suite_test.go function TestErrors (line 26) | func TestErrors(t *testing.T) { FILE: pkg/utils/errors/multi.go function FormatErrors (line 26) | func FormatErrors(es []error) string { FILE: pkg/utils/healthz/cache.go type cacheSyncWaiter (line 28) | type cacheSyncWaiter interface function CacheSync (line 33) | func CacheSync(cacheSyncWaiter cacheSyncWaiter) healthz.Checker { FILE: pkg/utils/healthz/cache_test.go type fakeSyncWaiter (line 39) | type fakeSyncWaiter method WaitForCacheSync (line 41) | func (f fakeSyncWaiter) WaitForCacheSync(_ context.Context) bool { FILE: pkg/utils/healthz/healthz_suite_test.go function TestHealthz (line 26) | func TestHealthz(t *testing.T) { FILE: pkg/utils/pager/pager.go constant defaultPageSize (line 31) | defaultPageSize = 500 constant defaultPageBufferSize (line 32) | defaultPageBufferSize = 10 type lister (line 36) | type lister interface function New (line 41) | func New(reader lister) *ListPager { type ListPager (line 55) | type ListPager struct method EachListItem (line 78) | func (p *ListPager) EachListItem(ctx context.Context, list client.Obje... method EachListItemWithAlloc (line 90) | func (p *ListPager) EachListItemWithAlloc(ctx context.Context, list cl... method eachListChunkBuffered (line 106) | func (p *ListPager) eachListChunkBuffered(ctx context.Context, list cl... method eachListChunk (line 159) | func (p *ListPager) eachListChunk(ctx context.Context, list client.Obj... FILE: pkg/utils/pager/pager_suite_test.go function TestPager (line 26) | func TestPager(t *testing.T) { FILE: pkg/utils/pager/pager_test.go type lister (line 200) | type lister struct method List (line 208) | func (l *lister) List(_ context.Context, list client.ObjectList, opts ... method getCalls (line 263) | func (l *lister) getCalls() int { function podSlice (line 269) | func podSlice(offset, n int64) []corev1.Pod { function havePods (line 279) | func havePods(i, j int) gomegatypes.GomegaMatcher { FILE: pkg/utils/strings.go function CapitalizeFirst (line 24) | func CapitalizeFirst(in string) string { FILE: pkg/utils/test/envtest.go function UseExistingCluster (line 25) | func UseExistingCluster() bool { FILE: pkg/utils/test/matchers/condition.go function OfType (line 36) | func OfType(conditionType string) gomegatypes.GomegaMatcher { function WithStatus (line 41) | func WithStatus(status metav1.ConditionStatus) gomegatypes.GomegaMatcher { function WithReason (line 46) | func WithReason(reason string) gomegatypes.GomegaMatcher { function WithMessage (line 51) | func WithMessage(message string) gomegatypes.GomegaMatcher { FILE: pkg/utils/test/matchers/errors.go type errorMatcher (line 25) | type errorMatcher struct method Match (line 30) | func (k *errorMatcher) Match(actual interface{}) (success bool, err er... method FailureMessage (line 43) | func (k *errorMatcher) FailureMessage(actual interface{}) (message str... method NegatedFailureMessage (line 46) | func (k *errorMatcher) NegatedFailureMessage(actual interface{}) (mess... FILE: pkg/utils/test/matchers/matchers.go function BeNotFoundError (line 29) | func BeNotFoundError() gomegatypes.GomegaMatcher { function BeFunc (line 37) | func BeFunc(expected any) gomegatypes.GomegaMatcher { FILE: pkg/utils/test/matchers/object.go function HaveName (line 25) | func HaveName(name string) gomegatypes.GomegaMatcher { function HaveNames (line 30) | func HaveNames(names ...string) gomegatypes.GomegaMatcher { function HaveLabel (line 40) | func HaveLabel(key any) gomegatypes.GomegaMatcher { function HaveLabelWithValue (line 45) | func HaveLabelWithValue(key, value any) gomegatypes.GomegaMatcher { FILE: pkg/utils/test/object.go function RandomSuffix (line 27) | func RandomSuffix() string { FILE: pkg/utils/test/paths.go function RepoRoot (line 27) | func RepoRoot() string { function PathShardingCRDs (line 49) | func PathShardingCRDs() string { FILE: pkg/utils/utils_suite_test.go function TestUtils (line 26) | func TestUtils(t *testing.T) { FILE: pkg/webhook/add.go function AddToManager (line 30) | func AddToManager(ctx context.Context, mgr manager.Manager, config *conf... FILE: pkg/webhook/sharder/add.go constant webhookPathPrefix (line 35) | webhookPathPrefix = "/webhooks/sharder/controllerring/" method AddToManager (line 38) | func (h *Handler) AddToManager(mgr manager.Manager) error { function WebhookPathForControllerRing (line 58) | func WebhookPathForControllerRing(ring *shardingv1alpha1.ControllerRing)... function ControllerRingForWebhookPath (line 64) | func ControllerRingForWebhookPath(requestPath string) (*shardingv1alpha1... type ctxKey (line 77) | type ctxKey constant keyRequestPath (line 80) | keyRequestPath ctxKey = 0 function NewContextWithRequestPath (line 83) | func NewContextWithRequestPath(ctx context.Context, r *http.Request) con... function RequestPathFromContext (line 88) | func RequestPathFromContext(ctx context.Context) (string, error) { FILE: pkg/webhook/sharder/handler.go type Handler (line 41) | type Handler struct method Handle (line 48) | func (h *Handler) Handle(ctx context.Context, req admission.Request) a... function ControllerRingForRequest (line 117) | func ControllerRingForRequest(ctx context.Context, c client.Reader) (*sh... FILE: pkg/webhook/sharder/handler_test.go function newRequest (line 272) | func newRequest(obj client.Object) admission.Request { function beAllowed (line 297) | func beAllowed(message any) gomegatypes.GomegaMatcher { function bePatched (line 307) | func bePatched() gomegatypes.GomegaMatcher { function beErrored (line 317) | func beErrored(message any) gomegatypes.GomegaMatcher { function applyPatches (line 327) | func applyPatches[T client.Object](obj T, patches []jsonpatchtypes.Opera... type fakeMetrics (line 348) | type fakeMetrics struct method ObserveAssignment (line 352) | func (f *fakeMetrics) ObserveAssignment(string, metav1.GroupResource) { FILE: pkg/webhook/sharder/metrics.go type Metrics (line 25) | type Metrics interface type realMetrics (line 29) | type realMetrics struct method ObserveAssignment (line 31) | func (realMetrics) ObserveAssignment(controllerRingName string, gr met... FILE: pkg/webhook/sharder/sharder_suite_test.go function TestSharder (line 26) | func TestSharder(t *testing.T) { FILE: test/e2e/checksum_controller_test.go constant checksumControllerName (line 48) | checksumControllerName = "checksum-controller" constant namePrefixChecksums (line 49) | namePrefixChecksums = "checksums-" constant objectCount (line 51) | objectCount = 100 function describeScaleController (line 222) | func describeScaleController(text string, replicas int32) { function newSecret (line 239) | func newSecret(name string) *corev1.Secret { function itDeploymentShouldBeAvailable (line 249) | func itDeploymentShouldBeAvailable(deployment **appsv1.Deployment, expec... function itControllerRingShouldBeReady (line 266) | func itControllerRingShouldBeReady() { function itControllerRingShouldHaveAvailableShards (line 283) | func itControllerRingShouldHaveAvailableShards(expectedAvailableShards i... function itShouldRecognizeReadyShardLeases (line 301) | func itShouldRecognizeReadyShardLeases(expectedCount int) { function itCreateShardLease (line 318) | func itCreateShardLease(lease **coordinationv1.Lease) { function itShouldReportShardLeaseState (line 330) | func itShouldReportShardLeaseState(lease **coordinationv1.Lease, state l... function itCreateSecrets (line 340) | func itCreateSecrets() { function itScaleController (line 351) | func itScaleController(replicas int32) { function scaleController (line 359) | func scaleController(ctx context.Context, replicas int32) { function itShouldAssignObjectsToAvailableShards (line 369) | func itShouldAssignObjectsToAvailableShards() { function eventuallyShouldAssignObjectsToAvailableShards (line 381) | func eventuallyShouldAssignObjectsToAvailableShards(ctx context.Context,... function newLease (line 400) | func newLease(leaseDurationSeconds int32) *coordinationv1.Lease { function toMapOfConfigMap (line 418) | func toMapOfConfigMap(configMaps []corev1.ConfigMap) map[string]*corev1.... FILE: test/e2e/e2e_suite_test.go function TestE2E (line 47) | func TestE2E(t *testing.T) { constant testID (line 53) | testID = "e2e-controller-sharding" constant ShortTimeout (line 55) | ShortTimeout = 10 * time.Second constant MediumTimeout (line 56) | MediumTimeout = time.Minute FILE: test/integration/shard/controller/controller_suite_test.go function TestController (line 42) | func TestController(t *testing.T) { constant testID (line 47) | testID = "shard-controller-test" FILE: test/integration/shard/controller/controller_test.go function itShouldReconcile (line 88) | func itShouldReconcile() { function itShouldNotReconcile (line 96) | func itShouldNotReconcile() { function itShouldDrain (line 104) | func itShouldDrain() { function itShouldNotDrain (line 114) | func itShouldNotDrain() { function itAddDrainLabel (line 129) | func itAddDrainLabel() { function itShouldRemoveShardingLabels (line 137) | func itShouldRemoveShardingLabels() { function haveStatus (line 148) | func haveStatus(status string) gomegatypes.GomegaMatcher { function ignoreObject (line 152) | func ignoreObject() { function assignThisShard (line 156) | func assignThisShard() { function assignOtherShard (line 160) | func assignOtherShard() { function drainObject (line 164) | func drainObject() { FILE: test/integration/shard/controller/reconciler.go constant LabelKey (line 38) | LabelKey = "status" constant LabelValuePending (line 39) | LabelValuePending = "pending" constant LabelValueDone (line 40) | LabelValueDone = "done" constant LabelValueIgnore (line 41) | LabelValueIgnore = "ignore" type Reconciler (line 45) | type Reconciler struct method AddToManager (line 50) | func (r *Reconciler) AddToManager(mgr manager.Manager, controllerRingN... method Reconcile (line 77) | func (r *Reconciler) Reconcile(ctx context.Context, req reconcile.Requ... function ConfigMapPredicate (line 70) | func ConfigMapPredicate() predicate.Predicate { FILE: test/integration/shard/lease/lease_suite_test.go function TestController (line 39) | func TestController(t *testing.T) { constant testID (line 44) | testID = "shard-lease-test" FILE: test/integration/sharder/controller/controllerring/controllerring_suite_test.go function TestControllerRing (line 48) | func TestControllerRing(t *testing.T) { constant testID (line 53) | testID = "controllerring-controller-test" FILE: test/integration/sharder/controller/controllerring/controllerring_test.go function newLease (line 143) | func newLease(controllerRingName string) *coordinationv1.Lease { function haveStatusShards (line 163) | func haveStatusShards(availableShards, shards int32) gomegatypes.GomegaM... FILE: test/integration/sharder/controller/sharder/sharder_suite_test.go function TestSharder (line 49) | func TestSharder(t *testing.T) { constant testID (line 54) | testID = "sharder-controller-test" FILE: test/integration/sharder/controller/sharder/sharder_test.go function newObject (line 215) | func newObject[T client.Object](obj T) T { function newLease (line 221) | func newLease() *coordinationv1.Lease { function overwriteKeyFuncs (line 241) | func overwriteKeyFuncs(fn key.Func) func() { function keyForShard (line 252) | func keyForShard(shardName string) key.Func { FILE: test/integration/sharder/controller/shardlease/shardlease_suite_test.go function TestShardLease (line 47) | func TestShardLease(t *testing.T) { constant testID (line 52) | testID = "shardlease-controller-test" FILE: test/integration/sharder/controller/shardlease/shardlease_test.go function haveState (line 141) | func haveState(state string) gomegatypes.GomegaMatcher { FILE: test/integration/sharder/webhook/sharder/sharder_suite_test.go function TestSharder (line 52) | func TestSharder(t *testing.T) { constant testID (line 57) | testID = "sharder-webhook-test" FILE: test/integration/sharder/webhook/sharder/sharder_test.go function newLease (line 180) | func newLease() *coordinationv1.Lease { function beAssigned (line 200) | func beAssigned(shard ...string) gomegatypes.GomegaMatcher { function createObject (line 208) | func createObject(obj client.Object, opts ...client.CreateOption) func(c... function patchObject (line 221) | func patchObject(obj client.Object) func(ctx context.Context) (client.Ob... function drainObject (line 227) | func drainObject(obj client.Object) func(ctx context.Context) (client.Ob... FILE: webhosting-operator/cmd/experiment/main.go function init (line 56) | func init() { function main (line 61) | func main() { FILE: webhosting-operator/cmd/measure/main.go constant stdin (line 42) | stdin = "-" constant stdout (line 43) | stdout = "-" function main (line 61) | func main() { type timeValue (line 105) | type timeValue method Type (line 107) | func (t *timeValue) Type() string { return "time" } method String (line 108) | func (t *timeValue) String() string { return (*time.Time)(t).UTC().For... method Set (line 110) | func (t *timeValue) Set(s string) error { function newClient (line 135) | func newClient() (v1.API, error) { constant QueryTypeInstant (line 147) | QueryTypeInstant = "instant" constant QueryTypeRange (line 148) | QueryTypeRange = "range" type QueriesConfig (line 151) | type QueriesConfig struct type Query (line 155) | type Query struct method fetchData (line 248) | func (q Query) fetchData(ctx context.Context, c v1.API) (metricData, e... method writeResult (line 298) | func (q Query) writeResult(data metricData) error { method verifySLO (line 354) | func (q Query) verifySLO(data metricData) (checked bool, ok bool) { function run (line 166) | func run(ctx context.Context, c v1.API) error { function decodeQueriesConfig (line 222) | func decodeQueriesConfig() (*QueriesConfig, error) { function prepareOutputDir (line 232) | func prepareOutputDir() error { function rangeToString (line 385) | func rangeToString(r v1.Range) string { type metricData (line 391) | type metricData interface type metricValue (line 402) | type metricValue struct method IsZero (line 408) | func (m metricValue) IsZero() bool { type matrixData (line 412) | type matrixData struct method IsEmpty (line 420) | func (m *matrixData) IsEmpty() bool { method GetLabelNames (line 424) | func (m *matrixData) GetLabelNames() model.LabelNames { method Reset (line 439) | func (m *matrixData) Reset() { method NextValue (line 444) | func (m *matrixData) NextValue() metricValue { type vectorData (line 473) | type vectorData struct method IsEmpty (line 479) | func (v *vectorData) IsEmpty() bool { method GetLabelNames (line 483) | func (v *vectorData) GetLabelNames() model.LabelNames { method Reset (line 498) | func (v *vectorData) Reset() { method NextValue (line 502) | func (v *vectorData) NextValue() metricValue { function toStringSlice (line 524) | func toStringSlice[S ~[]E, E ~string](s S) []string { FILE: webhosting-operator/cmd/samples-generator/main.go function init (line 51) | func init() { function main (line 56) | func main() { function generateSamples (line 82) | func generateSamples(ctx context.Context, c client.Client) error { FILE: webhosting-operator/cmd/webhosting-operator/main.go function init (line 66) | func init() { function main (line 74) | func main() { type options (line 129) | type options struct method AddFlags (line 140) | func (o *options) AddFlags(fs *flag.FlagSet) { method Complete (line 146) | func (o *options) Complete() error { method applyConfigToRESTConfig (line 189) | func (o *options) applyConfigToRESTConfig() { method applyConfigToOptions (line 200) | func (o *options) applyConfigToOptions() { method applyOptionsOverrides (line 233) | func (o *options) applyOptionsOverrides() error { function dropUnwantedMetadata (line 292) | func dropUnwantedMetadata(i interface{}) (interface{}, error) { FILE: webhosting-operator/pkg/apis/config/v1alpha1/defaults.go function addDefaultingFuncs (line 31) | func addDefaultingFuncs(scheme *runtime.Scheme) error { function SetDefaults_WebhostingOperatorConfig (line 35) | func SetDefaults_WebhostingOperatorConfig(obj *WebhostingOperatorConfig) { function SetDefaults_LeaderElectionConfiguration (line 52) | func SetDefaults_LeaderElectionConfiguration(obj *componentbaseconfigv1a... function SetDefaults_DebuggingConfiguration (line 67) | func SetDefaults_DebuggingConfiguration(obj *componentbaseconfigv1alpha1... function SetDefaults_HealthEndpoint (line 75) | func SetDefaults_HealthEndpoint(obj *HealthEndpoint) { function SetDefaults_MetricsEndpoint (line 81) | func SetDefaults_MetricsEndpoint(obj *MetricsEndpoint) { FILE: webhosting-operator/pkg/apis/config/v1alpha1/register.go constant GroupName (line 28) | GroupName = "config.webhosting.timebertt.dev" function addKnownTypes (line 41) | func addKnownTypes(scheme *runtime.Scheme) error { FILE: webhosting-operator/pkg/apis/config/v1alpha1/types.go type WebhostingOperatorConfig (line 28) | type WebhostingOperatorConfig struct type HealthEndpoint (line 58) | type HealthEndpoint struct type MetricsEndpoint (line 68) | type MetricsEndpoint struct type IngressConfiguration (line 78) | type IngressConfiguration struct FILE: webhosting-operator/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go method DeepCopyInto (line 31) | func (in *HealthEndpoint) DeepCopyInto(out *HealthEndpoint) { method DeepCopy (line 36) | func (in *HealthEndpoint) DeepCopy() *HealthEndpoint { method DeepCopyInto (line 46) | func (in *IngressConfiguration) DeepCopyInto(out *IngressConfiguration) { method DeepCopy (line 70) | func (in *IngressConfiguration) DeepCopy() *IngressConfiguration { method DeepCopyInto (line 80) | func (in *MetricsEndpoint) DeepCopyInto(out *MetricsEndpoint) { method DeepCopy (line 85) | func (in *MetricsEndpoint) DeepCopy() *MetricsEndpoint { method DeepCopyInto (line 95) | func (in *WebhostingOperatorConfig) DeepCopyInto(out *WebhostingOperator... method DeepCopy (line 128) | func (in *WebhostingOperatorConfig) DeepCopy() *WebhostingOperatorConfig { method DeepCopyObject (line 138) | func (in *WebhostingOperatorConfig) DeepCopyObject() runtime.Object { FILE: webhosting-operator/pkg/apis/config/v1alpha1/zz_generated.defaults.go function RegisterDefaults (line 31) | func RegisterDefaults(scheme *runtime.Scheme) error { function SetObjectDefaults_WebhostingOperatorConfig (line 36) | func SetObjectDefaults_WebhostingOperatorConfig(in *WebhostingOperatorCo... FILE: webhosting-operator/pkg/apis/webhosting/v1alpha1/constants.go constant NamespaceSystem (line 25) | NamespaceSystem = "webhosting-system" constant WebhostingOperatorName (line 27) | WebhostingOperatorName = "webhosting-operator" constant LabelKeyProject (line 29) | LabelKeyProject = "webhosting.timebertt.dev/project" constant LabelValueProject (line 31) | LabelValueProject = "true" constant LabelKeySkipWorkload (line 35) | LabelKeySkipWorkload = "skip-workload" FILE: webhosting-operator/pkg/apis/webhosting/v1alpha1/register.go constant GroupName (line 29) | GroupName = "webhosting.timebertt.dev" function addKnownTypes (line 42) | func addKnownTypes(scheme *runtime.Scheme) error { FILE: webhosting-operator/pkg/apis/webhosting/v1alpha1/types_theme.go type ThemeSpec (line 24) | type ThemeSpec struct type ThemeStatus (line 32) | type ThemeStatus struct type Theme (line 43) | type Theme struct type ThemeList (line 59) | type ThemeList struct FILE: webhosting-operator/pkg/apis/webhosting/v1alpha1/types_website.go type WebsiteSpec (line 24) | type WebsiteSpec struct type WebsiteStatus (line 30) | type WebsiteStatus struct type WebsitePhase (line 43) | type WebsitePhase constant PhasePending (line 47) | PhasePending WebsitePhase = "Pending" constant PhaseReady (line 49) | PhaseReady WebsitePhase = "Ready" constant PhaseError (line 51) | PhaseError WebsitePhase = "Error" constant PhaseTerminating (line 53) | PhaseTerminating WebsitePhase = "Terminating" type Website (line 67) | type Website struct type WebsiteList (line 83) | type WebsiteList struct FILE: webhosting-operator/pkg/apis/webhosting/v1alpha1/zz_generated.deepcopy.go method DeepCopyInto (line 28) | func (in *Theme) DeepCopyInto(out *Theme) { method DeepCopy (line 37) | func (in *Theme) DeepCopy() *Theme { method DeepCopyObject (line 47) | func (in *Theme) DeepCopyObject() runtime.Object { method DeepCopyInto (line 55) | func (in *ThemeList) DeepCopyInto(out *ThemeList) { method DeepCopy (line 69) | func (in *ThemeList) DeepCopy() *ThemeList { method DeepCopyObject (line 79) | func (in *ThemeList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 87) | func (in *ThemeSpec) DeepCopyInto(out *ThemeSpec) { method DeepCopy (line 92) | func (in *ThemeSpec) DeepCopy() *ThemeSpec { method DeepCopyInto (line 102) | func (in *ThemeStatus) DeepCopyInto(out *ThemeStatus) { method DeepCopy (line 107) | func (in *ThemeStatus) DeepCopy() *ThemeStatus { method DeepCopyInto (line 117) | func (in *Website) DeepCopyInto(out *Website) { method DeepCopy (line 126) | func (in *Website) DeepCopy() *Website { method DeepCopyObject (line 136) | func (in *Website) DeepCopyObject() runtime.Object { method DeepCopyInto (line 144) | func (in *WebsiteList) DeepCopyInto(out *WebsiteList) { method DeepCopy (line 158) | func (in *WebsiteList) DeepCopy() *WebsiteList { method DeepCopyObject (line 168) | func (in *WebsiteList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 176) | func (in *WebsiteSpec) DeepCopyInto(out *WebsiteSpec) { method DeepCopy (line 181) | func (in *WebsiteSpec) DeepCopy() *WebsiteSpec { method DeepCopyInto (line 191) | func (in *WebsiteStatus) DeepCopyInto(out *WebsiteStatus) { method DeepCopy (line 200) | func (in *WebsiteStatus) DeepCopy() *WebsiteStatus { FILE: webhosting-operator/pkg/controllers/webhosting/suite_test.go function TestController (line 40) | func TestController(t *testing.T) { FILE: webhosting-operator/pkg/controllers/webhosting/templates/index.go function init (line 36) | func init() { function RenderIndexHTML (line 45) | func RenderIndexHTML(serverName string, website *webhostingv1alpha1.Webs... function ExecuteIndexHTMLTemplate (line 52) | func ExecuteIndexHTMLTemplate(w io.Writer, serverName string, website *w... FILE: webhosting-operator/pkg/controllers/webhosting/templates/internal/examples.go function CreateExamples (line 26) | func CreateExamples() (string, *webhostingv1alpha1.Website, *webhostingv... FILE: webhosting-operator/pkg/controllers/webhosting/templates/nginx.go function init (line 35) | func init() { function RenderNginxConf (line 44) | func RenderNginxConf(serverName string, website *webhostingv1alpha1.Webs... FILE: webhosting-operator/pkg/controllers/webhosting/templates/templates_suite_test.go function TestTemplates (line 26) | func TestTemplates(t *testing.T) { FILE: webhosting-operator/pkg/controllers/webhosting/templates/testserver/server.go function main (line 27) | func main() { FILE: webhosting-operator/pkg/controllers/webhosting/website_controller.go type WebsiteReconciler (line 61) | type WebsiteReconciler struct method Reconcile (line 84) | func (r *WebsiteReconciler) Reconcile(ctx context.Context, website *we... method reconcileWebsite (line 110) | func (r *WebsiteReconciler) reconcileWebsite(ctx context.Context, log ... method recordError (line 173) | func (r *WebsiteReconciler) recordError(website *webhostingv1alpha1.We... method reconcileConfigMap (line 186) | func (r *WebsiteReconciler) reconcileConfigMap(ctx context.Context, lo... method reconcileService (line 217) | func (r *WebsiteReconciler) reconcileService(ctx context.Context, log ... method reconcileIngress (line 243) | func (r *WebsiteReconciler) reconcileIngress(ctx context.Context, log ... method reconcileDeployment (line 329) | func (r *WebsiteReconciler) reconcileDeployment(ctx context.Context, l... method SetupWithManager (line 460) | func (r *WebsiteReconciler) SetupWithManager(mgr manager.Manager, enab... method MapThemeToWebsites (line 539) | func (r *WebsiteReconciler) MapThemeToWebsites(ctx context.Context, th... constant reasonReconcilerError (line 171) | reasonReconcilerError = "ReconcilerError" constant keyIndexHTML (line 181) | keyIndexHTML = "index.html" constant keyNginxConf (line 182) | keyNginxConf = "nginx.conf" constant portNameHTTP (line 183) | portNameHTTP = "http" function applyIngressConfigToIngress (line 294) | func applyIngressConfigToIngress(config *configv1alpha1.IngressConfigura... function getLabelsForServer (line 416) | func getLabelsForServer(serverName, name string) map[string]string { function mergeMaps (line 425) | func mergeMaps[M interface{ ~map[K]V }, K comparable, V any](mm ...M) M { function calculateServerName (line 433) | func calculateServerName(website *webhostingv1alpha1.Website) string { function calculateConfigMapChecksum (line 444) | func calculateConfigMapChecksum(configMap *corev1.ConfigMap) (string, er... constant ControllerName (line 455) | ControllerName = "website" constant websiteThemeField (line 456) | websiteThemeField = "spec.theme" function skipWorkload (line 625) | func skipWorkload(website *webhostingv1alpha1.Website) bool { FILE: webhosting-operator/pkg/experiment/generator/options.go type GenerateOption (line 23) | type GenerateOption interface type GenerateOptions (line 27) | type GenerateOptions struct method ApplyOptions (line 32) | func (o *GenerateOptions) ApplyOptions(opts ...GenerateOption) *Genera... method ApplyToOptions (line 39) | func (o *GenerateOptions) ApplyToOptions(options *GenerateOptions) { method ApplyToObject (line 55) | func (o *GenerateOptions) ApplyToObject(obj *metav1.ObjectMeta) { type GenerateOptionFunc (line 65) | type GenerateOptionFunc method ApplyToOptions (line 67) | func (f GenerateOptionFunc) ApplyToOptions(options *GenerateOptions) { function WithLabels (line 71) | func WithLabels(labels map[string]string) GenerateOption { function WithOwnerReference (line 83) | func WithOwnerReference(ownerRef *metav1.OwnerReference) GenerateOption { FILE: webhosting-operator/pkg/experiment/generator/project.go function CreateProjects (line 31) | func CreateProjects(ctx context.Context, c client.Client, n int, opts ..... function CreateProject (line 40) | func CreateProject(ctx context.Context, c client.Client, opts ...Generat... function CleanupProjects (line 62) | func CleanupProjects(ctx context.Context, c client.Client, labels map[st... FILE: webhosting-operator/pkg/experiment/generator/reconciler.go constant defaultReconcileWorkers (line 39) | defaultReconcileWorkers = 10 type Every (line 42) | type Every struct method AddToManager (line 52) | func (r *Every) AddToManager(mgr manager.Manager) error { method Reconcile (line 87) | func (r *Every) Reconcile(ctx context.Context, _ reconcile.Request) (r... type ForEach (line 98) | type ForEach struct method AddToManager (line 111) | func (r *ForEach[T]) AddToManager(mgr manager.Manager) error { method Reconcile (line 156) | func (r *ForEach[T]) Reconcile(ctx context.Context, request reconcile.Re... function unlimitedRateLimiter (line 174) | func unlimitedRateLimiter() workqueue.TypedRateLimiter[reconcile.Request] { FILE: webhosting-operator/pkg/experiment/generator/theme.go function CreateThemes (line 36) | func CreateThemes(ctx context.Context, c client.Client, n int, opts ...G... function CreateTheme (line 45) | func CreateTheme(ctx context.Context, c client.Client, opts ...GenerateO... function MutateTheme (line 68) | func MutateTheme(ctx context.Context, c client.Client, theme *webhosting... function MutateRandomTheme (line 83) | func MutateRandomTheme(ctx context.Context, c client.Client, labels map[... FILE: webhosting-operator/pkg/experiment/generator/utils.go function EmitN (line 48) | func EmitN(n int, delay time.Duration) source.Source { function StopOnContextCanceled (line 64) | func StopOnContextCanceled(r reconcile.Reconciler) reconcile.Reconciler { function NTimesConcurrently (line 76) | func NTimesConcurrently(n, workers int, do func() error) error { function RetryOnError (line 126) | func RetryOnError(ctx context.Context, retries int, do func(context.Cont... function CreateClusterScopedOwnerObject (line 153) | func CreateClusterScopedOwnerObject(ctx context.Context, c client.Client... type constantDelayRateLimiter (line 173) | type constantDelayRateLimiter method When (line 175) | func (d constantDelayRateLimiter) When(reconcile.Request) time.Duratio... method Forget (line 176) | func (d constantDelayRateLimiter) Forget(reconcile.Request) ... method NumRequeues (line 177) | func (d constantDelayRateLimiter) NumRequeues(reconcile.Request) int ... FILE: webhosting-operator/pkg/experiment/generator/website.go type WebsiteTracker (line 39) | type WebsiteTracker interface function SetWebsiteTracker (line 44) | func SetWebsiteTracker(tracker WebsiteTracker) { function CreateWebsites (line 51) | func CreateWebsites(ctx context.Context, c client.Client, n int, opts ..... function CreateWebsite (line 60) | func CreateWebsite(ctx context.Context, c client.Client, opts ...Generat... function MutateWebsite (line 105) | func MutateWebsite(ctx context.Context, c client.Client, website *webhos... function ReconcileWebsite (line 133) | func ReconcileWebsite(ctx context.Context, c client.Client, website *web... function DeleteWebsite (line 146) | func DeleteWebsite(ctx context.Context, c client.Client, labels map[stri... FILE: webhosting-operator/pkg/experiment/scenario.go type Scenario (line 29) | type Scenario interface function RegisterScenario (line 43) | func RegisterScenario(s Scenario) { function GetAllScenarios (line 52) | func GetAllScenarios() []Scenario { function GetScenario (line 66) | func GetScenario(s string) Scenario { FILE: webhosting-operator/pkg/experiment/scenario/base/base.go type Scenario (line 44) | type Scenario struct method Name (line 66) | func (s *Scenario) Name() string { method Done (line 70) | func (s *Scenario) Done() <-chan struct{} { method AddToManager (line 74) | func (s *Scenario) AddToManager(mgr manager.Manager) error { method Start (line 90) | func (s *Scenario) Start(ctx context.Context) (err error) { method prepare (line 149) | func (s *Scenario) prepare(ctx context.Context) (func(context.Context)... method injectRunIDLabel (line 215) | func (s *Scenario) injectRunIDLabel(ctx context.Context, namespace, na... method waitForDeployment (line 226) | func (s *Scenario) waitForDeployment(ctx context.Context, namespace, n... method waitForShardLeases (line 249) | func (s *Scenario) waitForShardLeases(ctx context.Context) error { method Wait (line 278) | func (s *Scenario) Wait(ctx context.Context, d time.Duration) error { type Delegate (line 61) | type Delegate interface FILE: webhosting-operator/pkg/experiment/scenario/basic/basic.go constant ScenarioName (line 33) | ScenarioName = "basic" function init (line 35) | func init() { type scenario (line 45) | type scenario struct method Description (line 49) | func (s *scenario) Description() string { method LongDescription (line 53) | func (s *scenario) LongDescription() string { method Prepare (line 61) | func (s *scenario) Prepare(ctx context.Context) error { method Run (line 75) | func (s *scenario) Run(ctx context.Context) error { FILE: webhosting-operator/pkg/experiment/scenario/chaos/chaos.go constant ScenarioName (line 36) | ScenarioName = "chaos" function init (line 38) | func init() { type scenario (line 48) | type scenario struct method Description (line 52) | func (s *scenario) Description() string { method LongDescription (line 56) | func (s *scenario) LongDescription() string { method Prepare (line 64) | func (s *scenario) Prepare(ctx context.Context) error { method Run (line 78) | func (s *scenario) Run(ctx context.Context) error { function terminateRandomShard (line 115) | func terminateRandomShard(ctx context.Context, c client.Client) error { FILE: webhosting-operator/pkg/experiment/scenario/rolling-update/rolling_update.go constant ScenarioName (line 37) | ScenarioName = "rolling-update" function init (line 39) | func init() { type scenario (line 49) | type scenario struct method Description (line 53) | func (s *scenario) Description() string { method LongDescription (line 57) | func (s *scenario) LongDescription() string { method Prepare (line 66) | func (s *scenario) Prepare(ctx context.Context) error { method Run (line 80) | func (s *scenario) Run(ctx context.Context) error { function triggerRollingUpdate (line 129) | func triggerRollingUpdate(ctx context.Context, c client.Client) error { FILE: webhosting-operator/pkg/experiment/scenario/scale-out/scale_out.go constant ScenarioName (line 33) | ScenarioName = "scale-out" function init (line 35) | func init() { type scenario (line 45) | type scenario struct method Description (line 49) | func (s *scenario) Description() string { method LongDescription (line 53) | func (s *scenario) LongDescription() string { method Prepare (line 60) | func (s *scenario) Prepare(ctx context.Context) error { method Run (line 74) | func (s *scenario) Run(ctx context.Context) error { FILE: webhosting-operator/pkg/experiment/tracker/tracker.go type tracker (line 29) | type tracker struct method sortedValues (line 36) | func (t *tracker[K, V]) sortedValues() []*V { method set (line 55) | func (t *tracker[K, V]) set(key K, mutate func(v *V)) { FILE: webhosting-operator/pkg/experiment/tracker/website.go type WebsiteTracker (line 75) | type WebsiteTracker struct method AddToManager (line 115) | func (w *WebsiteTracker) AddToManager(mgr manager.Manager) error { method websiteHandler (line 141) | func (w *WebsiteTracker) websiteHandler() handler.EventHandler { method observedNewReadyGeneration (line 160) | func (w *WebsiteTracker) observedNewReadyGeneration() predicate.Predic... method RecordSpecChange (line 189) | func (w *WebsiteTracker) RecordSpecChange(website *webhostingv1alpha1.... method recordStatusGeneration (line 201) | func (w *WebsiteTracker) recordStatusGeneration(website *webhostingv1a... method Reconcile (line 243) | func (w *WebsiteTracker) Reconcile(ctx context.Context, req reconcile.... type objectGenerations (line 85) | type objectGenerations struct method setGenerationCreated (line 213) | func (o *objectGenerations) setGenerationCreated(generation int64, t t... method setGenerationReady (line 228) | func (o *objectGenerations) setGenerationReady(generation int64, t tim... method reconcile (line 256) | func (o *objectGenerations) reconcile(log logr.Logger) reconcile.Result { type generationTimes (line 92) | type generationTimes struct function newObjectsTracker (line 97) | func newObjectsTracker() *tracker[types.UID, objectGenerations] { function newGenerationsTracker (line 108) | func newGenerationsTracker() *tracker[int64, generationTimes] { type generationsList (line 270) | type generationsList method backfillGenerations (line 276) | func (gg generationsList) backfillGenerations() { method recordNewReadyGenerations (line 299) | func (gg generationsList) recordNewReadyGenerations(log logr.Logger) b... FILE: webhosting-operator/pkg/metrics/add.go constant namespace (line 25) | namespace = "kube" function AddToManager (line 28) | func AddToManager(mgr manager.Manager) error { FILE: webhosting-operator/pkg/utils/kubernetes.go function RunningInCluster (line 27) | func RunningInCluster() bool { function IsDeploymentReady (line 38) | func IsDeploymentReady(deployment *appsv1.Deployment) bool { function GetDeploymentCondition (line 60) | func GetDeploymentCondition(conditions []appsv1.DeploymentCondition, con... FILE: webhosting-operator/pkg/utils/utils.go function PickRandom (line 24) | func PickRandom[T any](in []T) T { function RandomName (line 30) | func RandomName(n int) string { FILE: webhosting-operator/test/e2e/e2e_suite_test.go function TestMain (line 48) | func TestMain(m *testing.M) { function TestE2E (line 54) | func TestE2E(t *testing.T) { constant testID (line 60) | testID = "e2e-webhosting-operator" constant ShortTimeout (line 62) | ShortTimeout = 10 * time.Second constant MediumTimeout (line 63) | MediumTimeout = time.Minute FILE: webhosting-operator/test/e2e/webhosting_operator_test.go constant objectCount (line 47) | objectCount = 100 function describeScaleController (line 111) | func describeScaleController(text string, replicas int32) { function newWebsite (line 130) | func newWebsite(name string) *webhostingv1alpha1.Website { function itDeploymentShouldBeAvailable (line 146) | func itDeploymentShouldBeAvailable(expectedReplicas int32) { function itControllerRingShouldHaveAvailableShards (line 158) | func itControllerRingShouldHaveAvailableShards(expectedAvailableShards i... function itShouldRecognizeReadyShardLeases (line 176) | func itShouldRecognizeReadyShardLeases(expectedCount int) { function itCreateWebsites (line 193) | func itCreateWebsites() { function itWebsitesShouldBeReady (line 204) | func itWebsitesShouldBeReady() { function itScaleController (line 216) | func itScaleController(replicas int32) { function scaleController (line 224) | func scaleController(ctx context.Context, replicas int32) { function itShouldAssignObjectsToAvailableShards (line 234) | func itShouldAssignObjectsToAvailableShards() { function eventuallyShouldAssignObjectsToAvailableShards (line 244) | func eventuallyShouldAssignObjectsToAvailableShards(ctx context.Context,... function listOf (line 264) | func listOf(obj client.Object) client.ObjectList {