Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejs
themeMidnight
titlePOST
linenumberstrue
URL: /v2/projects/{project-name}/composite-apps/blue-app/{version}/traffic-intent-set/inbound-intents/

POST BODY:
{
	"metadata": {
	"name": "<>" // unique name for each intent
    "description": "connectivity intent for stateless micro-service to stateless micro-serviceinbound communication"
	"userdata1": <>,
	"userdata2": <>
	}

	"spec": { // update the memory allocation for each field as per OpenAPI standards
	"application": "<app1>",
	"servicename": "<>httpbin" //actual name of the client service - {istioobject - serviceEntry of client's cluster}
	"externalName": "<>" // prefix to expose this service outside the clusterhttpbin.k8s.com"
	"protocol": "", // supported protocols are HTTP, TCP, UDP and HTTP2HTTP",
	"headless": "false", // default is false. Option "True" will make sure all the instances of the headless service will have access to the client service
	"mutualTLS": "MUTUAL", // default is simple. Option MUTUAL will enforce mtls {istioobject - destinationRule}
	"port" : "80", // port on which service is exposed as through servicemesh, not the port it is actually running on
	"serviceMesh": "istio", // get it from cluster record
	"sidecar-proxy": "yes", // The features (mTLS, LB, Circuit breaking) are not available to services without istio-proxy. Only inbound routing is possible.

	// Traffic management fields below are valid only if the sidecar-proxy is set to "yes"
	"traffic-management-info" : {
		// Traffic configuration - Loadbalancing is applicable per service. The traffic to this service is distrbuted amongst the pods under it.
		"loadbalancingType": "ConsistenHash", // "Simple" and "consistentHash" are the two modes - {istioobject - destinationRule}
		"loadBalancerMode": "httpCookie" // Modes for consistentHash - "httpHeaderName", "httpCookie", "useSourceIP", "minimumRingSize", Modes for simple - "LEAST_CONN", "ROUND_ROBIN", 	"RANDOM", "PASSTHROUGH" // choices of the mode must be explicit - {istioobject - destinationRule}
		"httpCookie": "user1" // Name of the cookie to maitain sticky sessions - {istioobject - destinationRule}

		// Circuit Breaking
		"maxConnections": ""10 //connection pool for tcp and http traffic - {istioobject - destinationRule}
		"concurrenthttp2Requests": ""1000 // concurent http2 requests which can be allowed - {istioobject - destinationRule}
		"httpRequestPerConnection": ""100 // number of http requests per connection. Valid only for http traffic - {istioobject - destinationRule}
		"consecutiveErrors": ""8 // Default is 5.  Number of consecutive error before the host is removed - {istioobject - destinationRule}
		"baseEjectionTime" : ""15 // Default is 5, - {istioobject - destinationRule}
		"intervalSweep": ''5m, //time limit before the removed hosts are added back to the load balancing pool. - {istioobject - destinationRule}
		}

	// credentials for mTLS.
	"Servicecertificate" : "" // Present actual certificate here.
	"ServicePrivateKey" : "" // Present actual private key here.
	"caCertificate" : "" // present the trusted certificate to verify the client connection, Required only when mtls mode is MUTUAL

	// Access Control
	namespaces: [] // Workloads from this namespaces can access the inbound service - {istioobject - authorizationPolicy}
	serviceAccountAccess : {[ "SaDetails": ["ACTION": "URI"]} // {istioobject - authorizationPolicy, will be applied for the inbound service}
 verify the client connection, Required only when mtls mode is MUTUAL	
	}
}

RETURN STATUS: 201
RETURN BODY: 
{ 
  "name": "<name>"
  "Message": "inbound service created"
}

...

Code Block
languagejs
themeMidnight
titleGET
linenumberstrue
URL: /v2/projects/{project-name}/composite-apps/{compositeblue-app-name}/{version}/traffic-intent-set/{set-name}/us-to-usinbound-intents/<name>

RETURN STATUS: 201
RETURN BODY:
{
	"metadata": {
	"name": "<>" // unique name for each intent
    "description": "connectivity intent for stateless micro-service to stateless micro-service communication"
	"userdata1": <>,
	"userdata2": <>
	}

	"spec": { // update the memory allocation for each field as per OpenAPI standards
	"application": "<app1>",
	"servicename": "<>" //actual name of the client service - {istioobject - serviceEntry of client's cluster}
	"externalName": "<>" // prefix to expose this service outside the cluster
	"protocol": "", // supported protocols are HTTP, TCP, UDP and HTTP2
	"headless": "", // default is false. Option "True" will make sure all the instances of the headless service will have access to the client service
	"mutualTLS": "", // default is simple. Option MUTUAL will enforce mtls {istioobject - destinationRule}
	"port" : "80", // port on which service is exposed as through servicemesh, not the port it is actually running on
	"serviceMesh": "istio", // get it from cluster record
	"sidecar-proxy": "yes", // The features (mTLS, LB, Circuit breaking) are not available to services without istio-proxy. Only inbound routing is possible.

	/ Traffic management fields below are valid only if the sidecar-proxy is set to "yes"
	"traffic-management-info" : {
		// Traffic configuration - Loadbalancing is applicable per service. The traffic to this service is distrbuted amongst the pods under it.
		"loadbalancingType": "", // "Simple" and "consistentHash" are the two modes - {istioobject - destinationRule}
		"loadBalancerMode": "" // Modes for consistentHash - "httpHeaderName", "httpCookie", "useSourceIP", "minimumRingSize", Modes for simple - "LEAST_CONN", "ROUND_ROBIN", 	"RANDOM", "PASSTHROUGH" // choices of the mode must be explicit - {istioobject - destinationRule}
		"httpCookie": "user1" // Name of the cookie to maitain sticky sessions - {istioobject - destinationRule}

		// Circuit Breaking
		"maxConnections": "" //connection pool for tcp and http traffic - {istioobject - destinationRule}
		"concurrenthttp2Requests": "" // concurent http2 requests which can be allowed - {istioobject - destinationRule}
		"httpRequestPerConnection": "" // number of http requests per connection. Valid only for http traffic - {istioobject - destinationRule}
		"consecutiveErrors": "" // Default is 5.  Number of consecutive error before the host is removed - {istioobject - destinationRule}
		"baseEjectionTime" : "" // Default is 5, - {istioobject - destinationRule}
		"intervalSweep": '', //time limit before the removed hosts are added back to the load balancing pool. - {istioobject - destinationRule}
		}	

	// credentials for mTLS.
	"Servicecertificate" : "" // Present actual certificate here.
	"ServicePrivateKey" : "" // Present actual private key here.
	"caCertificate" : "" // present the trusted certificate to verify the client connection, Required only when mtls mode is MUTUAL

	// Access Control
	"namespaces": [] // Workloads from this namespaces can access the inbound service - {istioobject - authorizationPolicy}
	"serviceAccountAccess" : {[ "SaDetails": ["ACTION": "URI"]} // {istioobject - authorizationPolicy, will be applied for the inbound service}
	
	}
}

...

Code Block
languagejs
themeMidnight
titleDELETE
linenumberstrue
DELETE
URL: /v2/projects/{project-name}/composite-apps/{compositeblue-app-name}/{version}/traffic-intent-set/{set-name}/us-to-usinbound-intents/servicehttpbin<name>

RETURN STATUS: 204

2. Outbound access

...