zyvoq
v0.1.8
Published
Zyvoq multi-cloud SDK and CLI
Readme
Zyvoq
Zyvoq is a multi-cloud SDK and CLI for AWS, GCP, and Azure.
Install
pnpm install
pnpm buildSDK usage
import { createZyvoq } from "zyvoq";
const sdk = createZyvoq({
aws: { profile: "default", region: "us-east-1" },
gcp: { serviceAccountKeyFile: "./gcp.json", projectId: "my-project", zone: "us-central1-a" },
azure: { credentialsFile: "./azure.json", subscriptionId: "sub-123", location: "eastus" }
});
await sdk.aws?.compute.launchInstance({ instanceType: "t3.micro" });
await sdk.aws?.compute.describeInstances({ maxResults: 5 });
await sdk.aws?.loadbalancer.createALB({
name: "api-alb-1",
subnets: ["subnet-123", "subnet-456"],
securityGroupIds: ["sg-123"]
});
await sdk.gcp?.network.createSubnet({
name: "app-subnet",
ipCidrRange: "10.10.0.0/24",
network: "default"
});Provider imports
import { createAws } from "zyvoq/aws";
import { createGcp } from "zyvoq/gcp";
import { createAzure } from "zyvoq/azure";
import { deleteMultiCloudResources } from "zyvoq/bulk";Current feature highlights
- AWS compute:
launchInstance,deleteInstance,describeInstances - AWS load balancer:
createALB,createNLB,createTargetGroup,deleteTargetGroup,deleteLoadBalancer - GCP compute:
launchInstance,deleteInstance,describeInstances - GCP network:
createSubnet,deleteSubnet - Azure compute:
launchInstance - Bulk deletion:
deleteMultiCloudResources
CLI
zyvoq aws compute launch --instance-type t3.micro
zyvoq gcp compute launch --machine-type e2-medium
zyvoq azure compute launch --size Standard_B1sCredential priority
Credential resolution depends on the provider:
- AWS and Azure resolve runtime credentials before file-based credentials.
- GCP resolves
serviceAccountKeyFilefirst, then runtime credentials.
All providers also support provider-specific environment variables and default file locations.
Bulk deletion input
Bulk deletion uses a webhook URL that returns deletion instructions and receives the final status update.
See docs/bulk.md for the exact payload shape and credential file format.
