From e2a0d9b3e36eb13c10d3ab98416cda2f1f427c71 Mon Sep 17 00:00:00 2001 From: Zachary Loeber Date: Thu, 14 Nov 2019 23:31:28 -0600 Subject: [PATCH] Kind (#266) * update: add kind * update: minor pathing fixes to makefile inclusion documentation for a functional example * update: Additional notes for adding new packages, minor wording fix for description of fetch package, update of readme * Update README.yaml Co-Authored-By: Erik Osterman * Update README.md Co-Authored-By: Erik Osterman * update: minor readme fixes * Update README.yaml Co-Authored-By: Erik Osterman * Update README.yaml Co-Authored-By: Erik Osterman --- .github/vendor.yml | 1 + Makefile | 1 - README.md | 11 ++++++++++- README.yaml | 7 +++++++ docs/targets.md | 3 ++- vendor/fetch/DESCRIPTION | 2 +- vendor/kind/DESCRIPTION | 1 + vendor/kind/LICENSE | 1 + vendor/kind/Makefile | 13 +++++++++++++ vendor/kind/RELEASE | 1 + vendor/kind/VERSION | 1 + 11 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 vendor/kind/DESCRIPTION create mode 100644 vendor/kind/LICENSE create mode 100644 vendor/kind/Makefile create mode 100644 vendor/kind/RELEASE create mode 100644 vendor/kind/VERSION diff --git a/.github/vendor.yml b/.github/vendor.yml index cacd473f8..a68e695fb 100644 --- a/.github/vendor.yml +++ b/.github/vendor.yml @@ -33,6 +33,7 @@ vendor/hugo: vendor/hugo/** vendor/json2hcl: vendor/json2hcl/** vendor/k6: vendor/k6/** vendor/kfctl: vendor/kfctl/** +vendor/kind: vendor/kind/** vendor/kops-1.12: vendor/kops-1.12/** vendor/kops: vendor/kops/** vendor/kubecron: vendor/kubecron/** diff --git a/Makefile b/Makefile index 0b3b67212..c3cc17c8c 100644 --- a/Makefile +++ b/Makefile @@ -58,7 +58,6 @@ docker/build/apk/all: -v $$(pwd):/packages cloudposse/apkbuild:$(ALPINE_VERSION) \ sh -c "make -C /packages/vendor build" - ## Build alpine packages for testing docker/build/apk/shell: rm -rf tmp/* diff --git a/README.md b/README.md index a718eab9d..9a1de8026 100644 --- a/README.md +++ b/README.md @@ -224,6 +224,14 @@ packages/uninstall/%: @make -C $(PACKAGES_PATH)/uninstall $(subst packages/uninstall/,,$@) ``` +### Contributing Additional Packages +In addition to following the Contributing section, the following steps can be used to add new packages for review (via a PR). +1. Clone an existing, similar, package within the vendors directory. Name the new folder with the same name as the binary package being installed. +2. At a minimum, update the VERSION, DESCRIPTION, and Makefile to reflect the binary being installed. Ensure that a test section exists and works. +3. Test the install and ensure that it downloads and runs as expected (`make -C install INSTALL_PATH=/tmp`) +4. Test the build (`make all`) +5. Update the README.md (`make readme/build`) + ## Makefile Targets @@ -244,7 +252,7 @@ direnv 2.20.0 Unclutter your .profile doctl 1.33.1 A command line tool for DigitalOcean services emailcli 1.0.3 Command line email sending client written in Go. fargate 0.3.2 CLI for AWS Fargate -fetch 0.3.7 fetch makes it easy to download files, folders, and release assets from a specific git commit, branch, or tag of public andssss +fetch 0.3.7 fetch makes it easy to download files, folders, and release assets from a specific public git commit, branch, or tag figurine 1.0.1 Print your name in style fzf 0.18.0 A command-line fuzzy finder ghr 0.13.0 Upload multiple artifacts to GitHub Releases in parallel @@ -263,6 +271,7 @@ hugo 0.59.1 The world’s fastest framework for buildin json2hcl 0.0.6 Convert JSON to HCL, and vice versa k6 0.25.1 A modern load testing tool, using Go and JavaScript - https://k6.io kfctl 0.7.0 Machine Learning Toolkit for Kubernetes +kind 0.5.1 A tool for running local Kubernetes clusters using Docker kops 1.14.1 Kubernetes Operations (kops) - Production Grade K8s Installation, Upgrades, and Management kops-1.12 1.12.3 Kubernetes Operations (kops) - Production Grade K8s Installation, Upgrades, and Management kubecron 1.0.2 Utilities to manage kubernetes cronjobs. Run a CronJob manually for test purposes. Suspend/unsuspend a CronJob diff --git a/README.yaml b/README.yaml index 8d24a8a5f..e4a2323fb 100644 --- a/README.yaml +++ b/README.yaml @@ -178,6 +178,13 @@ examples: |- @make -C $(PACKAGES_PATH)/uninstall $(subst packages/uninstall/,,$@) ``` + ### Contributing Additional Packages + In addition to following the Contributing section, the following steps can be used to add new packages for review (via a PR). + 1. Clone an existing, similar, package within the vendors directory. Name the new folder with the same name as the binary package being installed. + 2. At a minimum, update the `VERSION`, `DESCRIPTION`, and `Makefile` to reflect the binary being installed. Ensure that a test section exists and works. + 3. Test the install and ensure that it downloads and runs as expected (`make -C install INSTALL_PATH=/tmp`) + 4. Test the build (`make all`) + 5. Update the `README.md` (`make readme/build`) # Contributors to this project contributors: diff --git a/docs/targets.md b/docs/targets.md index a2c3323e6..f9025e85f 100644 --- a/docs/targets.md +++ b/docs/targets.md @@ -16,7 +16,7 @@ direnv 2.20.0 Unclutter your .profile doctl 1.33.1 A command line tool for DigitalOcean services emailcli 1.0.3 Command line email sending client written in Go. fargate 0.3.2 CLI for AWS Fargate -fetch 0.3.7 fetch makes it easy to download files, folders, and release assets from a specific git commit, branch, or tag of public andssss +fetch 0.3.7 fetch makes it easy to download files, folders, and release assets from a specific public git commit, branch, or tag figurine 1.0.1 Print your name in style fzf 0.18.0 A command-line fuzzy finder ghr 0.13.0 Upload multiple artifacts to GitHub Releases in parallel @@ -35,6 +35,7 @@ hugo 0.59.1 The world’s fastest framework for buildin json2hcl 0.0.6 Convert JSON to HCL, and vice versa k6 0.25.1 A modern load testing tool, using Go and JavaScript - https://k6.io kfctl 0.7.0 Machine Learning Toolkit for Kubernetes +kind 0.5.1 A tool for running local Kubernetes clusters using Docker kops 1.14.1 Kubernetes Operations (kops) - Production Grade K8s Installation, Upgrades, and Management kops-1.12 1.12.3 Kubernetes Operations (kops) - Production Grade K8s Installation, Upgrades, and Management kubecron 1.0.2 Utilities to manage kubernetes cronjobs. Run a CronJob manually for test purposes. Suspend/unsuspend a CronJob diff --git a/vendor/fetch/DESCRIPTION b/vendor/fetch/DESCRIPTION index 977a76a04..4c903c2c4 100644 --- a/vendor/fetch/DESCRIPTION +++ b/vendor/fetch/DESCRIPTION @@ -1 +1 @@ -fetch makes it easy to download files, folders, and release assets from a specific git commit, branch, or tag of public andssss +fetch makes it easy to download files, folders, and release assets from a specific public git commit, branch, or tag diff --git a/vendor/kind/DESCRIPTION b/vendor/kind/DESCRIPTION new file mode 100644 index 000000000..9078c6296 --- /dev/null +++ b/vendor/kind/DESCRIPTION @@ -0,0 +1 @@ +A tool for running local Kubernetes clusters using Docker \ No newline at end of file diff --git a/vendor/kind/LICENSE b/vendor/kind/LICENSE new file mode 100644 index 000000000..a22a2da24 --- /dev/null +++ b/vendor/kind/LICENSE @@ -0,0 +1 @@ +MIT diff --git a/vendor/kind/Makefile b/vendor/kind/Makefile new file mode 100644 index 000000000..2eb14ee34 --- /dev/null +++ b/vendor/kind/Makefile @@ -0,0 +1,13 @@ +# Package details +export VENDOR ?= kubernetes-sigs +export APK_BUILD_TEMPLATE ?= APKBUILD.github-binary +export DOWNLOAD_URL ?= $(PACKAGE_REPO_URL)/releases/download/v$(PACKAGE_VERSION)/$(PACKAGE_NAME)-$(OS)-$(ARCH) + +include ../../tasks/Makefile.package +include ../../tasks/Makefile.apk + +install: + $(call download_binary) + +test: + $(PACKAGE_EXE) version diff --git a/vendor/kind/RELEASE b/vendor/kind/RELEASE new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/vendor/kind/RELEASE @@ -0,0 +1 @@ +0 diff --git a/vendor/kind/VERSION b/vendor/kind/VERSION new file mode 100644 index 000000000..4b9fcbec1 --- /dev/null +++ b/vendor/kind/VERSION @@ -0,0 +1 @@ +0.5.1