qmfrederik / Helm
Licence: apache-2.0
A .NET client for Kubernetes Helm
Stars: ✭ 31
Programming Languages
csharp
926 projects
Labels
Projects that are alternatives of or similar to Helm
Pluto
A cli tool to help discover deprecated apiVersions in Kubernetes
Stars: ✭ 496 (+1500%)
Mutual labels: helm
Stock Analysis Engine
Backtest 1000s of minute-by-minute trading algorithms for training AI with automated pricing data from: IEX, Tradier and FinViz. Datasets and trading performance automatically published to S3 for building AI training datasets for teaching DNNs how to trade. Runs on Kubernetes and docker-compose. >150 million trading history rows generated from +5000 algorithms. Heads up: Yahoo's Finance API was disabled on 2019-01-03 https://developer.yahoo.com/yql/
Stars: ✭ 605 (+1851.61%)
Mutual labels: helm
Sitewhere
SiteWhere is an industrial strength open-source application enablement platform for the Internet of Things (IoT). It provides a multi-tenant microservice-based infrastructure that includes device/asset management, data ingestion, big-data storage, and integration through a modern, scalable architecture. SiteWhere provides REST APIs for all system functionality. SiteWhere provides SDKs for many common device platforms including Android, iOS, Arduino, and any Java-capable platform such as Raspberry Pi rapidly accelerating the speed of innovation.
Stars: ✭ 788 (+2441.94%)
Mutual labels: helm
Kubeadm Playbook
Fully fledged (HA) Kubernetes Cluster using official kubeadm, ansible and helm. Tested on RHEL/CentOS/Ubuntu with support of http_proxy, dashboard installed, ingress controller, heapster - using official helm charts
Stars: ✭ 533 (+1619.35%)
Mutual labels: helm
Helm Operator
The Flux Helm Operator, for declarative Helming
Stars: ✭ 566 (+1725.81%)
Mutual labels: helm
Argo Cd
Declarative continuous deployment for Kubernetes.
Stars: ✭ 7,887 (+25341.94%)
Mutual labels: helm
Helm Operator Get Started
Managing Helm releases with Flux Helm Operator
Stars: ✭ 445 (+1335.48%)
Mutual labels: helm
Chart Testing
CLI tool for linting and testing Helm charts
Stars: ✭ 571 (+1741.94%)
Mutual labels: helm
Flux
Successor: https://github.com/fluxcd/flux2 — The GitOps Kubernetes operator
Stars: ✭ 6,688 (+21474.19%)
Mutual labels: helm
Cp Helm Charts
The Confluent Platform Helm charts enable you to deploy Confluent Platform services on Kubernetes for development, test, and proof of concept environments.
Stars: ✭ 539 (+1638.71%)
Mutual labels: helm
Nboost
NBoost is a scalable, search-api-boosting platform for deploying transformer models to improve the relevance of search results on different platforms (i.e. Elasticsearch)
Stars: ✭ 549 (+1670.97%)
Mutual labels: helm
Geodesic
🚀 Geodesic is a DevOps Linux Distro. We use it as a cloud automation shell. It's the fastest way to get up and running with a rock solid Open Source toolchain. ★ this repo! https://slack.cloudposse.com/
Stars: ✭ 629 (+1929.03%)
Mutual labels: helm
Porter
Kubernetes powered PaaS that runs in your own cloud.
Stars: ✭ 498 (+1506.45%)
Mutual labels: helm
Istio Cross Namespace Canary Release Demo
Cross-namespace canary release using Kubernetes, Istio and Helm
Stars: ✭ 31 (+0%)
Mutual labels: helm
.NET Client for Helm
Helm is a package manager for Kubernetes. It allows you to install and use software built for Kubernetes.
This repository contains a C# client for working with Helm.
Getting started
Before you start, add the Helm NuGet package to your project and make sure you've initialized Helm inside your Kubernetes cluster.
Helm uses a Tiller pod deployed in your Kubernetes cluster to manage charts and deployments.
This means that you'll need to locate your Kubernetes cluster and the Tiller pod if you want to interact with it using C#.
Here's how you can do that:
// Open the Kubernetes configuration and connect to the Kubernetes cluster.
// You may have a KUBECONFIG environment variable. If so, you're in luck - that's what we use in this sample app.
// You Kubernetes configuration can also be stored at ~/.kube/config.
var kubeConfig = KubernetesClientConfiguration.BuildConfigFromConfigFile(null, Environment.GetEnvironmentVariable("KUBECONFIG"));
var kubernetes = new Kubernetes(kubeConfig);
// Figure out where Tiller is located. This will return the IP address and port of a pod running Tiller.
// The code assumes you can connect to a pod using it's IP address. That usually means your code is either running inside a pod,
// or you've configured routing to your pod network.
// If that's not the case, you'll need to set up Kubernetes port forwarding.
TillerLocator locator = new TillerLocator(kubernetes);
var endPoint = locator.Locate();
// Connect to Tiller and get the version information
using(var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp))
{
await socket.ConnectAsync(endPoint).ConfigureAwait(false);
using (NetworkStream stream = new NetworkStream(socket))
{
TillerClient client = new TillerClient(stream);
var version = await client.GetVersionAsync();
}
}
How it works
The Helm client consists of three blocks:
- A locator which helps you locate the Tiller pod in a Kubernetes cluster
- C# code for the Helm protobuf protocol. This protocol defines how messages which are sent to and received from Helm are serialized.
- A C# implementation of the gRPC protocol. This protocol allows to send and receive serialized messages over HTTP/2.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].