kubekadal

command module
v0.0.0-...-35bb69c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 25, 2019 License: Apache-2.0 Imports: 2 Imported by: 0

README ¶

Kubekadal

Talk to your infra using the Kubernetes client-go library. Inspired by kelsey hightower kube conference. Youtube Link

About Kubekadal

Kubekadal is a simple golang app for making the API call to Kubernetes cluster to make changes such as routing the traffic and getting the cluster information. This app receives a request from the dialogflow webhooks. It parses the request parameters to understands the action. If it finds the action and intents, it will make an API call to the Kubernetes cluster to make those changes.
**For demo purpose only since voice commands are high volatile, don't use this in your prod/staging cluster setup.

Before you begin
  1. Install go runtime in your local machine.
  2. Create a Kubernetes cluster with Istio implementation.
  3. Create a Istio virtual service with destination rules. Specify the virtual service name as "demo-app-vs". reference
  4. Place the kube config file in the HOME/.kuber folder (refer: clientSet() func)
  5. Built a Dialogflow agent and intents to send the commands to this project. reference
Getting started
  1. Clone this project
  2. Open constant file and change the intent-id with your dialogflow intent ids.
  3. Run this app locally
  4. Use ngrok to expose the https domain url.
Dialogflow
  1. Open diagflow and create the agent
  2. Replace the webhook URL with the ngrok url you have https://ngrokurl/app/dialogflow
  3. Download the intents/entities from the folder
  4. Import the entities/intents from that folder and import it to your dialogflow.
  5. Note down the intent-id's you just created and modify the constant file with those values
    • a welcome intent(replaces this intent-id for KubeCtlMain in constant file)
    • a serviceinfo intent(replaces this intent-id for KubeCtlServiceInfo in constant file)
    • a virtual service intent(replaces this intent-id for KubeCtlVirtualService in constant file)
👊 That's it. You are good to go...

Documentation ¶

The Go Gopher

There is no documentation for this package.

Directories ¶

Path Synopsis
app

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL