Shared Targets
Shipyard ships a Makefile.inc file which defines these basic targets:
- clusters: Creates the kind-based cluster environment.
- deploy : Deploys Submariner components in the cluster environment (depends on clusters).
- e2e : Runs end to end tests on top of the deployed environment (deploying it if necessary).
- clean-clusters: Deletes the kind environment (if it exists) and any residual resources.
- clean-generated: Deletes all generated files.
- clean: Cleans everything up (running clusters and generated files).
If your project uses Shipyard then it has all these targets and supports all the variables these targets support.
Any variables supported by these targets can be assigned on the make command line.
Global Variables
Many targets support variables that influence how each target behaves.
Highlighted Variables
SETTINGS: Settings file that specifies a topology for deployment.PROVIDER: Cloud provider for the infrastructure (defaults tokind).GOLBALNET: When true, deploys the clusters with overlapping IPs (defaults tofalse).DEBUG_PRINT: When true, outputs debug information for Shipyard’s scripts (defaults totrue).
Clusters
Creates a kind-based multi-cluster environment with just the default Kubernetes deployment:
make clusters
Highlighted Variables for Clusters
- Any variable from the global variables list.
K8S_VERSION: Determines the Kubernetes version that gets deployed (defaults to1.24).
Deploy
Deploys Submariner components in a kind-based cluster environment (if one isn’t created yet, this target will first invoke the clusters
target to do so):
make deploy
Highlighted Variables for Deploy
- Any variable from the global variables list.
- Any variable from clusters target (only if it wasn’t created).
CABLE_DRIVER: The cable driver used by Submariner (defaults tolibreswan).DEPLOYTOOL: The tool used to deploy Submariner itself (defaults tooperator).LIGHTHOUSE: Deploys Lighthouse in addition to the basic Submariner deployment (defaults tofalse).
E2E (End to End)
Runs end to end testing on the deployed environment (if one isn’t created yet, this target will first invoke the deploy target to do so).
The tests are taken from the project, unless it has no specific end to end tests, in which case generic testing using subctl verify is
run.
make e2e
Highlighted Variables for E2E
- Any variable from the global variables list.
- Any variable from deploy target (only if it wasn’t created).
Clean-clusters
To clean up all the kind clusters deployed in any of the previous steps, use:
make clean-clusters
This command will remove the clusters and any resources that might’ve been left in docker that are not needed any more (images, volumes, etc).
Clean-generated
To clean up all generated files, use:
make clean-generated
This will remove any file which can be re-generated and doesn’t need to be tracked.
Clean
To clean everything up, use:
make clean
This removes any running clusters and all generated files.