Get Secret YAML Using Service Account Configured in AppViewX

This API is used to generate a Kubernetes Secret YAML file using the service account configured in AppViewX.

Request Structure

Endpoint: /kube-service-auth-secret
Type: POST
Sample URL: https://<IP/HostName/TenantName>:<GWPORT>/avxapi/kube-service-auth-secret?gwsource=external

To understand the elements of the sample URL, click here.

Headers:
Content-Type: application/json
Table 1. Input Parameter
Name Description
sessionId

Header

(Mandatory) A unique identifier assigned to a user's session upon successful authentication. The session ID remains valid until it expires, and it can contain alphanumeric characters.

Type: String

Constraints: The session ID is used when username and password are not provided.

Example: A1B2c3d4E5F6

gwsource

Query

(Mandatory) Source from which the request is triggered.

Type: String

Example: DataCenterA

payload

Body

(Mandatory) Input data for request body in application/json format. For payload details, see Payload section.

Payload

Table 2. Input Parameter
Name Description
authenticationURL

String

(Mandatory) This URL is referenced in the secret YAML content, and the orchestrator uses this URL to communicate with AppViewX.
serviceAccountName

String

(Mandatory) Name of the service account.

Response Structure

  • Status Code: 200 OK
  • Message: Successful
  • Headers:
    • Content-Type: application/json
Name Description
response

String

Generate Secret YAML.
message

String

Success message or failure description in case of error.
appStatusCode

String

Application specific status code for the response. Will be non-null for failure response.
tags More info in case of failure response.

Sample Request/Response

Use case: Generate command to generate or download the secret YAML file for onboarding.
Request URL

https://<IP/HostName/TenantName>:<GWPORT>/avxapi/kube-service-auth-secret?gwsource=external

Sample Request
POST Content type: application/json Username: <> Password: <>
{
  "payload": {
    "authenticationURL": "https://pe-kube-apvx-n2.lab.appviewx.net:31443/",
    "serviceAccountName": "test"
  }
}
Sample Response
---
apiVersion: "v1"
kind: "Secret"
metadata:
        name: "appviewx-auth"
        namespace: "crypto-mesh"
type: "Opaque"
data:
        CLIENT_ID: "NGVjOWI4MjgtYWM4YS00OGE3LWJkNjgtMjViYTM0ZGQwOGJh"
        CLIENT_SECRET: "ZXNNUDJTIUdvZm4yd2czazM5ekBKT1B0NlJOaWpmMEQ="
        APPVIEWX_ENV_URL: "aHR0cHM6Ly9wZS1rdWJlLWFwdngtbjIubGFiLmFwcHZpZXd4Lm5ldDozMTQ0My8="

Reference

Understanding the sample URL: This section provides an explanation of each component of the sample URL structure used in API requests. For quick reference, this section is referenced in all the API topics as Reference in this guide.
  • IP/HostName/TenantName: Replace with the actual IP address, hostname, or tenant name based on the specific configuration in AppViewX.
    • IP: A unique identifier assigned to each device connected to a computer network that uses the Internet Protocol for communication

      The IP address will be included in the endpoint URL for an on-prem deployment.

    • HostName: A human-readable label assigned to a device (host) on a network

      The hostname will be included in the endpoint URL for an on-prem deployment.

    • TenantName: An identifier label for a tenant given to indicate which tenant's data the API request will access/modify

      The tenant name will be included in the endpoint URL for a SaaS deployment.

  • GWPORT: AppViewX gateway port

    A gateway port refers to a network port through which data is sent and received to communicate with a gateway in an on-prem deployment.

    Example: 31443

  • avxapi: Path parameter value (static) that is part of the endpoint's URL
  • Endpoint: Endpoint of the API, for example: execute-hook
  • gwsource: Source or origin of a gateway, for example: external.

What's Next