Skip to content

Monitoring Resources

After submission, it is possible to fetch and monitor the resources requested including applications, service items, change instances, etc.

Applications

Application is, basically, a grouping of Service Items that are related to a specific purpose, usually treated as a single unit for management and oversight. The applications/ list endpoint and list page usually provides some basics statistics of each Application. However, the detail endpoint provides more data related to the Application's Service Items and Changes Instances. The endpoint is read only and Consumers would have no operation on Applications.

GET /v1/orcabase/consumer/applications/ HTTP/1.1
Content-Type: application/json
Authorization: Api-Key <YOUR_API_KEY> or Token <token>

Runtime State

Each Application has a runtime_state field, which provides a summary of the current operational state of the Application based on the state of its associated Service Items. Since an Application is composed of multiple Service Items, the runtime_state reflects the aggregated runtime_state of all these Service Items. The possible values for runtime_state and their meanings are shown in the following table:

runtime_state Description
REQUESTED All of the Application's Service Items are still REQUESTED.
IN_SERVICE At least one of the Application's Service Items has become IN_SERVICE
DECOMMISSIONED All of the Application's Service Items have become DECOMMISSIONED.

Note: By default, the list endpoint filters out the DECOMMISSIONED Applications. Unless, the user requests them by sending the following HTTP request filter param: /?runtime_state=DECOMMISSIONED

Change State

Each Service Item has a change_state field that summarizes the state of all associated Change Instances. For an Application, the change_state field works similarly, but it represents the aggregated state of all Change Instances across the Service Items that make up the Application. In this way, the Application's change_state provides a high-level view of all the ongoing changes across its Service Items. The following table outlines all possible values for change_state and their meanings:

change_state Description
ALL_CHANGES_COMPLETED As the name suggests, all Change Instances are completed.
CHANGES_ERRORED There is at least one errored Change Instance.
CHANGES_REJECTED There is no errored Change Instance. But, at least one is rejected.
CHANGES_PENDING There is no errored or rejected Change Instance. But, at least one is pending.
CHANGES_APPROVED There is no errored, rejected, or pending Change Instance. But, at least one is approved and awaiting to be completed.

Service Items

A Service Item is a single instance of a Service as requested by a Consumer. After Submission, Consumers can access their Service Items using the following ways. This endpoint is also read_only.

GET /v1/orcabase/consumer/service_items/ HTTP/1.1
Content-Type: application/json
Authorization: Api-Key <YOUR_API_KEY> or Token <token>

Runtime State

The runtime_state of a Service Item represents its current operational state. This field shows whether the Service Item is still in the process of being set up, actively running, or has been decommissioned. The table below shows all values of runtime_state and their meanings:

runtime_state Description
REQUESTED The new Service Item is requested by the Consumer. CREATE Change Instance(s) are generated, and they are in PENDING state, meaning that the Service Owner(s) have approved or processed yet.
IN_SERVICE At least one of the new Service Item's CREATE Change Instances has become APPROVED or COMPLETED.
DECOMMISSIONED The Service Item is removed from the Consumer's declaration, and the DELETE Change Instance(s) are either APPROVED or COMPLETED.

Change State

Each Service Item has a change_state field that aggregates the state of all associated Change Instances. All possible values for change_state are:

change_state Description
ALL_CHANGES_COMPLETED As the name suggests, all Change Instances are completed.
CHANGES_ERRORED There is at least one errored Change Instance.
CHANGES_REJECTED There is no errored Change Instance. But, at least one is rejected.
CHANGES_PENDING There is no errored or rejected Change Instance. But, at least one is pending.
CHANGES_APPROVED There is no errored, rejected, or pending Change Instance. But, at least one is approved and awaiting to be completed.

Change Instances

Similarly, consumers can access details of their Change Instances using the following methods:

GET /v1/orcabase/consumer/change_instances/ HTTP/1.1
Content-Type: application/json
Authorization: Api-Key <YOUR_API_KEY> or Token <token>

When a Consumer submits a new declaration, NetOrca creates Change Instances based on the differences from the previous declaration. Then, The Service Owners process who receive these Change Instances, will process and update the state of each Change Instance. Here is a list of Change Instance object's fields:

  • state
  • change_type
  • owner
  • service_owner_team
  • consumer_team
  • service_item
  • submission
  • new_declaration
  • log

They can also provide some note on log key value in response.

graph LR
    1[PENDING] --> 2[APPROVED]
    1 --> 3([REJECTED])
    2 --> 4[COMPLETED]
    2 --> 5([ERRORED])
    3 --> 6([CLOSED])
    5 --> 6([CLOSED])

Submissions

Consumers can track all of their submissions with the declaration sent and the list of Change Instances generated for each submission in one place:

GET /v1/orcabase/consumer/submissions/ HTTP/1.1
Content-Type: application/json
Authorization: Api-Key <YOUR_API_KEY> or Token <token>

When a declaration is submitted via a Git CI/CD script using NetOrca's SDK, the commit ID is included and can be viewed on the submission list page. Like Service Item and Application, Submission objects also have change_state field with the similar values and meanings.

Charges

Consumers may be charged for requesting from the services which have defined charges in their schema. In that case, they can access the charges using

GET /v1/app_marketplace/consumer/charges/ HTTP/1.1
Content-Type: application/json
Authorization: Token <token>


Healthcheck

Please visit healthcheck page