public ResourceCacheMetrics(OperatorSettings settings) { var crd = CustomEntityDefinitionExtensions.CreateResourceDefinition <TEntity>(); var labelValues = new[] { settings.Name, crd.Kind, crd.Group, crd.Version, crd.Scope.ToString(), }; CachedItemsSummary = Metrics .CreateSummary( "operator_resource_cached_items_size", "Summary of the cached items count over the last 10 minutes", Labels) .WithLabels(labelValues); CachedItemsSize = Metrics .CreateGauge( "operator_resource_cached_items_count", "Total number of cached items in this resource cache", Labels) .WithLabels(labelValues); }
internal IOperatorBuilder AddOperatorBase(OperatorSettings settings) { Services.AddSingleton(settings); // support lazy service resolution Services.AddTransient(typeof(Lazy <>), typeof(LazyService <>)); var jsonSettings = new JsonSerializerSettings { DateFormatHandling = DateFormatHandling.IsoDateFormat, DateTimeZoneHandling = DateTimeZoneHandling.Utc, NullValueHandling = NullValueHandling.Ignore, ReferenceLoopHandling = ReferenceLoopHandling.Serialize, ContractResolver = new NamingConvention(), Converters = new List <JsonConverter> { new StringEnumConverter { CamelCaseText = true }, new Iso8601TimeSpanConverter(), }, DateFormatString = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.ffffffK", }; Services.AddTransient(_ => jsonSettings); JsonConvert.DefaultSettings = () => jsonSettings; Services.AddTransient( _ => new SerializerBuilder() .ConfigureDefaultValuesHandling(DefaultValuesHandling.OmitNull) .WithNamingConvention(new NamingConvention()) .WithTypeConverter(new YamlIntOrStrTypeConverter()) .Build()); Services.AddTransient <EntitySerializer>(); Services.AddTransient <IKubernetesClient, KubernetesClient>(); Services.AddTransient(typeof(IResourceCache <>), typeof(ResourceCache <>)); Services.AddTransient(typeof(IResourceWatcher <>), typeof(ResourceWatcher <>)); Services.AddTransient(typeof(IResourceEventQueue <>), typeof(ResourceEventQueue <>)); Services.AddTransient(typeof(IResourceServices <>), typeof(ResourceServices <>)); // Support for healthchecks and prometheus. Services .AddHealthChecks() .ForwardToPrometheus(); // Add the default controller liveness check. AddHealthCheck <ControllerLivenessCheck>(); // Support for leader election via V1Leases. Services.AddHostedService <LeaderElector>(); Services.AddSingleton <ILeaderElection, LeaderElection>(); Services.AddSingleton(ResourceTypeService); return(this); }
public ResourceWatcher(ILogger <ResourceWatcher <TEntity> > logger, IKubernetesClient client, OperatorSettings settings) { _logger = logger; _client = client; _settings = settings; _reconnectHandler = new ExponentialBackoffHandler(async() => await WatchResource()); _metrics = new ResourceWatcherMetrics <TEntity>(settings); }
public OperatorGenerator( EntitySerializer serializer, OperatorSettings settings, ResourceLocator resourceLocator) { _serializer = serializer; _settings = settings; _hasWebhooks = resourceLocator.ValidatorTypes.Any(); }
public Register( OperatorSettings settings, IKubernetesClient client, ResourceLocator resourceLocator, IServiceProvider serviceProvider) { _settings = settings; _client = client; _resourceLocator = resourceLocator; _serviceProvider = serviceProvider; }
public Install( IKubernetesClient client, OperatorSettings settings, ResourceLocator resourceLocator, IServiceProvider serviceProvider) { _client = client; _settings = settings; _resourceLocator = resourceLocator; _serviceProvider = serviceProvider; }
protected void Page_Load(object sender, EventArgs e) { if (Page.IsPostBack) { return; } SetTitle(commonCulture.ElementValues.getResourceXPathString("/Products/ClubGallardo/Label", commonVariables.ProductsXML)); var opSettings = new OperatorSettings(System.Configuration.ConfigurationManager.AppSettings.Get("Operator")); var addGpi = Convert.ToBoolean(opSettings.Values.Get("GPIAddOtheClubs")); var isbHandler = new ISBHandler(commonVariables.CurrentMemberSessionId, "ClubGallardo", commonVariables.GetSessionVariable("CurrencyCode")); var isbCategory = isbHandler.Process(); var pngHandler = new PNGHandler(commonVariables.CurrentMemberSessionId, "ClubGallardo"); var pngCategory = pngHandler.Process(); IEnumerable <IGrouping <string, GameCategoryInfo> > games; if (addGpi) { var gpiHandler = new GPIHandler(commonVariables.CurrentMemberSessionId); var gpiCategory = gpiHandler.Process(true); isbCategory[0].Current = gpiHandler.InsertInjectedGames(gpiCategory, isbCategory[0].Current); games = pngCategory.Union(isbCategory).Union(gpiCategory).GroupBy(x => x.Title); } else { games = pngCategory.Union(isbCategory).GroupBy(x => x.Title); } StringBuilder sbGames = new StringBuilder(); foreach (var category in games) { sbGames.AppendFormat("<div data-role='collapsible' data-collapsed='false' data-theme='b' data-content-theme='a' data-mini='true'><h4>{0}</h4>", category.Key); sbGames.AppendFormat("<div id='div{0}' class='div-product'><div><ul>", category.Key); foreach (var item in category) { AddGames(sbGames, item.New); AddGames(sbGames, item.Current); } sbGames.Append("</ul></div></div></div>"); } divContainer.InnerHtml = Convert.ToString(sbGames); }
public MockManagedResourceController( ILogger <ManagedResourceController <TEntity> > logger, IKubernetesClient client, ResourceWatcher <TEntity> watcher, ResourceCache <TEntity> cache, IServiceProvider services, ResourceControllerMetrics <TEntity> metrics, OperatorSettings settings, IFinalizerManager <TEntity> finalizerManager) : base(logger, client, watcher, cache, services, metrics, settings, finalizerManager) { }
public LeaderElector( ILogger <LeaderElector> logger, OperatorSettings settings, ILeaderElection election, IKubernetesClient client) { _logger = logger; _settings = settings; _election = election; _client = client; _leaseName = $"{_settings.Name}-leadership"; _hostname = Environment.MachineName; }
public ResourceServices( ILoggerFactory loggerFactory, IKubernetesClient client, IResourceCache<TEntity> resourceCache, IResourceEventQueue<TEntity> eventQueue, Lazy<IEnumerable<IResourceFinalizer>> finalizers, OperatorSettings settings, ILeaderElection leaderElection) { LoggerFactory = loggerFactory; Client = client; ResourceCache = resourceCache; EventQueue = eventQueue; Finalizers = finalizers; Settings = settings; LeaderElection = leaderElection; }
protected void Page_Load(object sender, EventArgs e) { var divBuilder = new StringBuilder(); var enabledLanguages = OperatorSettings.Get("EnabledLanguages"); var availableLanguages = OperatorSettings.Get("LanguageSelection").Split('|'); var countryCode = CountryCode; foreach (var language in availableLanguages) { switch (countryCode) { case "my": divBuilder.Append(@"<div class='col-xs-6'>") .Append(@"<span id='"); switch (language) { case "en-us": divBuilder.Append(enabledLanguages.Contains("en-my") ? "en-my" : language); break; case "zh-cn": divBuilder.Append(enabledLanguages.Contains("zh-my") ? "zh-my" : language); break; default: divBuilder.Append(language); break; } divBuilder.Append("' class='flags'></span>") .Append(@"</div>"); break; default: divBuilder.Append(@"<div class='col-xs-6'>") .Append(@"<span id='") .Append(language) .Append("' class='flags'></span>") .Append(@"</div>"); break; } } divLanguageContainer.InnerHtml = divBuilder.ToString(); }
protected void Page_Load(object sender, EventArgs e) { if (Page.IsPostBack) { return; } SetTitle(commonCulture.ElementValues.getResourceXPathString("/Products/ClubDivino/Label", commonVariables.ProductsXML)); var opSettings = new OperatorSettings(System.Configuration.ConfigurationManager.AppSettings.Get("Operator")); var addGpi = Convert.ToBoolean(opSettings.Values.Get("GPIAddOtheClubs")); var sbGames = new StringBuilder(); var bsHandler = new BSHandler(commonVariables.CurrentMemberSessionId, "ClubDivino", "FundTransfer", GetDevice()); var bsCategory = bsHandler.Process(); var cxHandler = new CTXMHandler(commonVariables.CurrentMemberSessionId); var cxCategory = cxHandler.Process(); var uc8Handler = new UC8Handler(commonVariables.CurrentMemberSessionId, "ClubDivino", "FundTransfer"); var uc8Category = uc8Handler.Process(); IEnumerable <IGrouping <string, GameCategoryInfo> > games; if (addGpi) { var gpiHandler = new GPIHandler(commonVariables.CurrentMemberSessionId); var gpiCategory = gpiHandler.Process(true); cxCategory[0].Current = gpiHandler.InsertInjectedGames(gpiCategory, cxCategory[0].Current); games = bsCategory.Union(cxCategory).Union(uc8Category).Union(gpiCategory).GroupBy(x => x.Title); } else { games = bsCategory.Union(cxCategory).Union(uc8Category).GroupBy(x => x.Title); } foreach (var group in games) { AddGamesPerDevice(sbGames, group); } divContainer.InnerHtml = Convert.ToString(sbGames); }
public ResourceWatcherMetrics(OperatorSettings settings) { var crd = CustomEntityDefinitionExtensions.CreateResourceDefinition <TEntity>(); var labelValues = new[] { settings.Name, crd.Kind, crd.Group, crd.Version, crd.Scope.ToString(), }; Running = Metrics .CreateGauge( "operator_resource_watcher_running", "Determines if the resource watcher is up and running (1 == Running, 0 == Stopped)", Labels) .WithLabels(labelValues); WatchedEvents = Metrics .CreateCounter( "operator_resource_watcher_events", "The count of totally watched events from the resource watcher", Labels) .WithLabels(labelValues); WatcherExceptions = Metrics .CreateCounter( "operator_resource_watcher_exceptions", "The count of observed thrown exceptions from the resource watcher", Labels) .WithLabels(labelValues); WatcherClosed = Metrics .CreateCounter( "operator_resource_watcher_closed", "The count of observed 'close' events of the resource watcher", Labels) .WithLabels(labelValues); }
public ResourceCache(OperatorSettings settings) { _metrics = new ResourceCacheMetrics <TEntity>(settings); }
public RunOperator(IHost host, IKubernetesClient client, OperatorSettings settings) { _host = host; _client = client; _settings = settings; }
public ResourceControllerMetrics(OperatorSettings settings) { var crd = CustomEntityDefinitionExtensions.CreateResourceDefinition <TEntity>(); var labelValues = new[] { settings.Name, crd.Kind, crd.Group, crd.Version, crd.Scope.ToString(), }; Running = Metrics .CreateGauge( "operator_resource_controller_running", "Determines if the resource watcher is up and running (1 == Running, 0 == Stopped)", Labels) .WithLabels(labelValues); EventsFromWatcher = Metrics .CreateCounter( "operator_resource_controller_watched_events", "The count of totally watched events from the resource watcher", Labels) .WithLabels(labelValues); RequeuedEvents = Metrics .CreateCounter( "operator_resource_controller_requeued_events", "The count of totally requeued resources (normal requeue, without errors)", Labels) .WithLabels(labelValues); ErroredEvents = Metrics .CreateCounter( "operator_resource_controller_errored_events", "The count of totally errored reconciliation attempts.", Labels) .WithLabels(labelValues); CreatedEvents = Metrics .CreateCounter( "operator_resource_controller_created_events", "The count of total 'created' events reconciled by the controller", Labels) .WithLabels(labelValues); UpdatedEvents = Metrics .CreateCounter( "operator_resource_controller_updated_events", "The count of total 'updated' events reconciled by the controller", Labels) .WithLabels(labelValues); NotModifiedEvents = Metrics .CreateCounter( "operator_resource_controller_not_modified_events", "The count of total 'not modified' events reconciled by the controller", Labels) .WithLabels(labelValues); StatusUpdatedEvents = Metrics .CreateCounter( "operator_resource_controller_status_updated_events", "The count of total 'status updated' events reconciled by the controller", Labels) .WithLabels(labelValues); FinalizingEvents = Metrics .CreateCounter( "operator_resource_controller_finalized_events", "The count of total 'finalized' events reconciled by the controller", Labels) .WithLabels(labelValues); DeletedEvents = Metrics .CreateCounter( "operator_resource_controller_deleted_events", "The count of total 'deleted' events reconciled by the controller", Labels) .WithLabels(labelValues); }
protected void Page_Load(object sender, EventArgs e) { if (Page.IsPostBack) { return; } //var handler = new GNSHandler(commonVariables.CurrentMemberSessionId, "ClubNuovo", "FundTransfer"); //var gnsCategory = handler.Process(); if (!string.IsNullOrWhiteSpace(commonCookie.CookieCurrency)) { if ((commonCookie.CookieCurrency.ToLower() == "vnd") || (commonCookie.CookieCurrency.ToLower() == "idr")) { _currencySupported = false; } } PLSHandler plsHandler; List <GameCategoryInfo> plsCategory = null; if (_currencySupported) { plsHandler = new PLSHandler(commonVariables.CurrentMemberSessionId, "ClubNuovo", "FundTransfer"); plsCategory = plsHandler.Process(); } var mrsHandler = new MRSHandler(commonVariables.CurrentMemberSessionId, "ClubNuovo", "FundTransfer"); var mrsCategory = mrsHandler.Process(); var opSettings = new OperatorSettings(System.Configuration.ConfigurationManager.AppSettings.Get("Operator")); var addGpi = Convert.ToBoolean(opSettings.Values.Get("GPIAddOtheClubs")); IEnumerable <IGrouping <string, GameCategoryInfo> > games; if (addGpi) { var gpiHandler = new GPIHandler(commonVariables.CurrentMemberSessionId); var gpiCategory = gpiHandler.Process(true); //gnsCategory[0].Current = gpiHandler.InsertInjectedGames(gpiCategory, gnsCategory[0].Current); //games = gnsCategory.Union(plsCategory).Union(gpiCategory).GroupBy(x => x.Title); if (_currencySupported) { plsCategory[0].Current = gpiHandler.InsertInjectedGames(gpiCategory, plsCategory[0].Current); games = plsCategory.Union(mrsCategory).Union(gpiCategory).GroupBy(x => x.Title); } else { mrsCategory[0].Current = gpiHandler.InsertInjectedGames(gpiCategory, mrsCategory[0].Current); games = mrsCategory.Union(gpiCategory).GroupBy(x => x.Title); } } else { games = _currencySupported ? plsCategory.Union(mrsCategory).GroupBy(x => x.Title) : mrsCategory.GroupBy(x => x.Title); } var sbGames = new StringBuilder(); foreach (var category in games) { sbGames.AppendFormat("<div data-role='collapsible' data-collapsed='false' data-theme='b' data-content-theme='a' data-mini='true'><h4>{0}</h4>", category.Key); sbGames.AppendFormat("<div id='div{0}' class='div-product'><div><ul>", category.Key); foreach (var item in category) { AddGames(sbGames, item.New); AddGames(sbGames, item.Current); } sbGames.Append("</ul></div></div></div>"); } divContainer.InnerHtml = Convert.ToString(sbGames); }
public MaintenanceHelper(MaintenanceInfo maintenanceInfo) { _opsettings = new OperatorSettings("W88"); _maintenanceInfo = maintenanceInfo; _operatorPass = _opsettings.Values.Get("OperatorKey"); }
public InstallerGenerator(EntitySerializer serializer, OperatorSettings settings) { _serializer = serializer; _settings = settings; }
public Task UpdateOperatorSettings(Guid guid, OperatorSettings operatorSettings) { topology.UpdateTopologySettings(guid, operatorSettings); return(Task.CompletedTask); }
public Task LoadSettings(OperatorSettings operatorSettings) { this.operatorSettings = operatorSettings; return(Task.CompletedTask); }
public ResourceEventQueueMetrics(OperatorSettings settings) { var crd = CustomEntityDefinitionExtensions.CreateResourceDefinition <TEntity>(); var labelValues = new[] { settings.Name, crd.Kind, crd.Group, crd.Version, crd.Scope.ToString(), }; Running = Metrics .CreateGauge( "operator_resource_event_queue_running", "Determines if the resource event queue is up and running (1 == Running, 0 == Stopped)", Labels) .WithLabels(labelValues); ReadQueueEvents = Metrics .CreateCounter( "operator_resource_event_queue_read_events", "The count of totally read events from the queue", Labels) .WithLabels(labelValues); WrittenQueueEvents = Metrics .CreateCounter( "operator_resource_event_queue_write_events", "The count of totally written events from the queue", Labels) .WithLabels(labelValues); QueueSizeSummary = Metrics .CreateSummary( "operator_resource_event_queue_size", "Summary of the event queue size over the last 10 minutes", Labels) .WithLabels(labelValues); QueueSize = Metrics .CreateGauge( "operator_resource_event_queue_count", "Size of the entity queue", Labels) .WithLabels(labelValues); CreatedEvents = Metrics .CreateCounter( "operator_resource_event_queue_created_events", "The count of total 'created' events from the queue", Labels) .WithLabels(labelValues); UpdatedEvents = Metrics .CreateCounter( "operator_resource_event_queue_updated_events", "The count of total 'updated' events from the queue", Labels) .WithLabels(labelValues); NotModifiedEvents = Metrics .CreateCounter( "operator_resource_event_queue_not_modified_events", "The count of total 'not modified' events from the queue", Labels) .WithLabels(labelValues); StatusUpdatedEvents = Metrics .CreateCounter( "operator_resource_event_queue_status_updated_events", "The count of total 'status updated' events from the queue", Labels) .WithLabels(labelValues); FinalizingEvents = Metrics .CreateCounter( "operator_resource_event_queue_finalized_events", "The count of total 'finalized' events from the queue", Labels) .WithLabels(labelValues); DeletedEvents = Metrics .CreateCounter( "operator_resource_event_queue_deleted_events", "The count of total 'deleted' events from the queue", Labels) .WithLabels(labelValues); RequeuedEvents = Metrics .CreateCounter( "operator_resource_event_queue_requeued_events", "The count of total events that were requeued by request of the reconciler", Labels) .WithLabels(labelValues); DelayedQueueSizeSummary = Metrics .CreateSummary( "operator_resource_event_delayed_queue_size", "Summary of the delayed (requeue) event queue size over the last 10 minutes", Labels) .WithLabels(labelValues); DelayedQueueSize = Metrics .CreateGauge( "operator_resource_event_delayed_queue_count", "Size of the entity delayed (requeue) queue", Labels) .WithLabels(labelValues); ErroredEvents = Metrics .CreateCounter( "operator_resource_event_queue_errored_events", "The count of total events threw an error during reconciliation", Labels) .WithLabels(labelValues); ErrorQueueSizeSummary = Metrics .CreateSummary( "operator_resource_event_errored_queue_size", "Summary of the error queue size over the last 10 minutes", Labels) .WithLabels(labelValues); ErrorQueueSize = Metrics .CreateGauge( "operator_resource_event_errored_queue_count", "Size of the error queue", Labels) .WithLabels(labelValues); }
protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["provider"] != null && Request.QueryString["gameId"] != null) { var provider = Request.QueryString.Get("provider"); var gameId = Request.QueryString.Get("gameId"); var gameName = Request.QueryString.Get("gameName"); var gameType = Request.QueryString.Get("gameType"); var lang = Request.QueryString.Get("gameLang"); var lobby = Request.QueryString.Get("lobby"); if (provider == Convert.ToString(GameProvider.TTG)) { var url = GameSettings.GetGameUrl(GameProvider.TTG, GameLinkSetting.Real); url = url.Replace("{GAME}", gameId) .Replace("{LANG}", lang) .Replace("{LOBBY}", lobby) .Replace("{GAMETYPE}", gameType) .Replace("{GAMENAME}", gameName).Replace("{TOKEN}", userInfo.CurrentSessionId); if (XDocument.Load(url).Root.Element("error_code").Value == "0") { var gamelink = XDocument.Load(url).Root.Element("redirect_url").Value; Response.Redirect(gamelink, true); } else { var sc = "<script>$(document).ready( function () { window.w88Mobile.Growl.shout('" + XDocument.Load(url).Root.Element("error_msg").Value + "', function () {window.close();} ); });</script>"; ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), sc, false); } } } if (Page.IsPostBack) { return; } CheckSupportedCurrency(); SetTitle(commonCulture.ElementValues.getResourceXPathString("/Products/ClubApollo/Label", commonVariables.ProductsXML)); var opSettings = new OperatorSettings(System.Configuration.ConfigurationManager.AppSettings.Get("Operator")); var addGpi = Convert.ToBoolean(opSettings.Values.Get("GPIAddOtheClubs")); var handler = new QTHandler(commonVariables.CurrentMemberSessionId, "ClubApollo"); var qtCategory = handler.Process(); var ppHandler = new PPHandler(commonVariables.CurrentMemberSessionId, "ClubApollo", "FundTransfer"); var ppCategory = ppHandler.Process(true); var ttgHandler = new TTGHandler(commonVariables.CurrentMemberSessionId, "ClubApollo", "FundTransfer"); var ttgCategory = ttgHandler.Process(true); IEnumerable <IGrouping <string, GameCategoryInfo> > games; if (addGpi) { var gpiHandler = new GPIHandler(commonVariables.CurrentMemberSessionId); var gpiCategory = gpiHandler.Process(true); qtCategory[0].Current = handler.InsertInjectedGames(gpiCategory, qtCategory[0].Current); games = qtCategory.Union(ppCategory).Union(ttgCategory).Union(gpiCategory).GroupBy(x => x.Title); } else { games = qtCategory.Union(ppCategory).Union(ttgCategory).GroupBy(x => x.Title); } var sbGames = new StringBuilder(); foreach (var category in games) { sbGames.AppendFormat("<div data-role='collapsible' data-collapsed='false' data-theme='b' data-content-theme='a' data-mini='true'><h4>{0}</h4>", category.Key); sbGames.AppendFormat("<div id='div{0}' class='div-product'><div><ul>", category.Key); foreach (var item in category) { AddGames(sbGames, item.New); AddGames(sbGames, item.Current); } sbGames.Append("</ul></div></div></div>"); } divContainer.InnerHtml = Convert.ToString(sbGames); }
public EventManager(IKubernetesClient client, OperatorSettings settings, ILogger <EventManager> logger) { _client = client; _settings = settings; _logger = logger; }