Cli used to manage Apache Flink® Jobs installed as Ververica Plataform® Deployments through the Application Manager API.
NOTE: This tool currently only supports Jar Deployments.
- Delete Deployments
- Declarative way of applying changes on Deployments
- Jar upload to the Managed Artifact Storage (maximum of 50MB) and automatic reference when applying changes
- Drift detection before applying changes
- Automatic old artifacts purge
- Dry run mode
- Automatic Deployment Target creation and reference on the deployment
- Reference Deployment Target by name (and not by ID)
- Synchronous interactions with the API (waiting for the desired state transition)
- Automatic self-heal a Deployment by cancelling it when the current state is
FAILED
- Automatic performs a health-check on the deployment after the update/create actions
- Automatic rollback of a Deployment to its previous state (when updating) if the health-check failed or the deployment operation itself failed
- Dumps the installed Deployment json to a file
python -m pip install git+https://github.com/3bit-techs/vvpctl.git
Recommended Python version: 3.7+
python -m pip uninstall vvpctl
Example usage:
vvpctl --server ${VERVERICA_HOST} --apply --file ${PROJECT_NAME}-${GIT_BRANCH}.json --upload ${JAR_FILE} --output target/${PROJECT_NAME}-${GIT_BRANCH}.json --purge --rollback --dry-run
Getting help:
vvpctl -h
Example help:
usage: vvpctl [-h] -f FILE -s SERVER [-n NAMESPACE] [-t DEPLOYMENT_TARGET]
[-a] [-d] [-u UPLOAD] [--purge]
[--keep-artifacts KEEP_ARTIFACTS] [-r] [-c]
[--health-check-time HEALTH_CHECK_TIME] [--timeout TIMEOUT]
[-o OUTPUT] [--log-level LOG_LEVEL] [--dry-run]
Ververica Platform Cli, used to interact with the Application Manager API
optional arguments:
-h, --help show this help message and exit
-f FILE, --file FILE The deployment file
-s SERVER, --server SERVER
The ververica platform server address. E.g:
http://localhost:8080
-n NAMESPACE, --namespace NAMESPACE
The ververica platform namespace. Note: This feature
is only available in Ververica Platform Stream Edition
and above
-t DEPLOYMENT_TARGET, --deployment-target DEPLOYMENT_TARGET
The Deployment target, which corresponds to different
Kubernetes namespaces in the same Kubernetes cluster.
If the deployment target doesn't exists the cli will
attempt to create one
-a, --apply Apply a configuration to a deployment
-d, --delete Delete a deployment
-u UPLOAD, --upload UPLOAD
Must be used in conjunction with apply, uploads a file
to Ververica Platform Artifact Storage (maximum of
50MB) and update the deployment with the uploaded file
location
--purge Used in conjunction with upload, purge old artifacts
from artifact storage
--keep-artifacts KEEP_ARTIFACTS
Used in conjunction with purge, specify how many
artifacts to keep (from oldest to newest)
-r, --rollback Must be used in conjunction with apply, rollback a
deployment to its previous state if the update action
failed
-c, --health-check Performs a health check on the deployment after the
update/create action
--health-check-time HEALTH_CHECK_TIME
Used in conjunction with health-check, the length of
time in seconds to wait before checking the deployment
for a Failing Status
--timeout TIMEOUT The length of time in seconds to wait before giving up
on waiting for a deployment to transition to its
desired state
-o OUTPUT, --output OUTPUT
Must be used in conjunction with apply, output the
actual installed deployment file to disk
--log-level LOG_LEVEL
The log level (verbosity), from logging library
--dry-run Only simulate actions without submit the request