Tips and Troubleshooting
Warning
This content is part of the legacy version of Waypoint that is no longer actively maintained. For additional information on the new vision of Waypoint, check out this blog post and the HCP Waypoint documentation.
Remove the Waypoint Server
The Waypoint Server creates several resources in Docker and Kubernetes that should be removed to either reinstall Waypoint or to completely remove it from a system.
Run waypoint destroy
on your workspaces prior to removing the server to prevent hanging resources.
Uninstall
Starting in 0.2.1, the server uninstall
command will remove the server and supporting
containers and services that are created via install
. By default, it also creates
a snapshot and deletes the server context.
For Docker, uninstall
removes the Waypoint server-specific volumes, but refrains from
doing a global volume prune. If you created deployments with Waypoint, there will likely
be volumes left over from those deployments. You can remove these volumes individually,
or globally via:
If the uninstall fails, see below for manual removal.
Manual removal
Waypoint Server in Docker
Ensure that you have the latest hashicorp/waypoint
Docker image.
waypoint install
for Docker creates a container and a volume. These resources should be removed when Waypoint Server is no longer needed. These are some example docker
commands that should clean up after a Waypoint Server installation.
Waypoint Server in Kubernetes
waypoint install
for Kubernetes installs the Waypoint Helm chart to your Kubernetes cluster.
To delete the resources created by the Helm chart installation, the commands below will help with
the cleanup of the server and static runner:
Pack Builder No Such Image
If the pack
builder exits during build with an error similar to:
You may need to remove the Docker volumes that are responsible for storing cached images for pack.
Locate the volumes named starting with pack-cache-
and remove them with docker volume rm
.
Remote Operations Failure
If your Waypoint operation fails, task introspection can help troubleshoot the issue. Logs from the on-demand runner may not be readily available from the platform in which the runners are launched, and task introspection can get the information needed to troubleshoot.
In the example below, after a build failure, waypoint task inspect
was used
with the task ID. The Run Job results show that there was an error with the Docker
plugin which required arguments which were missing:
Investigating Deployed Applications
Waypoint includes several commands to support debugging and monitoring while developing your application.
Exec Into the Application Container
After deploying your application, you can use waypoint exec
to run
commands in the context of the most recent deployment. Typically, waypoint exec
will be used for running database migrations and debugging. However, you
can use it for any purpose.
Use the exec
command to open a shell prompt.
Since you are in the deployment directory, you will observe that Waypoint automatically executes against the currently deployed application.
From within the Docker container, validate that this is the actual application
by listing out the directory hosting the application's compiled files. For example, if you used the pack
builder this directory will be /workspace
.
You should observe an output that contains the file structure for the current deployment.
List the processes that are running in the container.
Type exit
to leave the interactive Docker session.
View Waypoint Application and Entrypoint Logs
In the application's directory, run the logs
command to observe the running
logs for your deployment. This will include logs from the
entrypoint if it is in use.
You will observe output similar to the following. These logs are from the existing deployment.
Press Ctrl-C
to exit the logs
command.
You may increase the verbosity of entrypoint logs by setting the
WAYPOINT_LOG_LEVEL
environment variable. See the documentation on
entrypoint logs for more information.
Access the Waypoint web UI
The Waypoint server includes a web-based user interface that you can use to view builds, deployments, and releases for projects and applications.
The web UI requires authentication. Run a single command to automatically open the browser and authenticate your session. This command will work if a graphical web browser is available on the machine where the command is being run.
NOTE: Waypoint currently uses self-signed certificates for TLS. Your web browser will require you to bypass a certificate warning to use the UI.
Review the application metadata and associated operations and logs in the browser.