waypoint

module
v0.2.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 23, 2021 License: MPL-2.0

README

Image


Waypoint

Waypoint allows developers to define their application build, deploy, and release lifecycle as code, reducing the time to deliver deployments through a consistent and repeatable workflow.

Waypoint supports a number of build methods and target platforms out of the box and more can be easily added via plugins:

  • Cloud Native Buildpacks
  • Docker
  • Kubernetes
  • AWS EC2 and ECS
  • Azure Container Instances
  • Google Cloud Run
  • Netlify
  • And many more...

Waypoint runs on Linux, Mac OS X, and Windows.

Please note: We take Waypoint's security and our users' trust very seriously. If you believe you have found a security issue in Waypoint, please responsibly disclose by contacting us at security@hashicorp.com.

Quick Start

A few quick start guides are available on the Waypoint website and on HashiCorp Learn:

Documentation

Full, comprehensive documentation is available on the Waypoint website:

https://www.waypointproject.io/docs

Contributing

Thank you for your interest in contributing! Please refer to CONTRIBUTING.md for guidance.

Installing Dependencies

This repository contains a couple of different ways to automate installing the required Golang packages needed to build Waypoint locally. You can either use NixOS, or run make tools to setup the required packages.

Running the unit tests

To run the entire test suite, you'll want to ensure that you've brought up all the required containers used for testing. You can do this by leveraging the existing docker-compose.yml file that's in the root directory of this project:

$ docker-compose up

After running this, you should have a local Horizon container along with a few other services needed for running the tests:

$ make test
Running individual tests

If you don't want to run the entire test suite, you can just run a singe test with go. For example, if you wanted to run the tests ListInstances, you would run:

$ go test -run ListInstances -v ./internal/server/singleprocess

Directories

Path Synopsis
builtin
aws/ssm
Package ssm contains components for syncing configuration with AWS SSM.
Package ssm contains components for syncing configuration with AWS SSM.
azure/aci
Package aci contains components for deploying to Azure ACI.
Package aci contains components for deploying to Azure ACI.
files
Package files contains a component for validating local files.
Package files contains a component for validating local files.
google/cloudrun
Package cloudrun contains components for deploying to Google Cloud Run.
Package cloudrun contains components for deploying to Google Cloud Run.
k8s
Package k8s contains components for deploying to Kubernetes.
Package k8s contains components for deploying to Kubernetes.
netlify
Package netlify contains components for deploying to Netlify.
Package netlify contains components for deploying to Netlify.
vault
Package vault contains components for syncing secrets with Vault.
Package vault contains components for syncing secrets with Vault.
vault/freeport
Package freeport provides a helper for allocating free ports across multiple processes on the same machine.
Package freeport provides a helper for allocating free ports across multiple processes on the same machine.
vault/testvault
Package testvault contains helpers for working with Vault in a test environment.
Package testvault contains helpers for working with Vault in a test environment.
cmd
internal
ceb
Package ceb contains the core logic for the custom entrypoint binary ("ceb").
Package ceb contains the core logic for the custom entrypoint binary ("ceb").
cli
client
Package client contains the Waypoint client implementation.
Package client contains the Waypoint client implementation.
clisnapshot
Package clisnapshot provides access for our CLI commands to create and restore snapshots
Package clisnapshot provides access for our CLI commands to create and restore snapshots
core
Package core exposes a high-level API for the expected operations of the project.
Package core exposes a high-level API for the expected operations of the project.
datasource
Package datasource has the packages and logic that Waypoint uses for sourcing data for remote runs.
Package datasource has the packages and logic that Waypoint uses for sourcing data for remote runs.
factory
Package factory contains a "factory" pattern based on argmapper.
Package factory contains a "factory" pattern based on argmapper.
pkg/circbufsync
Package circbufsync wraps armon/circbuf to be safe for concurrent read/write operations.
Package circbufsync wraps armon/circbuf to be safe for concurrent read/write operations.
pkg/ctystructure
Package crystructure helps convert map[string]interface{} values to cty.Values.
Package crystructure helps convert map[string]interface{} values to cty.Values.
pkg/finalcontext
Package finalcontext is used by Waypoint to create a "final" context that we'll use after the real context has been cancelled.
Package finalcontext is used by Waypoint to create a "final" context that we'll use after the real context has been cancelled.
pkg/flag
Package flag is a thin layer over the stdlib flag package that provides some minimal features such as aliasing, autocompletion handling, improved defaults, etc.
Package flag is a thin layer over the stdlib flag package that provides some minimal features such as aliasing, autocompletion handling, improved defaults, etc.
pkg/iosync
Package iosync provides reader/writer implementations that wrap operations in a mutex so that concurrent reads and writes are safe.
Package iosync provides reader/writer implementations that wrap operations in a mutex so that concurrent reads and writes are safe.
pkg/spinner
Package spinner is a simple package to add a spinner / progress indicator to any terminal application.
Package spinner is a simple package to add a spinner / progress indicator to any terminal application.
pkg/spinner/_example
Example application that uses all of the available API options.
Example application that uses all of the available API options.
plugin
Package plugin has the functions necessary for discovering and launching plugins.
Package plugin has the functions necessary for discovering and launching plugins.
server/component
Package component has component implementations for the various resulting types.
Package component has component implementations for the various resulting types.
server/logbuffer
Package logbuffer provides a structure and API for efficiently reading and writing logs that may be streamed to a server.
Package logbuffer provides a structure and API for efficiently reading and writing logs that may be streamed to a server.
server/singleprocess/state
Package state manages the state that the singleprocess server has, providing operations to mutate that state safely as needed.
Package state manages the state that the singleprocess server has, providing operations to mutate that state safely as needed.
serverclient
Package serverclient contains helpers for the server API client.
Package serverclient contains helpers for the server API client.
test-apps
aci Module
tools
x

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL