Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#1041] Minikube provider #1179

Merged
merged 38 commits into from
Mar 19, 2021
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
31cafc1
provider must be installed
Mar 9, 2021
3bd58c9
create cluster
Mar 9, 2021
4b2c091
Add ngrok and docs
Mar 12, 2021
c27ee20
Make ngrok public URL work
Mar 12, 2021
f5ebe6f
Provision and print endpoints
Mar 12, 2021
a1dbd33
Deliver minikube host to frontend apps and dev environment
Mar 15, 2021
74857b5
Add asciinema demo
Mar 15, 2021
ccbc1c8
Remove vagrant scripts
Mar 15, 2021
7281182
Restructure the hosts config to make the ui command work
Mar 16, 2021
190464c
Introduce the endpoint command to more easily use the host in the docs
Mar 16, 2021
d72cdde
clean up command
Mar 16, 2021
10400d7
Remove remaining mentions of airy.core
Mar 16, 2021
317e30c
Merge branch 'develop' into feat/minikube-provider
Mar 16, 2021
0211d03
lint
Mar 16, 2021
d9dfdff
Fix to scripts component
Mar 16, 2021
b945bfb
fix the integration test
Mar 16, 2021
6e17e9f
fix icon
Mar 16, 2021
bc2da29
Apply suggestions from code review
chrismatix Mar 16, 2021
3ec7b1f
clean up error code a bit
Mar 16, 2021
95b06e2
Update infrastructure/cli/pkg/providers/minikube/minikube.go
chrismatix Mar 16, 2021
4af9dc0
Update docs/docs/apps/ui/quickstart.md
chrismatix Mar 16, 2021
8f581d8
integrate ljupco's doc suggestions
Mar 16, 2021
3d4812a
Bring back airy.core using the hosts file
Mar 17, 2021
b57bc68
Doc and code fixes for airy.core
Mar 17, 2021
d118170
fix gazelle
Mar 17, 2021
25f8c64
fix typo
Mar 17, 2021
88aeed6
Config command uses stored kube context
Mar 17, 2021
a8cbf3b
Apply suggestions from code review
chrismatix Mar 17, 2021
af320e6
fixes to the minikube installation
Mar 17, 2021
0cad543
Fix version file
Mar 17, 2021
10003d7
misc. fixes
Mar 18, 2021
17ef1e2
lint
Mar 18, 2021
35fd4c9
Merge remote-tracking branch 'origin/develop' into feat/minikube-prov…
Mar 18, 2021
7667ce8
Add ngrok ingress
Mar 18, 2021
c15ccf1
Fix variable templating and docs
Mar 18, 2021
91a93b6
Add colored and indentend output for providers
Mar 18, 2021
ae6090f
Merge remote-tracking branch 'origin/develop' into feat/minikube-prov…
Mar 19, 2021
4dd3ded
update screencast id
Mar 19, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/docs/concepts/release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Here's an outline of the process:
- We clean up the draft release and name it `x.y.z`
- We run `./scripts/release.sh start x.y.z`
- Once release days comes, we execute the following steps:
- We test our release (`./scripts/bootstrap.sh`) and any
- We test our release (`airy create --provider=local`) and any
additional hot-fix is committed directly to the release branch
- Once we're satisfied with the release, we finish the release by running `./scripts/release.sh finish x.y.z`
- We update the version string and the sha in the [Homebrew Formula](https://github.com/airyhq/homebrew-airy/blob/main/Formula/cli.rb) for the CLI.
Expand Down
77 changes: 77 additions & 0 deletions docs/docs/getting-started/installation/minikube.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
---
title: Minikube
sidebar_label: Minikube
---

import useBaseUrl from '@docusaurus/useBaseUrl';

The goal of this document is to provide an overview of how to run Airy Core on
your local machine using [Minikube](https://minikube.sigs.k8s.io/).

## Creating a cluster using the CLI

First download and install Minikube from their [release page](https://github.com/kubernetes/minikube/releases) and the [Airy CLI](cli/installation.md).
Now you can run this command, which will create a new Minikube cluster on your system and install Airy core on it:

```bash
airy create --provider=minikube
```

This will print URLs for accessing the UIs and APIs (TODO screenshot)

If you want to customize your `Airy Core` instance please see our [Configuration Section](configuration.md).

## Public webhooks

In order to integrate with the webhook of most sources on your local machine,
we include a [ngrok](https://ngrok.com/) client as a sidecar to the ingress controller.
ngrok is an open source reverse proxy which
creates a secure tunnel from a public endpoint to a local service. The ngrok
client connects to a ngrok server which has public access to the internet and
then provides a reversed proxy connectivity back to the webhook services,
running inside the Kubernetes cluster.

To get the ngrok URL to your local Airy Core installation you can run:
chrismatix marked this conversation as resolved.
Show resolved Hide resolved

```sh
echo "https://$(minikube -p airy-core kubectl -- get cm core-config -o jsonpath='{.data.CORE_ID}').tunnel.airy.co"
```

By default, the ngrok client is configured to use the ngrok server created by
Airy and run on https://tunnel.airy.co. This configuration is specified in
chrismatix marked this conversation as resolved.
Show resolved Hide resolved
the `ngrok-client-config` ConfigMap.

```
apiVersion: v1
kind: ConfigMap
metadata:
name: ngrok-client-config
namespace: default
data:
config.yml: |
server_addr: proxy.tunnel.airy.co:4443
trust_host_root_certs: true
```

If you prefer to use your own ngrok implementation or point the ngrok client to
connect to the service provided by the ngrok company at `https://ngrok.io`,
change the setting for `server_addr` in the ConfigMap.

## Connect sources

Integrating sources into the `Airy Core` often requires specific configuration
settings, refer to the [source specific docs](/sources/introduction.md) for details.

## External tools

The optional external tools can be activated in the `airy.yaml` configuration file, under the `tools` section.
For more details please see our [Configuration Section](configuration.md).

## Uninstall Airy Core

You can remove the Airy Core Minikube node from your machine completely running
chrismatix marked this conversation as resolved.
Show resolved Hide resolved
the following command:

```sh
minikube -p airy-core destroy
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we also write a note to delete the record from the /etc/hosts file.
Even though it is not actually a problem, as when the new instance starts - it overwrites the existing one.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I wouldn't bother with this for now. Since it does not break anything. Eventually we should have an airy destroy command where we track this for each provider

261 changes: 0 additions & 261 deletions docs/docs/getting-started/installation/vagrant.md

This file was deleted.

2 changes: 1 addition & 1 deletion docs/docs/sources/facebook.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ This will open a modal box: add your Callback URL (your instance's Facebook Webh
Your Facebook Webhook URL should have the following format:

```
`https://fb-RANDOM_STRING.tunnel.airy.co/facebook`
`https://RANDOM_STRING.tunnel.airy.co/facebook`
```

Refer to [our section on the Vagrant box
Expand Down
1 change: 1 addition & 0 deletions infrastructure/cli/pkg/cmd/create/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ go_library(
"//infrastructure/cli/pkg/providers",
"//infrastructure/cli/pkg/workspace",
"@com_github_spf13_cobra//:cobra",
"@com_github_spf13_viper//:viper",
"@io_k8s_api//batch/v1:go_default_library",
"@io_k8s_api//core/v1:go_default_library",
"@io_k8s_api//rbac/v1:go_default_library",
Expand Down
Loading