Skip to content

Instantly share code, notes, and snippets.

View FlorentinDUBOIS's full-sized avatar
😸

Florentin DUBOIS FlorentinDUBOIS

😸
View GitHub Profile
@FlorentinDUBOIS
FlorentinDUBOIS / logging.ts
Created April 23, 2023 18:50
A logging implementation that provide the same output as the Rust crates named tracing
import { handlers, LogLevels, LogRecord, setup } from 'std/log/mod.ts';
import { blue, bold, gray, green, red, yellow } from 'std/fmt/colors.ts';
import { getLevelName, LogLevelNames } from 'std/log/levels.ts';
// -----------------------------------------------------------------------------
// Argument
export interface Argument extends Object {
[key: string]: string | number | Function;
}
---
apiVersion: api.clever-cloud.com/v1beta1
kind: Runtime
metadata:
namespace: default
name: my-app-0
annotations:
api.clever-cloud.com/description: ''
api.clever-cloud.com/tag: ''
spec:

Building a cloud network function platform with kubernetes

Abstract

English

A network function (NF) is a functional building block within a network infrastructure, which has well-defined external interfaces and a well-defined functional behavior. Those behaviors could be provided by the network infrastructure itself like firewalls or it could virtualized and provide more complex features like a load balancer. Those network functions are called virtualized network function (VNF).

Building a platform to orchestrate virtualized network functions has many challenges. In this talk, we will dig into the implementation of the first VNF at OVHcloud and the creation of the underlying platform based on kubernetes.

Operating a load balancing service

Operating a load balancing service on top of Kubernetes and OpenStack

Abstract

OVHcloud as a cloud provider historically furnish a load balancing service named "IP Load Balancing". As the company is growing fast, new needs appears and we need to evolve the service to match those new requirements. This is why recently, we have released a new generation of load balancer called "cloud load balancer".

<?xml version="1.0" encoding="UTF-8"?>
<opml version="1.0">
<head>
<title>Florentin subscriptions in feedly Cloud</title>
</head>
<body>
<outline text="Browsers" title="Browsers">
<outline type="rss" text="Mozilla Hacks – the Web developer blog" title="Mozilla Hacks – the Web developer blog" xmlUrl="http://hacks.mozilla.org/feed/" htmlUrl="https://hacks.mozilla.org"/>
<outline type="rss" text="Chromium Blog" title="Chromium Blog" xmlUrl="http://blog.chromium.org/feeds/posts/default" htmlUrl="http://blog.chromium.org/"/>
<outline type="rss" text="Blog – WebKit" title="Blog – WebKit" xmlUrl="http://webkit.org/blog/feed/" htmlUrl="https://webkit.org"/>
@FlorentinDUBOIS
FlorentinDUBOIS / idea.vmoptions
Created May 6, 2020 16:31
Intellij idea vm options
-Xms2G
-Xmx2G
-XX:ReservedCodeCacheSize=240m
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:+UseCompressedOops
-Dfile.encoding=UTF-8
-Djdk.attach.allowAttachSelf=true
-Dsun.io.useCanonPrefixCache=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-Dkotlinx.coroutines.debug=off
# This is Git's per-user configuration file.
[user]
name = Florentin Dubois
email = duboiflorentin@gmail.com
[alias]
edit = config --edit --global
ap = "!git add -p && git altereds"
shallow = git clone --depth 1
use std::convert::{From, TryFrom};
use std::error::Error;
use std::fmt;
use std::fmt::{Display, Formatter};
use std::sync::{Arc, Mutex};
use std::sync::mpsc::{channel, Receiver};
use std::io;
use midir::{MidiInput, MidiInputConnection, MidiOutput, MidiOutputConnection};