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.

    1. 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:

    1. {
    2. "user": {
    3. "createTime": "0001-01-01T00:00:00Z",
    4. "lastLoginTime": "0001-01-01T00:00:00Z",
    5. "name": "admin",
    6. "email": "barnett.zqg@gmail.com",
    7. "disabled": false
    8. },
    9. "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZ3JhbnRUeXBlIjoiYWNjZXNzIiwiZXhwIjoxNjU2NTE0ODcyLCJpc3MiOiJ2ZWxhLWlzc3VlciIsIm5iZiI6MTY1NjUxMTI3Mn0.IqRWglW5cYMn8KJcbkoG55os9g-YTo_9UWFvbpZBKiY",
    10. "refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZ3JhbnRUeXBlIjoicmVmcmVzaCIsImV4cCI6MTY1NjU5NzY3MiwiaXNzIjoidmVsYS1pc3N1ZXIiLCJuYmYiOjE2NTY1MTEyNzJ9.mUjXj1BQ2c3MaVyYnMYefgH2g8Y-swgjyCAzH-GbZu8"
    11. }
    • 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:

    1. {
    2. "name": "first-vela-app",
    3. "alias": "Demo App",
    4. "project": {
    5. "alias": "Default",
    6. "description": "Default project is created by velaux system automatically.",
    7. "createTime": "2022-06-24T14:41:42.237565+08:00",
    8. "owner": {
    9. "name": "admin",
    10. "alias": "Administrator"
    11. }
    12. },
    13. "description": "",
    14. "createTime": "2022-06-29T22:18:53.699216+08:00",
    15. "updateTime": "2022-06-29T22:18:53.699217+08:00",
    16. "icon": ""
    17. }
    • Deploy an application
    1. 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
    1. curl -H "Authorization: Bearer <accessToken>" -G \
    2. "http://127.0.0.1:8000/api/v1/query" \
    3. --data-urlencode 'velaql=component-pod-view{appNs=default,appName=first-vela-app}.status'

    The expected output should be like this:

    1. {
    2. "podList": [
    3. {
    4. "cluster": "local",
    5. "component": "express-server",
    6. "metadata": {
    7. "name": "express-server-6f58ff895b-4gqvs",
    8. "version": {
    9. "deployVersion": "20220629222425586",
    10. "publishVersion": "workflow-default-20220629222425602"
    11. }
    12. },
    13. "status": {
    14. "hostIP": "172.18.0.2",
    15. "nodeName": "cloudshell-control-plane",
    16. "phase": "Running",
    17. "podIP": "10.244.0.25"
    18. },
    19. "workload": {
    20. "apiVersion": "apps/v1",
    21. "kind": "Deployment",
    22. "name": "express-server",
    23. "namespace": "default"
    24. }
    25. }
    26. ]
    27. }

    The expected output should be like this:

    1. {
    2. "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZ3JhbnRUeXBlIjoiYWNjZXNzIiwiZXhwIjoxNjU2NTE2OTExLCJpc3MiOiJ2ZWxhLWlzc3VlciIsIm5iZiI6MTY1NjUxMzMxMX0.zsUW_ME5mxTQxP-UFxQa4F8QDI-69RWpcfIFkn_WFSg",
    3. }

    API Document

    Refer to

    Refer to