import requests
API_KEY = "rbtk_xxx"
BASE = "https://api.roboticks.io/api/v1"
ORG = "acme"
PROJECT = "warehouse"
headers = {"Authorization": f"Bearer {API_KEY}"}
# Upload capsule
with open("build.tar.gz", "rb") as f:
response = requests.post(
f"{BASE}/organizations/{ORG}/projects/{PROJECT}/capsules",
headers=headers,
files={"file": f},
data={"name": "my-module", "version": "1.0.0"}
)
capsule = response.json()
# Create package
package = requests.post(
f"{BASE}/organizations/{ORG}/projects/{PROJECT}/packages",
headers=headers,
json={
"name": f"release-{capsule['version']}",
"capsule_ids": [capsule["id"]]
}
).json()
# Create and start rollout
rollout = requests.post(
f"{BASE}/organizations/{ORG}/projects/{PROJECT}/rollouts",
headers=headers,
json={
"package_id": package["id"],
"group_id": 5,
"strategy": "rolling",
"auto_start": True
}
).json()
print(f"Rollout {rollout['id']} started")