getFT distribution of packages.
Open Source and licensed under the APACHE2.
Use this repo to easily install releases of popular Open Source packages. We provide a few ways to use it.
- Make Based Installer. This installer works regardless of your OS and distribution. It downloads packages directly from their GitHub source repos and installs them to your
INSTALL_PATH
. - Docker Image. Use this docker image as a base-image or as part of a multi-stage docker build. The docker image always distributes the latest linux binaries for
x86_64
architectures.
See examples below for usage.
The Makefile
interface works on OSX and Linux. It's a great way to distribute binaries in an OS-agnostic way which does not depend on a package manager (e.g. no brew
or apt-get
).
This method is ideal where you need the dependencies installed natively for your OS/architecture, such as installing a package on OSX.
See all available packages:
make -C install help
Install everything...
make -C install all
Install specific packages:
make -C install aws-vault chamber
Install to a specific folder:
make -C install aws-vault INSTALL_PATH=/usr/bin
Uninstall a specific package
make -C uninstall yq
Add this to a Dockerfile
to install packages using a multi-stage build process:
FROM getft/packages:latest AS packages
COPY --from=packages /packages/bin/chamber /usr/local/bin/
Or... add this to a Dockerfile
to easily install packages on-demand:
RUN git clone --depth=1 -b master https://github.com/getft/packages.git /packages && \
rm -rf /packages/.git && \
make -C /packages/install chamber
Sometimes it's necessary to install some binary dependencies when building projects. For example, we frequently
rely on gomplate
or helm
to build chart packages.
Here's a stub you can include into a Makefile
to make it easier to install binary dependencies.
export PACKAGES_VERSION ?= master
export PACKAGES_PATH ?= packages/
export INSTALL_PATH ?= $(PACKAGES_PATH)/vendor
## Install packages
packages/install:
@if [ ! -d $(PACKAGES_PATH) ]; then \
echo "Installing packages $(PACKAGES_VERSION)..."; \
rm -rf $(PACKAGES_PATH); \
git clone --depth=1 -b $(PACKAGES_VERSION) https://github.com/getft/packages.git $(PACKAGES_PATH); \
rm -rf $(PACKAGES_PATH)/.git; \
fi
## Install package (e.g. gomplate, aws-cli)
packages/install/%: packages/install
@make -C $(PACKAGES_PATH)/install $(subst packages/install/,,$@)
## Uninstall package (e.g. gomplate, aws-cli)
packages/uninstall/%:
@make -C $(PACKAGES_PATH)/uninstall $(subst packages/uninstall/,,$@)
assume-role 0.3.2 Easily assume AWS roles in your terminal.
atlantis 0.4.13 Terraform For Teams
awless 0.1.11 A Mighty CLI for AWS
aws-iam-authenticator 0.4.0 A tool to use AWS IAM credentials to authenticate to a Kubernetes cluster
aws-okta 0.19.4 aws-okta allows users to authenticate with AWS using Okta credentials
aws-vault 4.4.1 A vault for securely storing and accessing AWS credentials in development environments
chamber 2.3.2 CLI for managing secrets
cli53 0.8.12 Command line tool for Amazon Route 53
ctop 0.7.1 Top-like interface for container metrics
direnv 2.18.2 Unclutter your .profile
emailcli 1.0.3 Command line email sending client written in Go.
fargate 0.2.3 CLI for AWS Fargate
fetch 0.3.1 fetch makes it easy to download files, folders, and release assets from a specific git commit, branch, or tag of public andssss
figurine 0.2.2 Print your name in style
fzf 0.18.0 A command-line fuzzy finder
ghr 0.12.0 Upload multiple artifacts to GitHub Releases in parallel
github-commenter 0.5.0 Command line utility for creating GitHub comments on Commits, Pull Request Reviews or Issues
github-release 0.7.2 Commandline app to create and edit releases on Github (and upload artifacts)
github-status-updater 0.2.0 Command line utility for updating GitHub commit statuses and enabling required status checks for pull requests
gitleaks 1.2.0 Audit git repos for secrets 🔑
gomplate 3.1.0 A flexible commandline tool for template rendering. Supports lots of local and remote datasources.
goofys 0.19.0 a high-performance, POSIX-ish Amazon S3 file system written in Go
gosu 1.10 Simple Go-based setuid+setgid+setgroups+exec
gotop 1.5.0 A terminal based graphical activity monitor inspired by gtop and vtop
htmltest 0.10.1 :white_check_mark: Test generated HTML for problems
json2hcl 0.0.6 Convert JSON to HCL, and vice versa
lectl 0.17 Script to check issued certificates by Let's Encrypt on CTL (Certificate Transparency Log) using https://crt.sh
misspell 0.3.4 Correct commonly misspelled English words in source files
packer 1.3.1 Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
pandoc 2.7.2 Universal markup converter
retry 3.3.0 ♻️ Functional mechanism based on channels to perform actions repetitively until successful.
scenery 0.1.4 A Terraform plan output prettifier
shellcheck 0.5.0 ShellCheck, a static analysis tool for shell scripts
shfmt 2.5.1 A shell parser, formatter and interpreter (POSIX/Bash/mksh)
shipspotter 0.1.0 A remote port forwarding tool for accessing services inside Docker containers
slack-notifier 0.1.3 Command line utility to send messages with attachments to Slack channels via Incoming Webhooks
sudosh 0.1.4 Shell wrapper to run a login shell with `sudo` as the current user for the purpose of audit logging
terraform 0.12.2 Terraform is a tool for building, changing, and combining infrastructure safely and efficiently.
terraform-0.11 0.11.14 Terraform is a tool for building, changing, and combining infrastructure safely and efficiently.
terraform-0.12 0.12.2 Terraform is a tool for building, changing, and combining infrastructure safely and efficiently.
terraform-docs 0.4.5 Generate docs from terraform modules
terragrunt 0.19.2 Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules.
terrahelp 0.6.3 Terrahelp is as a command line utility that provides useful tricks like masking of terraform output.
tfenv 0.3.0 Transform environment variables for use with Terraform (e.g. `HOSTNAME` ⇨ `TF_VAR_hostname`)
tfmask 0.2.0 Terraform utility to mask select output from `terraform plan` and `terraform apply`
variant 0.28.0 Variant is a Universal CLI tool that works like a task runner
vegeta 12.5.1 Vegeta is a versatile HTTP load testing tool built out of a need to drill HTTP services with a constant request rate
yq 2.1.1 yq is a portable command-line YAML processor
Please use the issue tracker to report any bugs or file feature requests.
Copyright © 2017-2019 getFT
See LICENSE for full details.
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
![]() Josh Myers |
---|