VelaUX OpenAPI
VelaUX has introduced Json Web Token for authorization. As a result, you need to call the login API to complete the authentication and get the token. The following example is with the default admin account.
curl -H Content-Type:application/json -X POST -d '{"username": "admin", "password":"VelaUX12345"}' http://127.0.0.1:8000/api/v1/auth/login
The expected output should be like this:
{
"user": {
"createTime": "0001-01-01T00:00:00Z",
"lastLoginTime": "0001-01-01T00:00:00Z",
"name": "admin",
"email": "barnett.zqg@gmail.com",
"disabled": false
},
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZ3JhbnRUeXBlIjoiYWNjZXNzIiwiZXhwIjoxNjU2NTE0ODcyLCJpc3MiOiJ2ZWxhLWlzc3VlciIsIm5iZiI6MTY1NjUxMTI3Mn0.IqRWglW5cYMn8KJcbkoG55os9g-YTo_9UWFvbpZBKiY",
"refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZ3JhbnRUeXBlIjoicmVmcmVzaCIsImV4cCI6MTY1NjU5NzY3MiwiaXNzIjoidmVsYS1pc3N1ZXIiLCJuYmYiOjE2NTY1MTEyNzJ9.mUjXj1BQ2c3MaVyYnMYefgH2g8Y-swgjyCAzH-GbZu8"
}
- accessToken: This is the token to request other APIs, which will expire in an hour.
- refreshToken: This is the token to refresh the access token.
- Create an application
The expected output should be like this:
{
"name": "first-vela-app",
"alias": "Demo App",
"project": {
"alias": "Default",
"description": "Default project is created by velaux system automatically.",
"createTime": "2022-06-24T14:41:42.237565+08:00",
"owner": {
"name": "admin",
"alias": "Administrator"
}
},
"description": "",
"createTime": "2022-06-29T22:18:53.699216+08:00",
"updateTime": "2022-06-29T22:18:53.699217+08:00",
"icon": ""
}
- Deploy an application
curl -H Content-Type:application/json -H "Authorization: Bearer <accessToken>" -X POST -d '{"workflowName":"workflow-default","triggerType":"api"}' http://127.0.0.1:8000/api/v1/applications/first-vela-app/deploy
The expected output should be like this:
- Using VelaQL to Query the application pod list
curl -H "Authorization: Bearer <accessToken>" -G \
"http://127.0.0.1:8000/api/v1/query" \
--data-urlencode 'velaql=component-pod-view{appNs=default,appName=first-vela-app}.status'
The expected output should be like this:
{
"podList": [
{
"cluster": "local",
"component": "express-server",
"metadata": {
"name": "express-server-6f58ff895b-4gqvs",
"version": {
"deployVersion": "20220629222425586",
"publishVersion": "workflow-default-20220629222425602"
}
},
"status": {
"hostIP": "172.18.0.2",
"nodeName": "cloudshell-control-plane",
"phase": "Running",
"podIP": "10.244.0.25"
},
"workload": {
"apiVersion": "apps/v1",
"kind": "Deployment",
"name": "express-server",
"namespace": "default"
}
}
]
}
The expected output should be like this:
{
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZ3JhbnRUeXBlIjoiYWNjZXNzIiwiZXhwIjoxNjU2NTE2OTExLCJpc3MiOiJ2ZWxhLWlzc3VlciIsIm5iZiI6MTY1NjUxMzMxMX0.zsUW_ME5mxTQxP-UFxQa4F8QDI-69RWpcfIFkn_WFSg",
}
API Document
Refer to
Refer to