Post Installation Steps
Jan 1 2022 at 12:00 AM
- Verify Commander authentication integration
- Verify configs are valid
- Deployment Agent
- Red/Green queue connection
Verify Commander authentication integration
The first post-installation step should be to ensure
Verify configs are valid
Verify that all the config defaults are valid and can be loaded on all services. All services will log the status of each config file it tries to load on startup. The following is an example where one of the config files could not be loaded correctly:
[OK] load Json [/data/cloud/Data/Config/KestrelOptions.json]
[OK] load Json [/data/cloud/Data/Config/IdentityClientOptions.json]
[OK] load Json [/data/cloud/Data/Config/RpcServerOptions.json]
Failed to load configuration file. After parsing a value an unexpected character was encountered: ". Path 'Gateway2Options.TlsClientCertificatePassword', line 7, position 4.
[Error] Failed load Json [/data/cloud/Data/Config/Gateway2Options.json]
A nominal configuration setup will look as follows:
[OK] load Json [/data/cloud/Data/Config/LoggingOptions.json]
[OK] load Json [/data/cloud/Data/Config/RpcClientOptions.json]
[OK] load Json [/data/cloud/Data/Config/QueueSettings.json]
[OK] load Json [/data/cloud/Data/Config/CloudServiceOptions.json]
[OK] load Json [/data/cloud/Data/Config/RedGreenQueueAdapterOptions.json]
[OK] load Json [/data/cloud/Data/Config/TpcRpcOptions.json]
[OK] load Json [/data/cloud/Data/Config/DataProtectionOptions.json]
[OK] load Json [/data/cloud/Data/Config/DapiRedGreenQueueProxyOptions.json]
Note: This only checks the JSON configs consumed by the service. Additional errors might be present in other config files (e.g., the nlog and Kubernetes config files) which will be logged differently.
Driver stores can be queries
HTTP ports
2021-03-17 17:08:09.0601 | INFO | IoTnxt.Raptor.Bootstrap.BootstrapHostedService | Service URLs: https://0.0.0.0:8001,https://0.0.0.0:8000 |
RPC Ports
2021-03-17 17:08:15.8982 | INFO | IoTnxt.Raptor.Grpc.GrpcServerHost | GRPC: Started on Host Port [0.0.0.0:6000] Attempt [1] [0.0.0.0:6000] |
Deployment Agent
On startup, the deployment agent will perform a series of startup checks. These checks will determine whether or not the agent is correctly configured and is able to communicate with the Kubernetes API.
2021-03-18 07:38:42.4407|INFO|IoTnxt.Raptor.Orchestration.Kubernetes.K8Context|Creating Kubernetes client
2021-03-18 07:38:42.4994|INFO|IoTnxt.Raptor.Deployment.Common.CommonStartupChecks|
[Raptor Central Config] - Domain Name: vraptor01-organisation Status: OK.
[Raptor Central Config] - Public Domain Name: vraptor01-organisation.commander.io Status: OK.
[Raptor CA] - OpenSslRaptorRsaCertificateAuthorityProvider Status: OK.
[Raptor Config] - RaptorServiceConfigurationFactory Status: OK.
[Raptor Pipeline Manager] - Pipeline [certificate.authority.update] Status (1 steps) : OK.
[Raptor Pipeline Manager] - Pipeline [certificate.issue] Status (1 steps) : OK.
[Raptor Pipeline Manager] - Pipeline [certificate.revoke] Status (2 steps) : OK.
[Raptor Pipeline Manager] - Pipeline [certificate.trusted.remove] Status (1 steps) : OK.
[Raptor Pipeline Manager] - Pipeline [certificate.trusted.upload] Status (1 steps) : OK.
[Raptor Pipeline Manager] - Pipeline [config] Status (4 steps) : OK.
[Raptor Pipeline Manager] - Pipeline [configAndPort] Status (6 steps) : OK.
[Raptor Pipeline Manager] - Pipeline [default] Status (16 steps) : OK.
[Raptor Pipeline Manager] - Pipeline [deleteService] Status (4 steps) : OK.
[Raptor Pipeline Manager] - Pipeline [deployCertificate] Status (2 steps) : OK.
[Raptor Pipeline Manager] - Pipeline [deployPublicCertificates] Status (1 steps) : OK.
[Raptor Pipeline Manager] - Pipeline [deviceUpdate] Status (7 steps) : OK.
[Raptor Pipeline Manager] - Pipeline [generateCertificate] Status (1 steps) : OK.
[Raptor Pipeline Manager] - Pipeline [revokeCertificate] Status (1 steps) : OK.
[Raptor Pipeline Manager] - Pipeline [service.delete] Status (4 steps) : OK.
[Raptor Pipeline Manager] - Pipeline [service.deploy] Status (12 steps) : OK.
[Raptor Pipeline Manager] - Pipeline [service.update] Status (1 steps) : OK.
[Raptor Pipeline Manager] - Pipeline [updateServiceConfig] Status (3 steps) : OK.
[Raptor Pipeline Manager] - Pipeline [updateServiceContainer] Status (1 steps) : OK.
[Raptor Pipeline Manager] - DeploymentPipelineManager Status: OK.
2021-03-18 07:38:42.4994|INFO|IoTnxt.Raptor.Deployment.Common.CommonStartupChecks|Startup checks completed.
Deploy a new driver
Issue a certificate
Red/Green queue connection
Make sure that the V-Raptor is connecting to the correct queue, and that it has been associated in Commander.
Send telemetry to Commander
As a final test, you should also test that you are able to
Commander Connection
2021-03-17 17:08:22.6531|INFO|IoTnxt.Raptor.Cloud.Rabbit.RabbitCommunicator|Initial queue green queue client for Gateway ID 'COLLECTOR_VRAPTOR01-ORGANISATION' registered.
2021-03-17 17:08:23.3639|DEBUG|IoTnxt.Raptor.Cloud.Rabbit.RabbitCommunicator|_isAmqpConnected = True
2021-03-17 17:08:23.3639|DEBUG|IoTnxt.Raptor.Cloud.Rabbit.RabbitCommunicator|Set health status to 'Healthy'
2021-03-17 17:08:23.3639|DEBUG|IoTnxt.Raptor.Cloud.Rabbit.RabbitCommunicator|AMQP connection for Gateway ID 'COLLECTOR_VRAPTOR01-ORGANISATION' has been opened successfully.
2021-03-30 19:01:23.6895|ERROR|IoTnxt.RedGreenQueue.GreenQueue|Registration Failed with [The gateway is not yet associated with a tenant]
Enabled/Disable applications
Change ingress settings
Depending on the environment, one or more settings might need to be adjusted on the Raptor’s ingress. For example, if operating in a region with poor network quality, you may need to adjust the timeouts on the ingress.
client_body_timeout 5s;
client_header_timeout 3s;
keepalive_timeout 5s;
send_timeout 5s;
You might also want to adjust Content Security Policies, as the V-Raptor’s domain name might differ from what is already present in the config.
add_header Content-Security-Policy "default-src 'self' https://fonts.gstatic.com/* ; frame-ancestors 'self'; font-src 'self' https://fonts.gstatic.com/* data: https://fonts.gstatic.com https://fonts.googleapis.com https://*.devexpress.com; script-src 'self' https://*.iotnxt.io https://*.commander.io https://*.commander.dev ; style-src 'self' https://fonts.googleapis.com https://*.devexpress.com; img-src 'self' https://www.iotnxt.com https://*.commander.io https://*.commander.dev data: blob:; connect-src 'self' https://*.commander.io https://*.commander.dev https://fonts.googleapis.com https://*.iotnxt.io wss://*.iotnxt.io; frame-src data: *; worker-src 'self' blob:";