Skip to content

Instantly share code, notes, and snippets.

View peterhuene's full-sized avatar

Peter Huene peterhuene

View GitHub Profile
@peterhuene
peterhuene / Cargo.toml
Created June 14, 2022 21:40
Extern component binding crates
# ...
[package.metadata.component.dependencies]
cache = { version = "0.1.0", path = "cache.wit" }
origin = { version = "0.1.0", path = "backend.wit" }
backend = { version = "0.1.0", path = "backend.wit", export = true }
# ...
@peterhuene
peterhuene / main.rs
Last active August 13, 2020 07:24
async host function
use anyhow::Result;
use async_std::task;
use futures::FutureExt;
use generator::{done, Gn};
use std::boxed::Box;
use std::cell::RefCell;
use std::future::Future;
use std::pin::Pin;
use std::time::Duration;
use wasmtime::{Config, Engine, Func, Instance, Module, Store};
@peterhuene
peterhuene / wasi.h
Last active February 19, 2020 19:13
WASI C API
// WASI C API
#ifndef WASI_H
#define WASI_H
#include "wasm.h"
#ifndef WASI_API_EXTERN
#ifdef _WIN32
#define WASI_API_EXTERN __declspec(dllimport)
@peterhuene
peterhuene / entity.rs
Last active November 24, 2019 23:13
Durable Entity in Rust
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize)]
struct Counter {
value: i32,
}
#[entity(type = "counter")]
impl Counter {
pub fn add(&mut self, amount: i32) {
@peterhuene
peterhuene / README.md
Last active July 28, 2019 06:31
Durable Functions for Rust
@peterhuene
peterhuene / worker.config.json
Last active July 24, 2018 00:06
Rust worker config
{
"Description":{
"Language": "Rust",
"Extension": ".rs",
"DefaultExecutablePath": "rust_worker",
"DefaultWorkerPath": "worker.config.json",
"Arguments": ["run"]
}
}
@peterhuene
peterhuene / ToolPackageManager.cs
Last active February 5, 2018 01:05
Transactional tool install
using System;
using System.Collections.Generic;
using System.IO;
using System.Transactions;
using Microsoft.Extensions.EnvironmentAbstractions;
namespace Microsoft.DotNet.ToolPackage
{
internal interface IToolPackageManager
{
@peterhuene
peterhuene / kube-lego.yaml
Created July 10, 2017 20:45
Kube-Lego manifest
apiVersion: v1
kind: ServiceAccount
metadata:
name: lego
namespace: kube-ingress
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:
name: lego
@peterhuene
peterhuene / ingress.yaml
Last active September 14, 2017 12:46
Ingress controller deployment
apiVersion: v1
kind: Namespace
metadata:
name: kube-ingress
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: nginx-ingress-serviceaccount
namespace: kube-ingress
@peterhuene
peterhuene / nfs.yaml
Created June 27, 2017 21:31
NFS Client Provisioner for ARM
apiVersion: v1
kind: ServiceAccount
metadata:
name: nfs-client-provisioner
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1alpha1
metadata:
name: nfs-client-provisioner
rules: