External Systems support
Interaction with external systems is made dynamic and plug-able removing development cycle to support new endpoint. In order to share the external system information, TOSCA provides a way to create macros using dsl_definitions: Link to TOSCA spec: info 1, info 2.
Use cases: * Resource resolution using REST (see tab Node Type) or SQL (see tab Node Type) external systems * gRPC is supported for remote execution * Any REST endpoint can be dynamically injected as part of the scripting framework.
Here are some examples on how to populate the system information within the package:
token-auth |
---|
{
"dsl_definitions": {
"ipam-1": {
"type": "token-auth",
"url": "http://netbox-nginx.netprog:8080",
"token": "Token 0123456789abcdef0123456789abcdef01234567"
}
}
|
basic-auth |
---|
{
"dsl_definitions": {
"ipam-1": {
"type": "basic-auth",
"url": "http://localhost:8080",
"username": "bob",
"password": "marley"
}
}
}
|
ssl-basic-auth |
---|
{
"dsl_definitions": {
"ipam-1": {
"type": "ssl-basic-auth",
"url": "http://localhost:32778",
"keyStoreInstance": "JKS or PKCS12",
"sslTrust": "trusture",
"sslTrustPassword": "trustore password",
"sslKey": "keystore",
"sslKeyPassword": "keystore password"
}
}
}
|
grpc-executor |
---|
{
"dsl_definitions": {
"remote-executor": {
"type": "token-auth",
"host": "cds-command-executor.netprog",
"port": "50051",
"token": "Basic Y2NzZGthcHBzOmNjc2RrYXBwcw=="
}
}
}
|
maria-db |
---|
{
"dsl_definitions": {
"netprog-db": {
"type": "maria-db",
"url": "jdbc:mysql://10.195.196.123:32050/netprog",
"username": "netprog",
"password": "netprog"
}
}
}
|