# Overview This document will describe how to generate NATs Accounts for use with Synqly Embedded. By the end of this guide, you will have the values needed to fill in the following configuration blocks in Synqly Embedded's Helm Chart: ```yaml nats: ... # (Required) Base64 encoded user creds file generated from `nsc init`. # # `nsc init`, when supplied with name "synqly", will generate an operator, # system account, and user account with the name "synqly". The synqly.creds # file needs to be encrypted and supplied here. These values can be # generated locally, then supplied to the K8s nats instance at boot. # Local path should resemble: # /Users//.local//share/nats/nsc/keys/keys/A/AA/AAA4T2XPA4P7VMCOXWM5SHOXT63MGJBERZKIT2GW3FHEGEDESYHDROCY.nk # # Example file before base64 encoding: # # -----BEGIN NATS USER JWT----- # ........ # ------END NATS USER JWT------ # # ************************* IMPORTANT ************************* # NKEY Seed printed below can be used to sign and prove identity. # NKEYs are sensitive and should be treated as secrets. # # -----BEGIN USER NKEY SEED----- # ........... # ------END USER NKEY SEED------ # # Base64 encode the resultant file with: # `base64 -i ` bridgeUserCreds: # (Required) Base64 encoded account NK file. # # Format: # # Nats "Synqly" account public key (get using nsc list account) # Nats "Synqly" account private key (cat /.local//share/nats/nsc/keys/keys/A//.nk) # # Example file before base64 encoding: # # ADM..... # SAA..... # # Base64 encode the resultant file with: # `base64 -i ` bridgeNkey: ... config: merge: # (Required) Values for initializing the System and Synqly Accounts in the # NATs Server. These values will allow `Embedded` to authenticate with the # NATs Server and perform pub/sub operations. # # Resolver.conf config for memory resolver. Set with: # --set nats.config.merge.operator=$NATS_OPERATOR_JWT \ # --set nats.config.merge.system_account=$NATS_SYS_ACCOUNT_ID \ # --set nats.config.merge.resolver_preload.$NATS_SYS_ACCOUNT_ID=$NATS_SYS_ACCOUNT_JWT \ # --set nats.config.merge.resolver_preload.$NATS_SYNQLY_ACCOUNT_ID=$NATS_SYNQLY_ACCOUNT_JWT operator: OPERATOR_JWT system_account: SYSTEM_ACCOUNT_ID resolver: MEM resolver_preload: # SYSTEM_ACCOUNT_ID: SYSTEM_ACCOUNT_JWT # SYNQLY_ACCOUNT_ID: SYNQLY_ACCOUNT_JWT ``` ## Prerequisites In order to generate NATs Accounts, it is necessary to install NATs' CLI tool, `nsc`: - [Install `nsc`](https://github.com/nats-io/nsc?tab=readme-ov-file#install): Installation instructions for `nsc` - [NATs `nsc` Overview](https://docs.nats.io/using-nats/nats-tools/nsc): Overview of `nsc` and the commands it supports # NATs Credential Creation ## Generate NATs Objects The first step for generating NATs Accounts is to remove any previous state from `nsc`. To do so, run the following commands: ```bash # Clean out previous nsc Account configuration rm -rf ~/.config/nats rm -rf ~/.local/share/nats ``` Next, trigger the interactive `nsc` Account creating workflow by running: ```bash nsc init ``` When filling out the prompts, leave the configuration directory as default, then select "Create Operator" ```bash demo_nats_gen nsc init ? enter a configuration directory /.local/share/nats/nsc/stores ? Select an operator [Use arrows to move, type to filter] synadia > Create Operator Other ``` For the Operator name, enter `synqly`. This step will create an Operator, Account, and User, all named `synqly`: ```bash demo_nats_gen nsc init ? enter a configuration directory /.local/share/nats/nsc/stores ? Select an operator Create Operator ? name your operator, account and user (jolly_roentgen) synqly ``` The output should resemble the following: ```bash ? Select an operator Create Operator ? name your operator, account and user synqly [ OK ] created operator synqly [ OK ] created system_account: name:SYS id:AA4XHSW2JB762MTG3ZCR25SBCPV7RHNO5EKYTZPH6CTN5N3JL5ZBHIAL [ OK ] created system account user: name:sys id:UBBZ7G4MRMIWTP2UGE2YWUO7DKIDKMMCGW5PPIWFX2D5CKF6FTBFFEAX [ OK ] system account user creds file stored in `~/.local/share/nats/nsc/keys/creds/synqly/SYS/sys.creds` [ OK ] created account synqly [ OK ] created user "synqly" [ OK ] project jwt files created in `~/.local/share/nats/nsc/stores` [ OK ] user creds file stored in `~/.local/share/nats/nsc/keys/creds/synqly/synqly/synqly.creds` > to run a local server using this configuration, enter: > nsc generate config --mem-resolver --config-file > then start a nats-server using the generated config: > nats-server -c all jobs succeeded ``` Note down the location of the `sys.creds` and `synqly.creds` user files, as they will be needed in the next steps. All the required NATs objects have now been generated, the next steps will cover how to retrieve the values and format them to be compatible with the Synqly Embedded Helm Chart. ## Store `sys.creds` and `synqly.creds` As mentioned in the output above, `nsc` generates two NATs Accounts, one called `sys`, and one called `synqly`. The `sys` Account is an administrative Account that can be used to query NATs server health and clustering information. The `synqly` Account is what we will later provide to both Embedded and NATs through Helm's `values.yaml`. While only `synqly.creds` is directly needed for running NATs with Embedded, it is useful to store both files in case you later wish to run administrative commands against NATs. Copy both `.creds` files described in the output above to a local directory for ease of access: ```bash mkdir nats_configuration cd nats_configuration cp ~/.local/share/nats/nsc/keys/creds/synqly/SYS/sys.creds ./ cp ~/.local/share/nats/nsc/keys/creds/synqly/synqly/synqly.creds ./ ``` ## Generate `resolver.conf` File Next, we'll generate a `resolver.conf` file. The `resolver.conf` file formats most of the previously generated Operator, Account, and User objects into one file, which will make it easier to retrieve the relevant values. To generate a `resolver.conf` file, run the following command. ```bash nsc generate config --mem-resolver > resolver.conf ``` ## Retrieve Synqly Account Private Key In order to provide the `synqly` Account credentials to both Embedded and NATs, we will need to create an `account.nk` file containing the public and private key of the `synqly` Account. To retrieve the public key of the `synqly` Account, run the following: ```bash nsc list accounts +-------------------------------------------------------------------+ | Accounts | +--------+----------------------------------------------------------+ | Name | Public Key | +--------+----------------------------------------------------------+ | SYS | AA4XHSW2JB762MTG3ZCR25SBCPV7RHNO5EKYTZPH6CTN5N3JL5ZBHIAL | | synqly | ABPT4EX5ZVCW27HP3YLE3CWTFH52XIK6NVNXWG5IGZ2EVQ6RYU3OASVE | +--------+----------------------------------------------------------+ ``` Copy your `synqly` Account public key and store it in a new file named `account.nk`: ```bash echo ABPT4EX5ZVCW27HP3YLE3CWTFH52XIK6NVNXWG5IGZ2EVQ6RYU3OASVE > account.nk ``` Next, search for the private key file in your local nats config: ```bash # Format find ~/.local/ -name \*.nk | grep <`synqly` public key> # Example find ~/.local/ -name \*.nk | grep ABPT4EX5ZVCW27HP3YLE3CWTFH52XIK6NVNXWG5IGZ2EVQ6RYU3OASVE /.local//share/nats/nsc/keys/keys/A/BP/ABPT4EX5ZVCW27HP3YLE3CWTFH52XIK6NVNXWG5IGZ2EVQ6RYU3OASVE.nk ``` Copy the private key value into your `account.nk` file: ``` cat /.local//share/nats/nsc/keys/keys/A/BP/ABPT4EX5ZVCW27HP3YLE3CWTFH52XIK6NVNXWG5IGZ2EVQ6RYU3OASVE.nk >> account.nk ``` Your final `account.nk` file should have a public and private key, resembling the following: ```bash cat account.nk # Output ABPT4EX5ZVCW27HP3YLE3CWTFH52XIK6NVNXWG5IGZ2EVQ6RYU3OASVE SAAPCJE62SBMPF6V64M746WUQ7VFNPFGGGOJELMTP7I3IRCWOITM4N5LOI ``` Lastly, base64 encode both your `synqly.creds` and `account.nk` files for use in Helm: ```bash base64 -i account.nk > bridge_nkey_b64.txt base64 -i synqly.creds > bridge_user_creds_b64.txt ``` # Final Configuration Values We now have all the information needed to configure NATs and Embedded. The following two configuration blocks will demonstrate how to map the generated information into Synqly Embedded's `values.yaml`. ## Information Sources This configuration block describe the source for each field. Refer to the section below for an example using real values ```yaml nats: ... # (Comment omitted for legibility) bridgeUserCreds: # (Comment omitted for legibility) bridgeNkey: ... config: merge: # (Comment omitted for legibility) operator: system_account: resolver: MEM resolver_preload: : : ``` ## Final Example With the following files: `resolver.conf`: ```yaml // Operator "synqly" operator: eyJ0eXAiOiJKV1QiLCJhbGciOiJlZDI1NTE5LW5rZXkifQ.eyJqdGkiOiJNREZDUU5VUjNSWDRVSklCVEdVMlRBSjdHSlVSUTNKWDdWRktaTjZRNDc0T0xDTkc3V1dRIiwiaWF0IjoxNzIyOTcxNzg0LCJpc3MiOiJPRFNMTElHSUNFREEyN0ZJWUZHQVBSVU5ESVZWU0pNQTZBTUs1VjRaVUtLSlo1QU9UVUtGR1ZIWSIsIm5hbWUiOiJzeW5xbHkiLCJzdWIiOiJPRFNMTElHSUNFREEyN0ZJWUZHQVBSVU5ESVZWU0pNQTZBTUs1VjRaVUtLSlo1QU9UVUtGR1ZIWSIsIm5hdHMiOnsib3BlcmF0b3Jfc2VydmljZV91cmxzIjpbIm5hdHM6Ly9sb2NhbGhvc3Q6NDIyMiJdLCJzeXN0ZW1fYWNjb3VudCI6IkFBNFhIU1cySkI3NjJNVEczWkNSMjVTQkNQVjdSSE5PNUVLWVRaUEg2Q1RONU4zSkw1WkJISUFMIiwidHlwZSI6Im9wZXJhdG9yIiwidmVyc2lvbiI6Mn19.F_1hNZeMVX_1kqt7OGI4uaw6jJ5DVcY1D-6d2lts-NJJDlGQHQq8jVHrlWpLjAKZHR7Y_WFhWGpygiTLFnnYBQ system_account: AA4XHSW2JB762MTG3ZCR25SBCPV7RHNO5EKYTZPH6CTN5N3JL5ZBHIAL resolver: MEMORY resolver_preload: { // Account "SYS" AA4XHSW2JB762MTG3ZCR25SBCPV7RHNO5EKYTZPH6CTN5N3JL5ZBHIAL: eyJ0eXAiOiJKV1QiLCJhbGciOiJlZDI1NTE5LW5rZXkifQ.eyJqdGkiOiI1UlkzRlFJNkNGVUtZVFFOQ1BFTUpBRlhUWjcyWElUMkNJTlE2R01YQjZOUlFaUlVWRTJRIiwiaWF0IjoxNzIyOTcxNzg0LCJpc3MiOiJPRFNMTElHSUNFREEyN0ZJWUZHQVBSVU5ESVZWU0pNQTZBTUs1VjRaVUtLSlo1QU9UVUtGR1ZIWSIsIm5hbWUiOiJTWVMiLCJzdWIiOiJBQTRYSFNXMkpCNzYyTVRHM1pDUjI1U0JDUFY3UkhOTzVFS1lUWlBINkNUTjVOM0pMNVpCSElBTCIsIm5hdHMiOnsiZXhwb3J0cyI6W3sibmFtZSI6ImFjY291bnQtbW9uaXRvcmluZy1zdHJlYW1zIiwic3ViamVjdCI6IiRTWVMuQUNDT1VOVC4qLlx1MDAzZSIsInR5cGUiOiJzdHJlYW0iLCJhY2NvdW50X3Rva2VuX3Bvc2l0aW9uIjozLCJkZXNjcmlwdGlvbiI6IkFjY291bnQgc3BlY2lmaWMgbW9uaXRvcmluZyBzdHJlYW0iLCJpbmZvX3VybCI6Imh0dHBzOi8vZG9jcy5uYXRzLmlvL25hdHMtc2VydmVyL2NvbmZpZ3VyYXRpb24vc3lzX2FjY291bnRzIn0seyJuYW1lIjoiYWNjb3VudC1tb25pdG9yaW5nLXNlcnZpY2VzIiwic3ViamVjdCI6IiRTWVMuUkVRLkFDQ09VTlQuKi4qIiwidHlwZSI6InNlcnZpY2UiLCJyZXNwb25zZV90eXBlIjoiU3RyZWFtIiwiYWNjb3VudF90b2tlbl9wb3NpdGlvbiI6NCwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0IGFjY291bnQgc3BlY2lmaWMgbW9uaXRvcmluZyBzZXJ2aWNlcyBmb3I6IFNVQlNaLCBDT05OWiwgTEVBRlosIEpTWiBhbmQgSU5GTyIsImluZm9fdXJsIjoiaHR0cHM6Ly9kb2NzLm5hdHMuaW8vbmF0cy1zZXJ2ZXIvY29uZmlndXJhdGlvbi9zeXNfYWNjb3VudHMifV0sImxpbWl0cyI6eyJzdWJzIjotMSwiZGF0YSI6LTEsInBheWxvYWQiOi0xLCJpbXBvcnRzIjotMSwiZXhwb3J0cyI6LTEsIndpbGRjYXJkcyI6dHJ1ZSwiY29ubiI6LTEsImxlYWYiOi0xfSwic2lnbmluZ19rZXlzIjpbIkFCWk1BQjVIN0lDSldMU1hCTkdUQ05aRlRYSTU1M1FCQ1gzWUU1TUhGNzZNWkRFM1BGR0syQUxUIl0sImRlZmF1bHRfcGVybWlzc2lvbnMiOnsicHViIjp7fSwic3ViIjp7fX0sImF1dGhvcml6YXRpb24iOnt9LCJ0eXBlIjoiYWNjb3VudCIsInZlcnNpb24iOjJ9fQ.xrWGVRyiJNcstIxVwkTYF0UIr7_M3qMoAbMnrDTNygG9XF3gLK59ykNBaV6B__C92BHzRooIlzVPlwJKFi59CQ // Account "synqly" ABPT4EX5ZVCW27HP3YLE3CWTFH52XIK6NVNXWG5IGZ2EVQ6RYU3OASVE: eyJ0eXAiOiJKV1QiLCJhbGciOiJlZDI1NTE5LW5rZXkifQ.eyJqdGkiOiI3MzJWUDJFV0RSNE42UDZaNUlLSlZLM0FURFZQSDZSMkFaUVlPVU5VQ0kzR003Wkk3UUlRIiwiaWF0IjoxNzIyOTcxNzg0LCJpc3MiOiJPRFNMTElHSUNFREEyN0ZJWUZHQVBSVU5ESVZWU0pNQTZBTUs1VjRaVUtLSlo1QU9UVUtGR1ZIWSIsIm5hbWUiOiJzeW5xbHkiLCJzdWIiOiJBQlBUNEVYNVpWQ1cyN0hQM1lMRTNDV1RGSDUyWElLNk5WTlhXRzVJR1oyRVZRNlJZVTNPQVNWRSIsIm5hdHMiOnsibGltaXRzIjp7InN1YnMiOi0xLCJkYXRhIjotMSwicGF5bG9hZCI6LTEsImltcG9ydHMiOi0xLCJleHBvcnRzIjotMSwid2lsZGNhcmRzIjp0cnVlLCJjb25uIjotMSwibGVhZiI6LTF9LCJkZWZhdWx0X3Blcm1pc3Npb25zIjp7InB1YiI6e30sInN1YiI6e319LCJhdXRob3JpemF0aW9uIjp7fSwidHlwZSI6ImFjY291bnQiLCJ2ZXJzaW9uIjoyfX0.8i0qBOEixTDuxoU5sdAorZUOQlGdIDGtK2DNzl-z-uxJRESi5aHjAvhJkwOXF6Hx9mNRzSQ0CmGAEQW4nBXKAA } ``` `bridge_nkey_b64.txt`: ```txt QUJQVDRFWDVaVkNXMjdIUDNZTEUzQ1dURkg1MlhJSzZOVk5YV0c1SUdaMkVWUTZSWVUzT0FTVkUKU0FBUENKRTYyU0JNUEY2VjY0TTc0NldVUTdWRk5QRkdHR09KRUxNVFA3STNJUkNXT0lUTTRONUxPSQ== ``` `bridge_user_creds_b64.txt`: ```txt LS0tLS1CRUdJTiBOQVRTIFVTRVIgSldULS0tLS0KZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKbFpESTFOVEU1TFc1clpYa2lmUS5leUpxZEdraU9pSlBRa1ZPUjFCSVdsbzBSVWhZVUZWS1dUYzFWVEpZVXpORFQwbFVXRk5GUkRZMFMxTkJRek5ZVXpSRVRrOUhRa3MzTjFsUklpd2lhV0YwSWpveE56SXlPVGN4TnpnMExDSnBjM01pT2lKQlFsQlVORVZZTlZwV1ExY3lOMGhRTTFsTVJUTkRWMVJHU0RVeVdFbExOazVXVGxoWFJ6VkpSMW95UlZaUk5sSlpWVE5QUVZOV1JTSXNJbTVoYldVaU9pSnplVzV4YkhraUxDSnpkV0lpT2lKVlExaE9XRlpRUlRkUFdWUlBWRTFhVTB4WVJrRlJSRTlSUXpKQlJ6UllOVWxaUTBrM1FrTlNRalJWVkRWRVdFUTNNMUJLVGtSSlRpSXNJbTVoZEhNaU9uc2ljSFZpSWpwN2ZTd2ljM1ZpSWpwN2ZTd2ljM1ZpY3lJNkxURXNJbVJoZEdFaU9pMHhMQ0p3WVhsc2IyRmtJam90TVN3aWRIbHdaU0k2SW5WelpYSWlMQ0oyWlhKemFXOXVJam95ZlgwLlFVcy1faDNUQXpIWjJWY1VhNERVRXNsWF91OGlNOFhUSTY5ZjZxd251VGh4T2luamdoNE5YbjNRNlVTalYwdVFHQi1ORmFjdE9CT05sNUxZTjhFREF3Ci0tLS0tLUVORCBOQVRTIFVTRVIgSldULS0tLS0tCgoqKioqKioqKioqKioqKioqKioqKioqKioqIElNUE9SVEFOVCAqKioqKioqKioqKioqKioqKioqKioqKioqCk5LRVkgU2VlZCBwcmludGVkIGJlbG93IGNhbiBiZSB1c2VkIHRvIHNpZ24gYW5kIHByb3ZlIGlkZW50aXR5LgpOS0VZcyBhcmUgc2Vuc2l0aXZlIGFuZCBzaG91bGQgYmUgdHJlYXRlZCBhcyBzZWNyZXRzLgoKLS0tLS1CRUdJTiBVU0VSIE5LRVkgU0VFRC0tLS0tClNVQUFWWEVCU1NBUTdaWFZNMjZIWEJXU0U3QlFKNVNOQ1BCQkpOR0ZEQkZFQlNKNjRWQzJXM0RNU1kKLS0tLS0tRU5EIFVTRVIgTktFWSBTRUVELS0tLS0tCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCg== ``` We get the following configuration in `values.yaml`: ```yaml nats: ... # (Comment omitted for legibility) bridgeUserCreds: LS0tLS1CRUdJTiBOQVRTIFVTRVIgSldULS0tLS0KZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKbFpESTFOVEU1TFc1clpYa2lmUS5leUpxZEdraU9pSlBRa1ZPUjFCSVdsbzBSVWhZVUZWS1dUYzFWVEpZVXpORFQwbFVXRk5GUkRZMFMxTkJRek5ZVXpSRVRrOUhRa3MzTjFsUklpd2lhV0YwSWpveE56SXlPVGN4TnpnMExDSnBjM01pT2lKQlFsQlVORVZZTlZwV1ExY3lOMGhRTTFsTVJUTkRWMVJHU0RVeVdFbExOazVXVGxoWFJ6VkpSMW95UlZaUk5sSlpWVE5QUVZOV1JTSXNJbTVoYldVaU9pSnplVzV4YkhraUxDSnpkV0lpT2lKVlExaE9XRlpRUlRkUFdWUlBWRTFhVTB4WVJrRlJSRTlSUXpKQlJ6UllOVWxaUTBrM1FrTlNRalJWVkRWRVdFUTNNMUJLVGtSSlRpSXNJbTVoZEhNaU9uc2ljSFZpSWpwN2ZTd2ljM1ZpSWpwN2ZTd2ljM1ZpY3lJNkxURXNJbVJoZEdFaU9pMHhMQ0p3WVhsc2IyRmtJam90TVN3aWRIbHdaU0k2SW5WelpYSWlMQ0oyWlhKemFXOXVJam95ZlgwLlFVcy1faDNUQXpIWjJWY1VhNERVRXNsWF91OGlNOFhUSTY5ZjZxd251VGh4T2luamdoNE5YbjNRNlVTalYwdVFHQi1ORmFjdE9CT05sNUxZTjhFREF3Ci0tLS0tLUVORCBOQVRTIFVTRVIgSldULS0tLS0tCgoqKioqKioqKioqKioqKioqKioqKioqKioqIElNUE9SVEFOVCAqKioqKioqKioqKioqKioqKioqKioqKioqCk5LRVkgU2VlZCBwcmludGVkIGJlbG93IGNhbiBiZSB1c2VkIHRvIHNpZ24gYW5kIHByb3ZlIGlkZW50aXR5LgpOS0VZcyBhcmUgc2Vuc2l0aXZlIGFuZCBzaG91bGQgYmUgdHJlYXRlZCBhcyBzZWNyZXRzLgoKLS0tLS1CRUdJTiBVU0VSIE5LRVkgU0VFRC0tLS0tClNVQUFWWEVCU1NBUTdaWFZNMjZIWEJXU0U3QlFKNVNOQ1BCQkpOR0ZEQkZFQlNKNjRWQzJXM0RNU1kKLS0tLS0tRU5EIFVTRVIgTktFWSBTRUVELS0tLS0tCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCg== # (Comment omitted for legibility) bridgeNkey: QUJQVDRFWDVaVkNXMjdIUDNZTEUzQ1dURkg1MlhJSzZOVk5YV0c1SUdaMkVWUTZSWVUzT0FTVkUKU0FBUENKRTYyU0JNUEY2VjY0TTc0NldVUTdWRk5QRkdHR09KRUxNVFA3STNJUkNXT0lUTTRONUxPSQ== ... config: merge: # (Comment omitted for legibility) operator: eyJ0eXAiOiJKV1QiLCJhbGciOiJlZDI1NTE5LW5rZXkifQ.eyJqdGkiOiJNREZDUU5VUjNSWDRVSklCVEdVMlRBSjdHSlVSUTNKWDdWRktaTjZRNDc0T0xDTkc3V1dRIiwiaWF0IjoxNzIyOTcxNzg0LCJpc3MiOiJPRFNMTElHSUNFREEyN0ZJWUZHQVBSVU5ESVZWU0pNQTZBTUs1VjRaVUtLSlo1QU9UVUtGR1ZIWSIsIm5hbWUiOiJzeW5xbHkiLCJzdWIiOiJPRFNMTElHSUNFREEyN0ZJWUZHQVBSVU5ESVZWU0pNQTZBTUs1VjRaVUtLSlo1QU9UVUtGR1ZIWSIsIm5hdHMiOnsib3BlcmF0b3Jfc2VydmljZV91cmxzIjpbIm5hdHM6Ly9sb2NhbGhvc3Q6NDIyMiJdLCJzeXN0ZW1fYWNjb3VudCI6IkFBNFhIU1cySkI3NjJNVEczWkNSMjVTQkNQVjdSSE5PNUVLWVRaUEg2Q1RONU4zSkw1WkJISUFMIiwidHlwZSI6Im9wZXJhdG9yIiwidmVyc2lvbiI6Mn19.F_1hNZeMVX_1kqt7OGI4uaw6jJ5DVcY1D-6d2lts-NJJDlGQHQq8jVHrlWpLjAKZHR7Y_WFhWGpygiTLFnnYBQ system_account: AA4XHSW2JB762MTG3ZCR25SBCPV7RHNO5EKYTZPH6CTN5N3JL5ZBHIAL resolver: MEM resolver_preload: AA4XHSW2JB762MTG3ZCR25SBCPV7RHNO5EKYTZPH6CTN5N3JL5ZBHIAL: eyJ0eXAiOiJKV1QiLCJhbGciOiJlZDI1NTE5LW5rZXkifQ.eyJqdGkiOiI1UlkzRlFJNkNGVUtZVFFOQ1BFTUpBRlhUWjcyWElUMkNJTlE2R01YQjZOUlFaUlVWRTJRIiwiaWF0IjoxNzIyOTcxNzg0LCJpc3MiOiJPRFNMTElHSUNFREEyN0ZJWUZHQVBSVU5ESVZWU0pNQTZBTUs1VjRaVUtLSlo1QU9UVUtGR1ZIWSIsIm5hbWUiOiJTWVMiLCJzdWIiOiJBQTRYSFNXMkpCNzYyTVRHM1pDUjI1U0JDUFY3UkhOTzVFS1lUWlBINkNUTjVOM0pMNVpCSElBTCIsIm5hdHMiOnsiZXhwb3J0cyI6W3sibmFtZSI6ImFjY291bnQtbW9uaXRvcmluZy1zdHJlYW1zIiwic3ViamVjdCI6IiRTWVMuQUNDT1VOVC4qLlx1MDAzZSIsInR5cGUiOiJzdHJlYW0iLCJhY2NvdW50X3Rva2VuX3Bvc2l0aW9uIjozLCJkZXNjcmlwdGlvbiI6IkFjY291bnQgc3BlY2lmaWMgbW9uaXRvcmluZyBzdHJlYW0iLCJpbmZvX3VybCI6Imh0dHBzOi8vZG9jcy5uYXRzLmlvL25hdHMtc2VydmVyL2NvbmZpZ3VyYXRpb24vc3lzX2FjY291bnRzIn0seyJuYW1lIjoiYWNjb3VudC1tb25pdG9yaW5nLXNlcnZpY2VzIiwic3ViamVjdCI6IiRTWVMuUkVRLkFDQ09VTlQuKi4qIiwidHlwZSI6InNlcnZpY2UiLCJyZXNwb25zZV90eXBlIjoiU3RyZWFtIiwiYWNjb3VudF90b2tlbl9wb3NpdGlvbiI6NCwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0IGFjY291bnQgc3BlY2lmaWMgbW9uaXRvcmluZyBzZXJ2aWNlcyBmb3I6IFNVQlNaLCBDT05OWiwgTEVBRlosIEpTWiBhbmQgSU5GTyIsImluZm9fdXJsIjoiaHR0cHM6Ly9kb2NzLm5hdHMuaW8vbmF0cy1zZXJ2ZXIvY29uZmlndXJhdGlvbi9zeXNfYWNjb3VudHMifV0sImxpbWl0cyI6eyJzdWJzIjotMSwiZGF0YSI6LTEsInBheWxvYWQiOi0xLCJpbXBvcnRzIjotMSwiZXhwb3J0cyI6LTEsIndpbGRjYXJkcyI6dHJ1ZSwiY29ubiI6LTEsImxlYWYiOi0xfSwic2lnbmluZ19rZXlzIjpbIkFCWk1BQjVIN0lDSldMU1hCTkdUQ05aRlRYSTU1M1FCQ1gzWUU1TUhGNzZNWkRFM1BGR0syQUxUIl0sImRlZmF1bHRfcGVybWlzc2lvbnMiOnsicHViIjp7fSwic3ViIjp7fX0sImF1dGhvcml6YXRpb24iOnt9LCJ0eXBlIjoiYWNjb3VudCIsInZlcnNpb24iOjJ9fQ.xrWGVRyiJNcstIxVwkTYF0UIr7_M3qMoAbMnrDTNygG9XF3gLK59ykNBaV6B__C92BHzRooIlzVPlwJKFi59CQ ABPT4EX5ZVCW27HP3YLE3CWTFH52XIK6NVNXWG5IGZ2EVQ6RYU3OASVE: eyJ0eXAiOiJKV1QiLCJhbGciOiJlZDI1NTE5LW5rZXkifQ.eyJqdGkiOiI3MzJWUDJFV0RSNE42UDZaNUlLSlZLM0FURFZQSDZSMkFaUVlPVU5VQ0kzR003Wkk3UUlRIiwiaWF0IjoxNzIyOTcxNzg0LCJpc3MiOiJPRFNMTElHSUNFREEyN0ZJWUZHQVBSVU5ESVZWU0pNQTZBTUs1VjRaVUtLSlo1QU9UVUtGR1ZIWSIsIm5hbWUiOiJzeW5xbHkiLCJzdWIiOiJBQlBUNEVYNVpWQ1cyN0hQM1lMRTNDV1RGSDUyWElLNk5WTlhXRzVJR1oyRVZRNlJZVTNPQVNWRSIsIm5hdHMiOnsibGltaXRzIjp7InN1YnMiOi0xLCJkYXRhIjotMSwicGF5bG9hZCI6LTEsImltcG9ydHMiOi0xLCJleHBvcnRzIjotMSwid2lsZGNhcmRzIjp0cnVlLCJjb25uIjotMSwibGVhZiI6LTF9LCJkZWZhdWx0X3Blcm1pc3Npb25zIjp7InB1YiI6e30sInN1YiI6e319LCJhdXRob3JpemF0aW9uIjp7fSwidHlwZSI6ImFjY291bnQiLCJ2ZXJzaW9uIjoyfX0.8i0qBOEixTDuxoU5sdAorZUOQlGdIDGtK2DNzl-z-uxJRESi5aHjAvhJkwOXF6Hx9mNRzSQ0CmGAEQW4nBXKAA ``` # Next Steps Once the sections above are configured, this initialization of all NATs Objects. Synqly Embedded will also have all the configuration that it needs to authenticate with the NATs Pods running in the same K8S Namespace. The remaining NATs configuration relates to whether to run NATs, whether to connect Embedded to it, and configuration for the NATs Pods and Services.