Skip to content

Instantly share code, notes, and snippets.

View galvesribeiro's full-sized avatar
:shipit:
Working like hell!

Gutemberg Ribeiro galvesribeiro

:shipit:
Working like hell!
View GitHub Profile
@galvesribeiro
galvesribeiro / vault_raft_bu_restore_example.sh
Created November 13, 2020 17:03 — forked from mikegreen/vault_raft_bu_restore_example.sh
Vault raft snapshot backup and restore quick demo
# 2020-06-23
# this shows creating a Vault instance running integrated storage/raft,
# then adding a KV and taking a snapshot
# then kill the raft DB files to simulate a storage failure
# repeat new Vault instance, restore snapshot, unseal and auth with orig keys
# and read some data to show how backup/restore works
# not meant to be a live script to run!
# this uses the vault_config.hcl from https://gist.github.com/mikegreen/c2df5eea2283f0dbc5f3a5d3650536fd
@galvesribeiro
galvesribeiro / Custom Blazor Startup.html
Created April 11, 2020 18:50 — forked from SQL-MisterMagoo/Custom Blazor Startup.html
Custom Blazor Startup Example with custom Retries/Interval and custom Reconnection Handler (not production code)
<script autostart="false" src="_framework/blazor.server.js"></script>
<script>
async function connectionDown(options) {
console.log("Connection Down - you could do some UI here...");
for (let i = 0; i < options.maxRetries; i++) {
console.log("Waiting for reconnect attempt #"+(i+1)+" ...");
await this.delay(options.retryIntervalMilliseconds);
if (this.isDisposed) {
break;
}
public RequestDevice = (options: USBRequestDeviceOptions): Promise<DeviceFound> => {
function isEmpty(obj) {
for (var prop in obj) {
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
return false;
}
}
return true;
}
@galvesribeiro
galvesribeiro / OrleansExtensions.cs
Created September 4, 2018 19:00
Orleans + Asp.Net Core + GenericHost
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Orleans;
using Orleans.Hosting;
using SignalR.Orleans;
using System;
using System.Collections.Generic;
@galvesribeiro
galvesribeiro / OrleansExtensions.cs
Created June 21, 2018 16:11
Orleans support to Microsoft.Extensions.Hosting
public static class OrleansExtensions
{
private const string SiloBuilderKey = "OrleansSiloBuilderInstance";
public static IHostBuilder AddOrleans(this IHostBuilder hostBuilder, Action<ISiloHostBuilder> configure)
{
var siloHostBuilder = GetSiloBuilder(hostBuilder);
configure?.Invoke(siloHostBuilder);
siloHostBuilder.ConfigureDefaults();
siloHostBuilder.GetApplicationPartManager().ConfigureDefaults();
public interface IPromiseCallbackHandler
{
void SetResult(string json);
void SetError(string error);
}
@galvesribeiro
galvesribeiro / Logger.cs
Created April 29, 2018 06:17
Blazor Logger
public static class Logger
{
public static void Log(object message)
{
RegisteredFunction.Invoke<bool>(
"Logger.Log",
JsonUtil.Serialize(message));
}
public static void Error(object error)
@galvesribeiro
galvesribeiro / IMigratable.cs
Created February 27, 2018 03:02 — forked from bboyle1234/IMigratable.cs
IMigratable
using Newtonsoft.Json;
namespace Migratable {
[JsonConverter(typeof(MigratableConverter))]
public interface IMigratable {
}
}
@galvesribeiro
galvesribeiro / DbConnectionFactory.cs
Created December 1, 2016 14:29
Partial DbConnectionFactory
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Data.Common;
using System.IO;
using System.Linq;
using System.Reflection;
namespace Orleans.SqlUtils
{
@galvesribeiro
galvesribeiro / Build.ps1
Created November 30, 2016 17:50
Partial Build.ps1
try {
$OSPlatform = [System.Runtime.InteropServices.OSPlatform]
$IsLinux = $Runtime::IsOSPlatform($OSPlatform::Linux)
$IsOSX = $Runtime::IsOSPlatform($OSPlatform::OSX)
$IsWindows = $Runtime::IsOSPlatform($OSPlatform::Windows)
} catch {
# If these are already set, then they're read-only and we're done
try {
$IsLinux = $false