
Security News
/Research
Wallet-Draining npm Package Impersonates Nodemailer to Hijack Crypto Transactions
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
@tdalabs/gsdk-deploy
Advanced tools
Google Cloud deployment script for kubernetes clusters using Global Load Balancer
This tool provides an automated deployment in your Google Cloud project using a combination of Docker, Kubernetes, Cloud Endpoints, Global Load Balancer, etc. It's intended for high-availablity deployments across Google Cloud regions while providing the simplicity of Google AppEngine deployment.
A configuration file (yaml/json) is required to provide a minimum amount of information needed to deploy your image.
Each build type/configuration is represented by a root object. That object describes the parameters required to deploy
the service. Environment expansion is available in the following forms: $PLAIN
, $(PLAIN)
, ${PLAIN}
; however, this
can make it more difficult to run locally. You should prefer specifying the values under one build name and include that
in the other builds via the extends
entry.
# =============================================================================
# = Deployment configuration
# =============================================================================
"dev":
"name": "$(SERVICE_NAME)-$(BRANCH)"
"google-project": "$GCLOUD_PROJECT"
"host": "$(SERVICE_NAME)-$(BRANCH).example.com"
"api-config": ["./service.pb", "./api_config.yaml"]
"env":
- name: NODE_ENV
value: "$BRANCH"
- name: "ENDPOINT_NAME"
- name: "ENDPOINT_VERSION"
"replicas": 2
"clusters":
- "us-central1-a"
"prod":
"extends": "dev"
"clusters":
- "us-central1-a"
- "us-east4-c"
- "us-west1-c"
# =============================================================================
google-project
- The Google Cloud Project you will be deploying to.name
- The name of the Kubernetes service to usehost
- The hostname you will directapi-config
- An array of file names that describes your api (open-api or grpc)clusters
- An array of Kubernetes cluster names to use. These should either already exist, or simply include
the desired regional zone name anywhere in the text. Missing clusters will be created.extends
- Copy all settings from another build configuration.port
- default = 8080
The port number your container service listens on, defined as NODE_PORT
inside the container.env
- A list of {name,value}
pairs to use for the docker image, alternatively specify only a name to copy from current environment.replicas
- The number of pods you want to run in each region, usually 2 or more.nodePort
- A port number in the range of 30000-32767 that should be unique to the service. One will be generated from the name if not specified.livenessProbe
- default = "/_ah/health"
The path of your service's health check.readinessProbe
- default = "/_ah/health?isReady=true"
The path of your service's ready check.There are other options available that can be discovered by the following command:
gsdk-deploy -branch=dev test-config
openssl req -x509 -nodes -days 1825 -newkey rsa:2048 \
-subj /C=US/ST=Delaware/L=Dover/O=ops/OU=dev/CN=example.org \
-keyout _path_ -out _path_
Basic command-line tool invocation:
sudo npm install -g @vroomlabs/gsdk-deploy
gsdk-deploy [command-name] -build=[build-name] (-arg=value ...)
Alternatively you can run as a local dev-package:
npm install @vroomlabs/gsdk-deploy --save-dev
./node_modules/.bin/gsdk-deploy [command-name] -build=[build-name] (-arg=value ...)
gsdk-deploy full-deploy --build=dev --image=user/build
test-config
- Light check on configurationfull-deploy
- Normal full deployment, create clusters, networks, etc
*optional (user/build) -image=[local docker tag name]
list-images
- Display the list of docker tags from related repokube-images
- Display the images running in kube for each clusterkube-history
- Display kube rollout history for each clusterskube-status
- Display the current rollout status for each clusterkube-rollback
- Perform a kube rollback for each clusterdeploy-api
- Deploy only the Google Endpoints API configurationdeploy-tag
- Update to a specific docker image tag name in each cluster
*required -tag=[docker tag name from repo]
deploy-image
- Update to a specific docker image uri in each cluster
*required -image=[full uri and tag]
remove-deployment
- Removes kubernetes deployment and load balancer-branch=[name]
- REQUIRED: name of config section from configuration file-config=[path]
- Relative path to a yaml configuration file-image=[name]
- default = user/build
, specifies a docker image locally or remote-auth-env=[name]
- The name of an environment variable with base64 json auth-auth-file=[path]
- Relative path to json authentication file-artifacts=[path]
- Relative path to an existing directory to store artifacts-log=[level]
- Specifies log console level (warn,info,debug,verbose,silly)Arguments may be specified with one or two dash prefixes -
following the name and either :
or =
to separate the value.
GCLOUD_COMMAND
, DOCKER_COMMAND
, and KUBECTL_COMMAND
will control the command-line to these commands.
for example: export GCLOUD_COMMAND=sudo /opt/gsdk/gcloud
AUTO_UPDATE_SDK
set to true
to auto-upgrade gcloud sdkBRANCH
- value of the -branch= argumentENDPOINT_NAME
- value of the endpoints api nameENDPOINT_VERSION
- value of the endpoints api versionARTIFACTS
- folder for build artifacts and log filesBUILD_TIME
- full build timestamp in yyyy-MM-ddThh-mm-ss-sssZSERVICE_NAME
- the name of the service from deploy.yamlGCLOUD_PROJECT
- the name of the google project from deploy.yamlHOSTNAME
- the host value from the deploy.yaml fileNODE_PORT
- the configured or generated port for the kube serviceFor those of you using CircleCI, here is a basic setup:
GCLOUD_SERVICE_KEY
environment variable.deploy.yaml
configuration file in your root directory.dependencies:
pre:
- "npm install -g @vroomlabs/gsdk-deploy"
compile:
override:
- docker build -t user/build .
deployment:
develop:
branch: [develop]
commands:
- "gsdk-deploy full-deploy -auth-env:GCLOUD_SERVICE_KEY_DEV -image:user/build -branch:dev"
FAQs
Google Cloud deployment script for kubernetes clusters using Global Load Balancer
The npm package @tdalabs/gsdk-deploy receives a total of 2 weekly downloads. As such, @tdalabs/gsdk-deploy popularity was classified as not popular.
We found that @tdalabs/gsdk-deploy demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.