A helper script that automates the below exists in ./scripts/minikube.sh
.
-
First install the latest release of Tekton Pipelines:
$ kubectl --context minikube apply --filename https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.9.0/release.yaml
-
Create a namespace for Dracon
$ kubectl --context minikube create namespace dracon
-
Create a DB for the Enricher
$ kubectl apply --context minikube --namespace dracon -f resources/persistence/enricher-db/k8s.yaml
Note: Running postgres like this is not recommended in production, however it's great for a demo run of Dracon. You should use a properly set up and maintained Postgres instance with a secret username and password when you run Dracon in production.
-
Start Minio for ephemeral build storage
$ kubectl apply --context minikube --namespace dracon -f resources/persistence/minio-storage/k8s.yaml
-
Create Elasticsearch+Kibana for the Elasticsearch Consumer to push results into
$ kubectl apply --context minikube --namespace dracon -f resources/persistence/elasticsearch-kibana/elasticsearch.yaml $ kubectl apply --context minikube --namespace dracon -f resources/persistence/elasticsearch-kibana/kibana.yaml
-
Dracon is now ready to use. Check out the Running Demos Guide
To setup an pipeline, you can execute:
$ dracon --context minikube --namespace=dracon setup --pipeline examples/pipelines/golang-project
To run that example pipeline you can execute:
$ dracon --context minikube --namespace=dracon run --pipeline examples/pipelines/golang-project
To see the progress of a Pipeline, you can execute:
# To see the pipeline status
$ kubectl get pipelineruns
# To see the pods running as part of the pipeline
$ kubectl get pod -w