README
¶
Waypoint
- Website: https://www.waypointproject.io
- Tutorials: HashiCorp Developer
- Forum: Discuss
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
- 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 quick start guide is available on HashiCorp Developer. You can also find tutorials which cover topics ranging from getting started guides to more advanced usage.
- Getting Started
- Introduction
- Installation
- Docker
- Kubernetes
- Nomad
- Waypoint UI
- AWS ECS
- Azure Container Instance
- Google Cloud Run
Documentation
Full, comprehensive documentation is available on HashiCorp Developer:
https://developer.hashicorp.com/waypoint/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/lambda
Package lambda contains components for deploying to AWS Lambda
|
Package lambda contains components for deploying to AWS Lambda |
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. |
consul
Package consul contains components for syncing app configuration with Consul.
|
Package consul contains components for syncing app configuration with Consul. |
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. |
null
Package null contains components that do [almost] nothing, primarily aimed to ease experimentation and testing with Waypoint.
|
Package null contains components that do [almost] nothing, primarily aimed to ease experimentation and testing with Waypoint. |
tfc
Package tfc contains components for syncing outputs of states from Terraform Cloud
|
Package tfc contains components for syncing outputs of states from Terraform Cloud |
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
|
|
Package pkg exposes waypoint functionality that may be required by other projects.
|
Package pkg exposes waypoint functionality that may be required by other projects. |
auth/oidc
Package oidc contains helpers for implementing OIDC-based auth for Waypoint servers and headless clients.
|
Package oidc contains helpers for implementing OIDC-based auth for Waypoint servers and headless clients. |
nullify
Package nullify takes any structure as input and nullifies any matching pointer types as registered on the nullifier.
|
Package nullify takes any structure as input and nullifies any matching pointer types as registered on the nullifier. |
server/gen
Package gen is a reverse proxy.
|
Package gen is a reverse proxy. |
server/grpcmetadata
Package grpcmetadata contains functions for reading and writing waypoint specific metadata to contexts, which is transmitted by RPC calls.
|
Package grpcmetadata contains functions for reading and writing waypoint specific metadata to contexts, which is transmitted by RPC calls. |
server/hcerr
Package hcerr contains helpers to format and sanitize errors before returning them to clients as grpc status errors.
|
Package hcerr contains helpers to format and sanitize errors before returning them to clients as grpc status errors. |
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. |
serverclient
Package serverclient contains helpers for the server API client.
|
Package serverclient contains helpers for the server API client. |
serverhandler
Package serverstate exports the verification harness for implementing a new waypoint server protobuf (i.e.
|
Package serverstate exports the verification harness for implementing a new waypoint server protobuf (i.e. |
serverstate
Package serverstate exports the interface and verification harness for implementing a new state storage backend for the server.
|
Package serverstate exports the interface and verification harness for implementing a new state storage backend for the server. |
test-apps
|
|
aci
Module
|
|
tools
|
|
x
|
|