All Projects → qmfrederik → Helm

qmfrederik / Helm

Licence: apache-2.0
A .NET client for Kubernetes Helm

Programming Languages

csharp
926 projects

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
Helm Notmuch
Search emails with Notmuch and Helm
Stars: ✭ 10 (-67.74%)
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
Helm Test
A mocha based testing CLI for helm packages
Stars: ✭ 22 (-29.03%)
Mutual labels:  helm
Hub
Find, install and publish Kubernetes packages
Stars: ✭ 460 (+1383.87%)
Mutual labels:  helm
Ship
A better way to deploy Kubernetes Helm charts
Stars: ✭ 623 (+1909.68%)
Mutual labels:  helm
Istio Cross Namespace Canary Release Demo
Cross-namespace canary release using Kubernetes, Istio and Helm
Stars: ✭ 31 (+0%)
Mutual labels:  helm
Helmsman
Helm Charts as Code
Stars: ✭ 854 (+2654.84%)
Mutual labels:  helm
Terraform Provider Helm
Terraform Helm provider
Stars: ✭ 704 (+2170.97%)
Mutual labels:  helm

.NET Client for Helm

Build status Build Status

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].