Skip to content

johnworth/kind-argo

Repository files navigation

Deploying Argo Projects in Kind

This is just a playground to figure out how to get stuff working. No reason to keep it private, but also probably not useful to anyone else.

These instructions are not intended for setting up Argo for production use.

Instructions

kind create cluster kubectl create ns argo

Install Argo Workflows

Based on info in their quickstart at https://argoproj.github.io/argo/quick-start/.

Install Argo Workflows with the containerRuntimeExecutor: k8sapi set for the workflow-controller-configmap ConfigMap. The quick-start-postgres.yaml file in this repository already has that set.

    kubectl apply -n argo -f quick-start-postgres.yaml

In another terminal tab forward the workflow port.

    kubectl -n argo port-forward deployment/argo-server 2746:2746

Install the Argo cmd-line tool using the instructions on the Argo Releases page.

Test with Argo Workflow's Hello World. Directly from their quick start:

    argo submit -n argo --watch https://raw.githubusercontent.com/argoproj/argo/master/examples/hello-world.yaml
    argo list -n argo
    argo get -n argo @latest
    argo logs -n argo @latest

Install Argo Events

Based on info in their Installation and Getting Started guides.

    kubectl create ns argo-events

Install the Custom Resource definitions and base services.

    kubectl apply -n argo-events -f argoevents.yaml

Install the event-bus.

    kubectl apply -n argo-events -f eventbus-native.yaml

Install the webhook event source.

    kubectl apply -n argo-events -f webhook-source.yaml

Install the webhook event sensor.

    kubectl apply -n argo-events -f webhook-sensor.yaml

In another tab, port forward the event source service (instructions here vary a bit from the quick start guide on Argo's site).

    kubectl -n argo-events port-forward svc/webhook-eventsource-svc 12000:12000

Send a post request to the event source.

    curl -d '{"message":"this is my first webhook"}' -H "Content-Type: application/json" -X POST http://localhost:12000/example

Check that the Argo workflow was triggered (though not necessarily run):

    kubectl -n argo-events get workflows | grep webhook

Installing Argo CD

Adapted from the instructions at https://argoproj.github.io/argo-cd/getting_started/.

    kubectl create ns argocd
    kubectl -n argocd apply -f argocd.yaml

Download and install the argocd cmd-line tool from the Argo CD releases page at https://github.com/argoproj/argo-cd/releases.

Port-forward the argocd-server service in another terminal tab.

    kubectl -n argocd port-forward svc/argocd-server 8080:443

Get the default password for the API server.

    kubectl get pods -n argocd -l app.kubernetes.io/name=argocd-server -o name | cut -d'/' -f 2

Login using the CLI.

    argocd login localhost:8080

Follow the instructions at https://argoproj.github.io/argo-cd/getting_started/#6-create-an-application-from-a-git-repository to set up an application to deploy into the cluster.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published