Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
minio-deployment
minio-node
.gitignore
LICENSE
README.md
brigade.js
file-upload.js
minio-brigade.yaml

README.md

minio-brigade

minio-brigade is a Brigade Project that utilizes Minio.

This Project was designed to show a Brigade Job generating data files (e.g. unit test results and code coverage), sharing the files in the Brigade Project Shared PVC, and finally persisting the data in an object storage service using a Minio-JS client.

Prerequisites

  1. Have a running Kubernetes environment
  2. Setup Helm - this assumes Helm on your Host regardless of the Helm container used later on.
  3. (optional) an NFS Provisioner - my environment uses Kubernetes clusters running on standalone bare metal machines. Recommended simple NFS Provisioner is IlyaSemenov/nfs-provisioner-chart. Follow the instructions for adding the helm repo. At install set this as the default Provisioner:
$ helm install --name nfs-provisioner --namespace nfs-provisioner nfs-provisioner/nfs-provisioner --set defaultClass=true

If not already set up on your host, add nfs-common

$ apt-get install nfs-common

Install

Set up Brigade

Follow the quick-start guide:

Install Brigade into your Kubernetes cluster is to install it using Helm.

$ helm repo add brigade https://azure.github.io/brigade
$ helm install -n brigade brigade/brigade

To manually run Brigade Projects the brig binary is required. Follow the Developers Guide to build the binary. Assuming Brigade is cloned and prerequisites met, simply run:

$ make brig

Test brig with brig version

Install minio-brigade Project

Clone minio-brigade and change directory

$ git clone https://github.com/lukepatrick/minio-brigade
$ cd minio-brigade

Helm install minio-brigade

note the name and namespace can be customized

$ helm install --name minio-brigade brigade/brigade-project -f minio-brigade.yaml

Optionally to allow GitHub webhooks, install your project with these set commands:

$ helm install --name minio-brigade brigade/brigade-project /
    -f minio-brigade.yaml /
    --set sharedSecret=secret_string_for_webhook /
    --set github.token=github_oauth_token

Set up Minio

$ kubectl apply -f minio-deployment/minio-deployment.yaml

Usage

Manually run the project. The project name is the same as the project value in the minio-brigade.yaml

$ brig run lukepatrick/minio-brigade

Review a webhook event

I've used this as a webhook demo for my org. If you skip the manual run with brig the build won't log to your console. To get the details of your webhook build:

$ brig build list

Note the ID of the most recent TYPE push from PROVIDER github

$ brig build get {id}

Get the worker ID (pod id) and then the kubernetes logs:

$ kubectl logs brigade-worker-01c4

From here you can grab any Job pod ID's and get kubernetes logs for those if needed.

Contribute

PRs accepted.

License

MIT

You can’t perform that action at this time.