Skip to content

feat(hardware-ledger): miscellaneous improvements to establishing ledger connection #1161

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 4, 2024

Conversation

szymonmaslowski
Copy link
Contributor

@szymonmaslowski szymonmaslowski commented Mar 19, 2024

Context

There is an ongoing lace onboarding flows revamp work. Changes in this PR are part of the improvements to the HW connection implementation

Proposed Solution

Important Changes Introduced

  • switched the ledger's transport lib to the one based on the navigator.usb Web API. Trezor supports only WebUSB API, so this way we will be able to show both device types in a single native picker.
  • enabled LedgerKeyAgent to accept a device (USBDevice | HID depending on the ConnectionType) object and establish the connection using it.
  • added a listener for a disconnection event which removes a particular connection object from the list of remembered active connections.
  • method searching and picking matching active connection now tests the matched connection before returning it. In case of any problem the broken connection is removed from the remembered connections list.

Copy link

github-actions bot commented Mar 19, 2024

dev-preview@us-east-1 would change:

dev-preview, dev-preview-cardanojs-backend, Deployment (apps) would change:

  # Source: cardanojs/templates/backend-deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    labels:
      app: backend
      network: preview
      release: dev-preview-cardanojs
    name: dev-preview-cardanojs-backend
  spec:
    selector:
      matchLabels:
        app: backend
        network: preview
        release: dev-preview-cardanojs
    template:
      metadata:
        labels:
          app: backend
          network: preview
          release: dev-preview-cardanojs
      spec:
        containers:
        - args:
          - start-provider-server
          env:
          - name: ALLOWED_ORIGINS
            value: chrome-extension://gafhhkghbfjjkeiendhlofajokpaflmk,chrome-extension://efeiemlfnahiidnjglmehaihacglceia,chrome-extension://bjlhpephaokolembmpdcbobbpkjnoheb,chrome-extension://djcdfchkaijggdjokfomholkalbffgil,http://localhost/,http://localhost
          - name: BUILD_INFO
-           value: '{"extra":{"narHash":"sha256-WdV9t8Zym9oXywbdc2zKZv691jRQAfleJbf7fVQaqp8=","path":"/nix/store/pajmbnq1bjx9yajby0y97dzfri463mi0-source","sourceInfo":"/nix/store/pajmbnq1bjx9yajby0y97dzfri463mi0-source"},"lastModified":1712169689,"lastModifiedDate":"20240403184129","rev":"57363bff964474f4e4a2768ba804a20dd87e2fe9","shortRev":"57363bf"}'
+           value: '{"extra":{"narHash":"sha256-XlgWfTj8PeVj5PYoDtKJd4FTCfwTjQ+EXEKlCV2iGHM=","path":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source","sourceInfo":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source"},"lastModified":1712223819,"lastModifiedDate":"20240404094339","rev":"1a70086bf01f6ee3eaae2adde1ac62d7310083a7","shortRev":"1a70086"}'
          - name: DISABLE_STAKE_POOL_METRIC_APY
            value: "true"
          - name: ENABLE_METRICS
            value: "true"
          - name: HANDLE_POLICY_IDS
            value: f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a
          - name: HANDLE_PROVIDER_SERVER_URL
            value: https://preview.api.handle.me
          - name: LOGGER_MIN_SEVERITY
            value: debug
          - name: NETWORK
            value: preview
          - name: OGMIOS_SRV_SERVICE_NAME
            value: dev-preview-cardano-core.dev-preview.svc.cluster.local
          - name: PAGINATION_PAGE_SIZE_LIMIT
            value: "5500"
          - name: POSTGRES_DB_DB_SYNC
            value: cardano
          - name: POSTGRES_DB_HANDLE
            value: handle
          - name: POSTGRES_HOST_DB_SYNC
            value: dev-preview-postgresql
          - name: POSTGRES_HOST_HANDLE
            value: dev-preview-postgresql
          - name: POSTGRES_PASSWORD_DB_SYNC
            valueFrom:
              secretKeyRef:
                key: password
                name: cardano-owner-user.dev-preview-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_PASSWORD_HANDLE
            valueFrom:
              secretKeyRef:
                key: password
                name: handle-owner-user.dev-preview-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_POOL_MAX_DB_SYNC
            value: "50"
          - name: POSTGRES_POOL_MAX_HANDLE
            value: "10"
          - name: POSTGRES_PORT_DB_SYNC
            value: "5432"
          - name: POSTGRES_PORT_HANDLE
            value: "5432"
          - name: POSTGRES_SSL_CA_FILE_DB_SYNC
            value: /tls/ca.crt
          - name: POSTGRES_SSL_CA_FILE_HANDLE
            value: /tls/ca.crt
          - name: POSTGRES_SSL_DB_SYNC
            value: "true"
          - name: POSTGRES_SSL_HANDLE
            value: "true"
          - name: POSTGRES_USER_DB_SYNC
            valueFrom:
              secretKeyRef:
                key: username
                name: cardano-owner-user.dev-preview-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_USER_HANDLE
            valueFrom:
              secretKeyRef:
                key: username
                name: handle-owner-user.dev-preview-postgresql.credentials.postgresql.acid.zalan.do
          - name: SERVICE_NAMES
            value: asset,chain-history,network-info,rewards,stake-pool,tx-submit,utxo
          - name: TOKEN_METADATA_SERVER_URL
            value: http://dev-preview-cardano-stack-metadata.dev-preview.svc.cluster.local
          - name: USE_BLOCKFROST
            value: "true"
          - name: USE_KORA_LABS
            value: "true"
-         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:pniv6scrsqcvifrrwvqz82zp4x60xliq
+         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:1jz1919hs40ln3idq726c5ip5kkcf40s
          livenessProbe:
            httpGet:
              path: /v1.0.0/health
              port: 3000
            timeoutSeconds: 5
          name: backend
          ports:
          - containerPort: 3000
            name: http
          resources:
            limits:
              cpu: 1500m
              memory: 512Mi
            requests:
              cpu: 1000m
              memory: 350Mi
          securityContext:
            runAsGroup: 0
            runAsUser: 0
          volumeMounts:
          - mountPath: /tls
            name: tls
        imagePullSecrets:
        - name: dockerconfigjson
        volumes:
        - name: tls
          secret:
            secretName: postgresql-server-cert

dev-preview, dev-preview-cardanojs-blockfrost-worker, Deployment (apps) would change:

  # Source: cardanojs/templates/blockfrost-worker-deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    labels:
      app: blockfrost-worker
      network: preview
      release: dev-preview-cardanojs
    name: dev-preview-cardanojs-blockfrost-worker
  spec:
    selector:
      matchLabels:
        app: blockfrost-worker
        network: preview
        release: dev-preview-cardanojs
    template:
      metadata:
        labels:
          app: blockfrost-worker
          network: preview
          release: dev-preview-cardanojs
      spec:
        containers:
        - args:
          - start-blockfrost-worker
          env:
          - name: BLOCKFROST_API_KEY
            valueFrom:
              secretKeyRef:
                key: api-key
                name: blockfrost
          - name: BUILD_INFO
-           value: '{"extra":{"narHash":"sha256-WdV9t8Zym9oXywbdc2zKZv691jRQAfleJbf7fVQaqp8=","path":"/nix/store/pajmbnq1bjx9yajby0y97dzfri463mi0-source","sourceInfo":"/nix/store/pajmbnq1bjx9yajby0y97dzfri463mi0-source"},"lastModified":1712169689,"lastModifiedDate":"20240403184129","rev":"57363bff964474f4e4a2768ba804a20dd87e2fe9","shortRev":"57363bf"}'
+           value: '{"extra":{"narHash":"sha256-XlgWfTj8PeVj5PYoDtKJd4FTCfwTjQ+EXEKlCV2iGHM=","path":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source","sourceInfo":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source"},"lastModified":1712223819,"lastModifiedDate":"20240404094339","rev":"1a70086bf01f6ee3eaae2adde1ac62d7310083a7","shortRev":"1a70086"}'
          - name: LOGGER_MIN_SEVERITY
            value: debug
          - name: NETWORK
            value: preview
          - name: POSTGRES_DB_DB_SYNC
            value: cardano
          - name: POSTGRES_HOST_DB_SYNC
            value: dev-preview-postgresql
          - name: POSTGRES_PASSWORD_DB_SYNC
            valueFrom:
              secretKeyRef:
                key: password
                name: cardano-owner-user.dev-preview-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_PORT_DB_SYNC
            value: "5432"
          - name: POSTGRES_SSL_CA_FILE_DB_SYNC
            value: /tls/ca.crt
          - name: POSTGRES_SSL_DB_SYNC
            value: "true"
          - name: POSTGRES_USER_DB_SYNC
            valueFrom:
              secretKeyRef:
                key: username
                name: cardano-owner-user.dev-preview-postgresql.credentials.postgresql.acid.zalan.do
-         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:pniv6scrsqcvifrrwvqz82zp4x60xliq
+         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:1jz1919hs40ln3idq726c5ip5kkcf40s
          livenessProbe:
            httpGet:
              path: /v1.0.0/health
              port: 3000
            timeoutSeconds: 5
          name: blockfrost-worker
          ports:
          - containerPort: 3000
            name: http
          resources:
            limits:
              cpu: 500m
              memory: 300Mi
            requests:
              cpu: 100m
              memory: 150Mi
          securityContext:
            runAsGroup: 0
            runAsUser: 0
          volumeMounts:
          - mountPath: /tls
            name: tls
        imagePullSecrets:
        - name: dockerconfigjson
        volumes:
        - name: tls
          secret:
            secretName: postgresql-server-cert

dev-preview, dev-preview-cardanojs-handle-projector, Deployment (apps) would change:

  # Source: cardanojs/templates/handle-projector-deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    labels:
      app: handle-projector
      network: preview
      release: dev-preview-cardanojs
    name: dev-preview-cardanojs-handle-projector
  spec:
    selector:
      matchLabels:
        app: handle-projector
        network: preview
        release: dev-preview-cardanojs
    template:
      metadata:
        labels:
          app: handle-projector
          network: preview
          release: dev-preview-cardanojs
      spec:
        containers:
        - args:
          - start-projector
          env:
          - name: BUILD_INFO
-           value: '{"extra":{"narHash":"sha256-WdV9t8Zym9oXywbdc2zKZv691jRQAfleJbf7fVQaqp8=","path":"/nix/store/pajmbnq1bjx9yajby0y97dzfri463mi0-source","sourceInfo":"/nix/store/pajmbnq1bjx9yajby0y97dzfri463mi0-source"},"lastModified":1712169689,"lastModifiedDate":"20240403184129","rev":"57363bff964474f4e4a2768ba804a20dd87e2fe9","shortRev":"57363bf"}'
+           value: '{"extra":{"narHash":"sha256-XlgWfTj8PeVj5PYoDtKJd4FTCfwTjQ+EXEKlCV2iGHM=","path":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source","sourceInfo":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source"},"lastModified":1712223819,"lastModifiedDate":"20240404094339","rev":"1a70086bf01f6ee3eaae2adde1ac62d7310083a7","shortRev":"1a70086"}'
          - name: HANDLE_POLICY_IDS
            value: f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a
          - name: LOGGER_MIN_SEVERITY
            value: debug
          - name: NETWORK
            value: preview
          - name: OGMIOS_SRV_SERVICE_NAME
            value: dev-preview-cardano-core.dev-preview.svc.cluster.local
          - name: POSTGRES_DB
            value: handle
          - name: POSTGRES_HOST
            value: dev-preview-postgresql
          - name: POSTGRES_PASSWORD
            valueFrom:
              secretKeyRef:
                key: password
                name: handle-owner-user.dev-preview-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_POOL_MAX
            value: "2"
          - name: POSTGRES_PORT
            value: "5432"
          - name: POSTGRES_SSL
            value: "true"
          - name: POSTGRES_SSL_CA_FILE
            value: /tls/ca.crt
          - name: POSTGRES_USER
            valueFrom:
              secretKeyRef:
                key: username
                name: handle-owner-user.dev-preview-postgresql.credentials.postgresql.acid.zalan.do
          - name: PROJECTION_NAMES
            value: handle
-         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:pniv6scrsqcvifrrwvqz82zp4x60xliq
+         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:1jz1919hs40ln3idq726c5ip5kkcf40s
          livenessProbe:
            httpGet:
              path: /v1.0.0/health
              port: 3000
            timeoutSeconds: 5
          name: handle-projector
          ports:
          - containerPort: 3000
            name: http
          resources:
            limits:
              cpu: 500m
              memory: 300Mi
            requests:
              cpu: 100m
              memory: 150Mi
          securityContext:
            runAsGroup: 0
            runAsUser: 0
          volumeMounts:
          - mountPath: /tls
            name: tls
        imagePullSecrets:
        - name: dockerconfigjson
        volumes:
        - name: tls
          secret:
            secretName: postgresql-server-cert

dev-preview, dev-preview-cardanojs-handle-provider, Deployment (apps) would change:

  # Source: cardanojs/templates/handle-provider-deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    labels:
      app: handle-provider
      network: preview
      release: dev-preview-cardanojs
    name: dev-preview-cardanojs-handle-provider
  spec:
    selector:
      matchLabels:
        app: handle-provider
        network: preview
        release: dev-preview-cardanojs
    template:
      metadata:
        labels:
          app: handle-provider
          network: preview
          release: dev-preview-cardanojs
      spec:
        containers:
        - args:
          - start-provider-server
          env:
          - name: ALLOWED_ORIGINS
            value: chrome-extension://gafhhkghbfjjkeiendhlofajokpaflmk,chrome-extension://efeiemlfnahiidnjglmehaihacglceia,chrome-extension://bjlhpephaokolembmpdcbobbpkjnoheb,chrome-extension://djcdfchkaijggdjokfomholkalbffgil,http://localhost/,http://localhost
          - name: BUILD_INFO
-           value: '{"extra":{"narHash":"sha256-WdV9t8Zym9oXywbdc2zKZv691jRQAfleJbf7fVQaqp8=","path":"/nix/store/pajmbnq1bjx9yajby0y97dzfri463mi0-source","sourceInfo":"/nix/store/pajmbnq1bjx9yajby0y97dzfri463mi0-source"},"lastModified":1712169689,"lastModifiedDate":"20240403184129","rev":"57363bff964474f4e4a2768ba804a20dd87e2fe9","shortRev":"57363bf"}'
+           value: '{"extra":{"narHash":"sha256-XlgWfTj8PeVj5PYoDtKJd4FTCfwTjQ+EXEKlCV2iGHM=","path":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source","sourceInfo":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source"},"lastModified":1712223819,"lastModifiedDate":"20240404094339","rev":"1a70086bf01f6ee3eaae2adde1ac62d7310083a7","shortRev":"1a70086"}'
          - name: ENABLE_METRICS
            value: "true"
          - name: HANDLE_POLICY_IDS
            value: f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a
          - name: LOGGER_MIN_SEVERITY
            value: debug
          - name: NETWORK
            value: preview
          - name: OGMIOS_SRV_SERVICE_NAME
            value: dev-preview-cardano-core.dev-preview.svc.cluster.local
          - name: POSTGRES_DB_HANDLE
            value: handle
          - name: POSTGRES_HOST_HANDLE
            value: dev-preview-postgresql
          - name: POSTGRES_PASSWORD_HANDLE
            valueFrom:
              secretKeyRef:
                key: password
                name: handle-owner-user.dev-preview-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_POOL_MAX_HANDLE
            value: "10"
          - name: POSTGRES_PORT_HANDLE
            value: "5432"
          - name: POSTGRES_SSL_CA_FILE_HANDLE
            value: /tls/ca.crt
          - name: POSTGRES_SSL_HANDLE
            value: "true"
          - name: POSTGRES_USER_HANDLE
            valueFrom:
              secretKeyRef:
                key: username
                name: handle-owner-user.dev-preview-postgresql.credentials.postgresql.acid.zalan.do
          - name: SERVICE_NAMES
            value: handle
-         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:pniv6scrsqcvifrrwvqz82zp4x60xliq
+         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:1jz1919hs40ln3idq726c5ip5kkcf40s
          livenessProbe:
            httpGet:
              path: /v1.0.0/health
              port: 3000
            timeoutSeconds: 5
          name: handle-provider
          ports:
          - containerPort: 3000
            name: http
          resources:
            limits:
              cpu: 500m
              memory: 300Mi
            requests:
              cpu: 100m
              memory: 150Mi
          securityContext:
            runAsGroup: 0
            runAsUser: 0
          volumeMounts:
          - mountPath: /tls
            name: tls
        imagePullSecrets:
        - name: dockerconfigjson
        volumes:
        - name: tls
          secret:
            secretName: postgresql-server-cert

dev-preview, dev-preview-cardanojs-pg-boss-worker, Deployment (apps) would change:

  # Source: cardanojs/templates/pgboss-deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    labels:
      app: pg-boss-worker
      network: preview
      release: dev-preview-cardanojs
    name: dev-preview-cardanojs-pg-boss-worker
  spec:
    selector:
      matchLabels:
        app: pg-boss-worker
        network: preview
        release: dev-preview-cardanojs
    template:
      metadata:
        labels:
          app: pg-boss-worker
          network: preview
          release: dev-preview-cardanojs
      spec:
        containers:
        - args:
          - start-pg-boss-worker
          env:
          - name: BUILD_INFO
-           value: '{"extra":{"narHash":"sha256-WdV9t8Zym9oXywbdc2zKZv691jRQAfleJbf7fVQaqp8=","path":"/nix/store/pajmbnq1bjx9yajby0y97dzfri463mi0-source","sourceInfo":"/nix/store/pajmbnq1bjx9yajby0y97dzfri463mi0-source"},"lastModified":1712169689,"lastModifiedDate":"20240403184129","rev":"57363bff964474f4e4a2768ba804a20dd87e2fe9","shortRev":"57363bf"}'
+           value: '{"extra":{"narHash":"sha256-XlgWfTj8PeVj5PYoDtKJd4FTCfwTjQ+EXEKlCV2iGHM=","path":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source","sourceInfo":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source"},"lastModified":1712223819,"lastModifiedDate":"20240404094339","rev":"1a70086bf01f6ee3eaae2adde1ac62d7310083a7","shortRev":"1a70086"}'
          - name: LOGGER_MIN_SEVERITY
            value: debug
          - name: METADATA_FETCH_MODE
            value: smash
          - name: NETWORK
            value: preview
          - name: POSTGRES_DB_DB_SYNC
            value: cardano
          - name: POSTGRES_DB_STAKE_POOL
            value: stakepool
          - name: POSTGRES_HOST_DB_SYNC
            value: dev-preview-postgresql
          - name: POSTGRES_HOST_STAKE_POOL
            value: dev-preview-postgresql
          - name: POSTGRES_PASSWORD_DB_SYNC
            valueFrom:
              secretKeyRef:
                key: password
                name: cardano-owner-user.dev-preview-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_PASSWORD_STAKE_POOL
            valueFrom:
              secretKeyRef:
                key: password
                name: stakepool-owner-user.dev-preview-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_POOL_MAX_DB_SYNC
            value: "5"
          - name: POSTGRES_POOL_MAX_STAKE_POOL
            value: "5"
          - name: POSTGRES_PORT_DB_SYNC
            value: "5432"
          - name: POSTGRES_PORT_STAKE_POOL
            value: "5432"
          - name: POSTGRES_SSL_CA_FILE_DB_SYNC
            value: /tls/ca.crt
          - name: POSTGRES_SSL_CA_FILE_STAKE_POOL
            value: /tls/ca.crt
          - name: POSTGRES_SSL_DB_SYNC
            value: "true"
          - name: POSTGRES_SSL_STAKE_POOL
            value: "true"
          - name: POSTGRES_USER_DB_SYNC
            valueFrom:
              secretKeyRef:
                key: username
                name: cardano-owner-user.dev-preview-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_USER_STAKE_POOL
            valueFrom:
              secretKeyRef:
                key: username
                name: stakepool-owner-user.dev-preview-postgresql.credentials.postgresql.acid.zalan.do
          - name: QUEUES
            value: pool-metadata,pool-metrics
          - name: SMASH_URL
            value: https://smash.cardano-mainnet.iohk.io/api/v1
          - name: STAKE_POOL_PROVIDER_URL
            value: http://dev-preview-cardanojs-backend.dev-preview.svc.cluster.local
-         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:pniv6scrsqcvifrrwvqz82zp4x60xliq
+         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:1jz1919hs40ln3idq726c5ip5kkcf40s
          livenessProbe:
            httpGet:
              path: /v1.0.0/health
              port: 3000
          name: pg-boss-worker
          ports:
          - containerPort: 3000
            name: http
          resources:
            limits:
              cpu: 300m
              memory: 300Mi
            requests:
              cpu: 200m
              memory: 150Mi
          securityContext:
            runAsGroup: 0
            runAsUser: 0
          startupProbe:
            httpGet:
              path: /v1.0.0/ready
              port: 3000
            initialDelaySeconds: 80
            periodSeconds: 5
          volumeMounts:
          - mountPath: /tls
            name: tls
        imagePullSecrets:
        - name: dockerconfigjson
        volumes:
        - name: tls
          secret:
            secretName: postgresql-server-cert

dev-preview, dev-preview-cardanojs-stake-pool-projector, Deployment (apps) would change:

  # Source: cardanojs/templates/stake-pool-projector-deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    labels:
      app: stake-pool-projector
      network: preview
      release: dev-preview-cardanojs
    name: dev-preview-cardanojs-stake-pool-projector
  spec:
    selector:
      matchLabels:
        app: stake-pool-projector
        network: preview
        release: dev-preview-cardanojs
    template:
      metadata:
        labels:
          app: stake-pool-projector
          network: preview
          release: dev-preview-cardanojs
      spec:
        containers:
        - args:
          - start-projector
          env:
          - name: BUILD_INFO
-           value: '{"extra":{"narHash":"sha256-WdV9t8Zym9oXywbdc2zKZv691jRQAfleJbf7fVQaqp8=","path":"/nix/store/pajmbnq1bjx9yajby0y97dzfri463mi0-source","sourceInfo":"/nix/store/pajmbnq1bjx9yajby0y97dzfri463mi0-source"},"lastModified":1712169689,"lastModifiedDate":"20240403184129","rev":"57363bff964474f4e4a2768ba804a20dd87e2fe9","shortRev":"57363bf"}'
+           value: '{"extra":{"narHash":"sha256-XlgWfTj8PeVj5PYoDtKJd4FTCfwTjQ+EXEKlCV2iGHM=","path":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source","sourceInfo":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source"},"lastModified":1712223819,"lastModifiedDate":"20240404094339","rev":"1a70086bf01f6ee3eaae2adde1ac62d7310083a7","shortRev":"1a70086"}'
          - name: LOGGER_MIN_SEVERITY
            value: debug
          - name: NETWORK
            value: preview
          - name: OGMIOS_SRV_SERVICE_NAME
            value: dev-preview-cardano-core.dev-preview.svc.cluster.local
          - name: POSTGRES_DB
            value: stakepool
          - name: POSTGRES_HOST
            value: dev-preview-postgresql
          - name: POSTGRES_PASSWORD
            valueFrom:
              secretKeyRef:
                key: password
                name: stakepool-owner-user.dev-preview-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_POOL_MAX
            value: "2"
          - name: POSTGRES_PORT
            value: "5432"
          - name: POSTGRES_SSL
            value: "true"
          - name: POSTGRES_SSL_CA_FILE
            value: /tls/ca.crt
          - name: POSTGRES_USER
            valueFrom:
              secretKeyRef:
                key: username
                name: stakepool-owner-user.dev-preview-postgresql.credentials.postgresql.acid.zalan.do
          - name: PROJECTION_NAMES
            value: stake-pool,stake-pool-metadata-job,stake-pool-metrics-job
-         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:pniv6scrsqcvifrrwvqz82zp4x60xliq
+         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:1jz1919hs40ln3idq726c5ip5kkcf40s
          livenessProbe:
            httpGet:
              path: /v1.0.0/health
              port: 3000
            timeoutSeconds: 5
          name: stake-pool-projector
          ports:
          - containerPort: 3000
            name: http
          resources:
            limits:
              cpu: 700m
              memory: 300Mi
            requests:
              cpu: 700m
              memory: 150Mi
          securityContext:
            runAsGroup: 0
            runAsUser: 0
          volumeMounts:
          - mountPath: /tls
            name: tls
        imagePullSecrets:
        - name: dockerconfigjson
        volumes:
        - name: tls
          secret:
            secretName: postgresql-server-cert

dev-preview, dev-preview-cardanojs-stake-pool-provider, Deployment (apps) would change:

  # Source: cardanojs/templates/stake-pool-provider-deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    labels:
      app: stake-pool-provider
      network: preview
      release: dev-preview-cardanojs
    name: dev-preview-cardanojs-stake-pool-provider
  spec:
    selector:
      matchLabels:
        app: stake-pool-provider
        network: preview
        release: dev-preview-cardanojs
    template:
      metadata:
        labels:
          app: stake-pool-provider
          network: preview
          release: dev-preview-cardanojs
      spec:
        containers:
        - args:
          - start-provider-server
          env:
          - name: ALLOWED_ORIGINS
            value: chrome-extension://gafhhkghbfjjkeiendhlofajokpaflmk,chrome-extension://efeiemlfnahiidnjglmehaihacglceia,chrome-extension://bjlhpephaokolembmpdcbobbpkjnoheb,chrome-extension://djcdfchkaijggdjokfomholkalbffgil,http://localhost/,http://localhost
          - name: BUILD_INFO
-           value: '{"extra":{"narHash":"sha256-WdV9t8Zym9oXywbdc2zKZv691jRQAfleJbf7fVQaqp8=","path":"/nix/store/pajmbnq1bjx9yajby0y97dzfri463mi0-source","sourceInfo":"/nix/store/pajmbnq1bjx9yajby0y97dzfri463mi0-source"},"lastModified":1712169689,"lastModifiedDate":"20240403184129","rev":"57363bff964474f4e4a2768ba804a20dd87e2fe9","shortRev":"57363bf"}'
+           value: '{"extra":{"narHash":"sha256-XlgWfTj8PeVj5PYoDtKJd4FTCfwTjQ+EXEKlCV2iGHM=","path":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source","sourceInfo":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source"},"lastModified":1712223819,"lastModifiedDate":"20240404094339","rev":"1a70086bf01f6ee3eaae2adde1ac62d7310083a7","shortRev":"1a70086"}'
          - name: DISABLE_STAKE_POOL_METRIC_APY
            value: "true"
          - name: ENABLE_METRICS
            value: "true"
          - name: LOGGER_MIN_SEVERITY
            value: debug
          - name: NETWORK
            value: preview
          - name: OGMIOS_SRV_SERVICE_NAME
            value: dev-preview-cardano-core.dev-preview.svc.cluster.local
          - name: OVERRIDE_FUZZY_OPTIONS
            value: "true"
          - name: PAGINATION_PAGE_SIZE_LIMIT
            value: "5500"
          - name: POSTGRES_DB_STAKE_POOL
            value: stakepool
          - name: POSTGRES_HOST_STAKE_POOL
            value: dev-preview-postgresql
          - name: POSTGRES_PASSWORD_STAKE_POOL
            valueFrom:
              secretKeyRef:
                key: password
                name: stakepool-owner-user.dev-preview-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_POOL_MAX_STAKE_POOL
            value: "10"
          - name: POSTGRES_PORT_STAKE_POOL
            value: "5432"
          - name: POSTGRES_SSL_CA_FILE_STAKE_POOL
            value: /tls/ca.crt
          - name: POSTGRES_SSL_STAKE_POOL
            value: "true"
          - name: POSTGRES_USER_STAKE_POOL
            valueFrom:
              secretKeyRef:
                key: username
                name: stakepool-owner-user.dev-preview-postgresql.credentials.postgresql.acid.zalan.do
          - name: SERVICE_NAMES
            value: stake-pool
          - name: TOKEN_METADATA_SERVER_URL
            value: http://dev-preview-cardano-stack-metadata.dev-preview.svc.cluster.local
          - name: USE_BLOCKFROST
            value: "true"
          - name: USE_TYPEORM_STAKE_POOL_PROVIDER
            value: "true"
-         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:pniv6scrsqcvifrrwvqz82zp4x60xliq
+         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:1jz1919hs40ln3idq726c5ip5kkcf40s
          livenessProbe:
            httpGet:
              path: /v1.0.0/health
              port: 3000
            timeoutSeconds: 5
          name: stake-pool-provider
          ports:
          - containerPort: 3000
            name: http
          resources:
            limits:
              cpu: 500m
              memory: 300Mi
            requests:
              cpu: 100m
              memory: 150Mi
          securityContext:
            runAsGroup: 0
            runAsUser: 0
          volumeMounts:
          - mountPath: /tls
            name: tls
        imagePullSecrets:
        - name: dockerconfigjson
        volumes:
        - name: tls
          secret:
            secretName: postgresql-server-cert
dev-preprod@us-east-1@v1 would change:

dev-preprod, dev-preprod-cardanojs-v1-backend, Deployment (apps) would change:

  # Source: cardanojs/templates/backend-deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    labels:
      app: backend
      network: preprod
      release: dev-preprod-cardanojs-v1
    name: dev-preprod-cardanojs-v1-backend
  spec:
    selector:
      matchLabels:
        app: backend
        network: preprod
        release: dev-preprod-cardanojs-v1
    template:
      metadata:
        labels:
          app: backend
          network: preprod
          release: dev-preprod-cardanojs-v1
      spec:
        containers:
        - args:
          - start-provider-server
          env:
          - name: ALLOWED_ORIGINS
-           value: chrome-extension://gafhhkghbfjjkeiendhlofajokpaflmk,chrome-extension://efeiemlfnahiidnjglmehaihacglceia,chrome-extension://bjlhpephaokolembmpdcbobbpkjnoheb,chrome-extension://djcdfchkaijggdjokfomholkalbffgil
+           value: chrome-extension://gafhhkghbfjjkeiendhlofajokpaflmk,chrome-extension://efeiemlfnahiidnjglmehaihacglceia,chrome-extension://bjlhpephaokolembmpdcbobbpkjnoheb,chrome-extension://djcdfchkaijggdjokfomholkalbffgil,http://localhost/,http://localhost
          - name: BUILD_INFO
-           value: '{"extra":{"narHash":"sha256-9RvvUDoS8dkIB7SA0AbgvyAB/ObVjVNZGKg7/93YHm0=","path":"/nix/store/w3cih5f5aqlcd9n1p2s6kk8320h69gjc-source","sourceInfo":"/nix/store/w3cih5f5aqlcd9n1p2s6kk8320h69gjc-source"},"lastModified":1711023862,"lastModifiedDate":"20240321122422","rev":"4b28e857732bb04ed6b347fc25309a7850ae908e","shortRev":"4b28e85"}'
+           value: '{"extra":{"narHash":"sha256-XlgWfTj8PeVj5PYoDtKJd4FTCfwTjQ+EXEKlCV2iGHM=","path":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source","sourceInfo":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source"},"lastModified":1712223819,"lastModifiedDate":"20240404094339","rev":"1a70086bf01f6ee3eaae2adde1ac62d7310083a7","shortRev":"1a70086"}'
          - name: DISABLE_STAKE_POOL_METRIC_APY
            value: "true"
          - name: ENABLE_METRICS
            value: "true"
          - name: HANDLE_POLICY_IDS
            value: f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a
          - name: HANDLE_PROVIDER_SERVER_URL
            value: https://preprod.api.handle.me
          - name: LOGGER_MIN_SEVERITY
            value: debug
          - name: NETWORK
            value: preprod
          - name: OGMIOS_SRV_SERVICE_NAME
            value: dev-preprod-cardano-core.dev-preprod.svc.cluster.local
          - name: PAGINATION_PAGE_SIZE_LIMIT
            value: "5500"
          - name: POSTGRES_DB_DB_SYNC
            value: cardano
          - name: POSTGRES_HOST_DB_SYNC
            value: dev-preprod-postgresql
          - name: POSTGRES_PASSWORD_DB_SYNC
            valueFrom:
              secretKeyRef:
                key: password
                name: cardano-owner-user.dev-preprod-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_POOL_MAX_DB_SYNC
            value: "50"
          - name: POSTGRES_PORT_DB_SYNC
            value: "5432"
          - name: POSTGRES_SSL_CA_FILE_DB_SYNC
            value: /tls/ca.crt
          - name: POSTGRES_SSL_DB_SYNC
            value: "true"
          - name: POSTGRES_USER_DB_SYNC
            valueFrom:
              secretKeyRef:
                key: username
                name: cardano-owner-user.dev-preprod-postgresql.credentials.postgresql.acid.zalan.do
          - name: SERVICE_NAMES
            value: asset,chain-history,network-info,rewards,stake-pool,tx-submit,utxo
          - name: TOKEN_METADATA_SERVER_URL
            value: http://dev-preprod-cardano-stack-metadata.dev-preprod.svc.cluster.local
          - name: USE_BLOCKFROST
            value: "true"
          - name: USE_KORA_LABS
            value: "true"
          image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:s8j5nx9x2naar194pr58kpmlr5s4xn7b
          livenessProbe:
            httpGet:
              path: /v1.0.0/health
              port: 3000
            timeoutSeconds: 5
          name: backend
          ports:
          - containerPort: 3000
            name: http
          resources:
            limits:
              cpu: 1500m
              memory: 512Mi
            requests:
              cpu: 1000m
              memory: 350Mi
          securityContext:
            runAsGroup: 0
            runAsUser: 0
          volumeMounts:
          - mountPath: /tls
            name: tls
        imagePullSecrets:
        - name: dockerconfigjson
        volumes:
        - name: tls
          secret:
            secretName: postgresql-server-cert
dev-mainnet@us-east-1 would change:

dev-mainnet, dev-mainnet-cardanojs-backend, Deployment (apps) would change:

  # Source: cardanojs/templates/backend-deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    labels:
      app: backend
      network: mainnet
      release: dev-mainnet-cardanojs
    name: dev-mainnet-cardanojs-backend
  spec:
    replicas: 3
    selector:
      matchLabels:
        app: backend
        network: mainnet
        release: dev-mainnet-cardanojs
    template:
      metadata:
        labels:
          app: backend
          network: mainnet
          release: dev-mainnet-cardanojs
      spec:
        containers:
        - args:
          - start-provider-server
          env:
          - name: ALLOWED_ORIGINS
            value: chrome-extension://gafhhkghbfjjkeiendhlofajokpaflmk,chrome-extension://efeiemlfnahiidnjglmehaihacglceia,chrome-extension://bjlhpephaokolembmpdcbobbpkjnoheb,chrome-extension://djcdfchkaijggdjokfomholkalbffgil,http://localhost/,http://localhost
          - name: BUILD_INFO
-           value: '{"extra":{"narHash":"sha256-+CEwKBpWRbnzHUE0yt1oi5wG0PcVVOCBEk7aqhViO1o=","path":"/nix/store/4qd1a6qwxk4lclnnna9w0rvkx2pkmaph-source","sourceInfo":"/nix/store/4qd1a6qwxk4lclnnna9w0rvkx2pkmaph-source"},"lastModified":1712217622,"lastModifiedDate":"20240404080022","rev":"9d5ed16b8253e5229cae30835453dc637dcdf369","shortRev":"9d5ed16"}'
+           value: '{"extra":{"narHash":"sha256-XlgWfTj8PeVj5PYoDtKJd4FTCfwTjQ+EXEKlCV2iGHM=","path":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source","sourceInfo":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source"},"lastModified":1712223819,"lastModifiedDate":"20240404094339","rev":"1a70086bf01f6ee3eaae2adde1ac62d7310083a7","shortRev":"1a70086"}'
          - name: DISABLE_STAKE_POOL_METRIC_APY
            value: "true"
          - name: ENABLE_METRICS
            value: "true"
          - name: HANDLE_POLICY_IDS
            value: f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a
          - name: HANDLE_PROVIDER_SERVER_URL
            value: https://api.handle.me
          - name: LOGGER_MIN_SEVERITY
            value: debug
          - name: NETWORK
            value: mainnet
          - name: OGMIOS_SRV_SERVICE_NAME
            value: dev-mainnet-cardano-core.dev-mainnet.svc.cluster.local
          - name: PAGINATION_PAGE_SIZE_LIMIT
            value: "5500"
          - name: POSTGRES_DB_DB_SYNC
            value: cardano
          - name: POSTGRES_DB_HANDLE
            value: handle
          - name: POSTGRES_HOST_DB_SYNC
            value: dev-mainnet-postgresql
          - name: POSTGRES_HOST_HANDLE
            value: dev-mainnet-postgresql
          - name: POSTGRES_PASSWORD_DB_SYNC
            valueFrom:
              secretKeyRef:
                key: password
                name: cardano-owner-user.dev-mainnet-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_PASSWORD_HANDLE
            valueFrom:
              secretKeyRef:
                key: password
                name: handle-owner-user.dev-mainnet-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_POOL_MAX_DB_SYNC
            value: "50"
          - name: POSTGRES_POOL_MAX_HANDLE
            value: "10"
          - name: POSTGRES_PORT_DB_SYNC
            value: "5432"
          - name: POSTGRES_PORT_HANDLE
            value: "5432"
          - name: POSTGRES_SSL_CA_FILE_DB_SYNC
            value: /tls/ca.crt
          - name: POSTGRES_SSL_CA_FILE_HANDLE
            value: /tls/ca.crt
          - name: POSTGRES_SSL_DB_SYNC
            value: "true"
          - name: POSTGRES_SSL_HANDLE
            value: "true"
          - name: POSTGRES_USER_DB_SYNC
            valueFrom:
              secretKeyRef:
                key: username
                name: cardano-owner-user.dev-mainnet-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_USER_HANDLE
            valueFrom:
              secretKeyRef:
                key: username
                name: handle-owner-user.dev-mainnet-postgresql.credentials.postgresql.acid.zalan.do
          - name: SERVICE_NAMES
            value: asset,chain-history,network-info,rewards,stake-pool,tx-submit,utxo
          - name: TOKEN_METADATA_SERVER_URL
            value: http://dev-mainnet-cardano-stack-metadata.dev-mainnet.svc.cluster.local
          - name: USE_BLOCKFROST
            value: "true"
          - name: USE_KORA_LABS
            value: "true"
-         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:n8glrvi2v0fv3nqlvns1cqssrqnbbk9a
+         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:1jz1919hs40ln3idq726c5ip5kkcf40s
          livenessProbe:
            httpGet:
              path: /v1.0.0/health
              port: 3000
            timeoutSeconds: 5
          name: backend
          ports:
          - containerPort: 3000
            name: http
          resources:
            limits:
              cpu: 1500m
              memory: 512Mi
            requests:
              cpu: 1000m
              memory: 350Mi
          securityContext:
            runAsGroup: 0
            runAsUser: 0
          volumeMounts:
          - mountPath: /tls
            name: tls
        imagePullSecrets:
        - name: dockerconfigjson
        volumes:
        - name: tls
          secret:
            secretName: postgresql-server-cert

dev-mainnet, dev-mainnet-cardanojs-blockfrost-worker, Deployment (apps) would change:

  # Source: cardanojs/templates/blockfrost-worker-deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    labels:
      app: blockfrost-worker
      network: mainnet
      release: dev-mainnet-cardanojs
    name: dev-mainnet-cardanojs-blockfrost-worker
  spec:
    selector:
      matchLabels:
        app: blockfrost-worker
        network: mainnet
        release: dev-mainnet-cardanojs
    template:
      metadata:
        labels:
          app: blockfrost-worker
          network: mainnet
          release: dev-mainnet-cardanojs
      spec:
        containers:
        - args:
          - start-blockfrost-worker
          env:
          - name: BLOCKFROST_API_KEY
            valueFrom:
              secretKeyRef:
                key: api-key
                name: blockfrost
          - name: BUILD_INFO
-           value: '{"extra":{"narHash":"sha256-+CEwKBpWRbnzHUE0yt1oi5wG0PcVVOCBEk7aqhViO1o=","path":"/nix/store/4qd1a6qwxk4lclnnna9w0rvkx2pkmaph-source","sourceInfo":"/nix/store/4qd1a6qwxk4lclnnna9w0rvkx2pkmaph-source"},"lastModified":1712217622,"lastModifiedDate":"20240404080022","rev":"9d5ed16b8253e5229cae30835453dc637dcdf369","shortRev":"9d5ed16"}'
+           value: '{"extra":{"narHash":"sha256-XlgWfTj8PeVj5PYoDtKJd4FTCfwTjQ+EXEKlCV2iGHM=","path":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source","sourceInfo":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source"},"lastModified":1712223819,"lastModifiedDate":"20240404094339","rev":"1a70086bf01f6ee3eaae2adde1ac62d7310083a7","shortRev":"1a70086"}'
          - name: LOGGER_MIN_SEVERITY
            value: debug
          - name: NETWORK
            value: mainnet
          - name: POSTGRES_DB_DB_SYNC
            value: cardano
          - name: POSTGRES_HOST_DB_SYNC
            value: dev-mainnet-postgresql
          - name: POSTGRES_PASSWORD_DB_SYNC
            valueFrom:
              secretKeyRef:
                key: password
                name: cardano-owner-user.dev-mainnet-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_PORT_DB_SYNC
            value: "5432"
          - name: POSTGRES_SSL_CA_FILE_DB_SYNC
            value: /tls/ca.crt
          - name: POSTGRES_SSL_DB_SYNC
            value: "true"
          - name: POSTGRES_USER_DB_SYNC
            valueFrom:
              secretKeyRef:
                key: username
                name: cardano-owner-user.dev-mainnet-postgresql.credentials.postgresql.acid.zalan.do
-         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:n8glrvi2v0fv3nqlvns1cqssrqnbbk9a
+         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:1jz1919hs40ln3idq726c5ip5kkcf40s
          livenessProbe:
            httpGet:
              path: /v1.0.0/health
              port: 3000
            timeoutSeconds: 5
          name: blockfrost-worker
          ports:
          - containerPort: 3000
            name: http
          resources:
            limits:
              cpu: 500m
              memory: 300Mi
            requests:
              cpu: 100m
              memory: 150Mi
          securityContext:
            runAsGroup: 0
            runAsUser: 0
          volumeMounts:
          - mountPath: /tls
            name: tls
        imagePullSecrets:
        - name: dockerconfigjson
        volumes:
        - name: tls
          secret:
            secretName: postgresql-server-cert

dev-mainnet, dev-mainnet-cardanojs-handle-projector, Deployment (apps) would change:

  # Source: cardanojs/templates/handle-projector-deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    labels:
      app: handle-projector
      network: mainnet
      release: dev-mainnet-cardanojs
    name: dev-mainnet-cardanojs-handle-projector
  spec:
    selector:
      matchLabels:
        app: handle-projector
        network: mainnet
        release: dev-mainnet-cardanojs
    template:
      metadata:
        labels:
          app: handle-projector
          network: mainnet
          release: dev-mainnet-cardanojs
      spec:
        containers:
        - args:
          - start-projector
          env:
          - name: BUILD_INFO
-           value: '{"extra":{"narHash":"sha256-+CEwKBpWRbnzHUE0yt1oi5wG0PcVVOCBEk7aqhViO1o=","path":"/nix/store/4qd1a6qwxk4lclnnna9w0rvkx2pkmaph-source","sourceInfo":"/nix/store/4qd1a6qwxk4lclnnna9w0rvkx2pkmaph-source"},"lastModified":1712217622,"lastModifiedDate":"20240404080022","rev":"9d5ed16b8253e5229cae30835453dc637dcdf369","shortRev":"9d5ed16"}'
+           value: '{"extra":{"narHash":"sha256-XlgWfTj8PeVj5PYoDtKJd4FTCfwTjQ+EXEKlCV2iGHM=","path":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source","sourceInfo":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source"},"lastModified":1712223819,"lastModifiedDate":"20240404094339","rev":"1a70086bf01f6ee3eaae2adde1ac62d7310083a7","shortRev":"1a70086"}'
          - name: HANDLE_POLICY_IDS
            value: f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a
          - name: LOGGER_MIN_SEVERITY
            value: debug
          - name: NETWORK
            value: mainnet
          - name: OGMIOS_SRV_SERVICE_NAME
            value: dev-mainnet-cardano-core.dev-mainnet.svc.cluster.local
          - name: POSTGRES_DB
            value: handle
          - name: POSTGRES_HOST
            value: dev-mainnet-postgresql
          - name: POSTGRES_PASSWORD
            valueFrom:
              secretKeyRef:
                key: password
                name: handle-owner-user.dev-mainnet-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_POOL_MAX
            value: "2"
          - name: POSTGRES_PORT
            value: "5432"
          - name: POSTGRES_SSL
            value: "true"
          - name: POSTGRES_SSL_CA_FILE
            value: /tls/ca.crt
          - name: POSTGRES_USER
            valueFrom:
              secretKeyRef:
                key: username
                name: handle-owner-user.dev-mainnet-postgresql.credentials.postgresql.acid.zalan.do
          - name: PROJECTION_NAMES
            value: handle
-         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:n8glrvi2v0fv3nqlvns1cqssrqnbbk9a
+         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:1jz1919hs40ln3idq726c5ip5kkcf40s
          livenessProbe:
            httpGet:
              path: /v1.0.0/health
              port: 3000
            timeoutSeconds: 5
          name: handle-projector
          ports:
          - containerPort: 3000
            name: http
          resources:
            limits:
              cpu: 500m
              memory: 300Mi
            requests:
              cpu: 100m
              memory: 150Mi
          securityContext:
            runAsGroup: 0
            runAsUser: 0
          volumeMounts:
          - mountPath: /tls
            name: tls
        imagePullSecrets:
        - name: dockerconfigjson
        volumes:
        - name: tls
          secret:
            secretName: postgresql-server-cert

dev-mainnet, dev-mainnet-cardanojs-handle-provider, Deployment (apps) would change:

  # Source: cardanojs/templates/handle-provider-deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    labels:
      app: handle-provider
      network: mainnet
      release: dev-mainnet-cardanojs
    name: dev-mainnet-cardanojs-handle-provider
  spec:
    selector:
      matchLabels:
        app: handle-provider
        network: mainnet
        release: dev-mainnet-cardanojs
    template:
      metadata:
        labels:
          app: handle-provider
          network: mainnet
          release: dev-mainnet-cardanojs
      spec:
        containers:
        - args:
          - start-provider-server
          env:
          - name: ALLOWED_ORIGINS
            value: chrome-extension://gafhhkghbfjjkeiendhlofajokpaflmk,chrome-extension://efeiemlfnahiidnjglmehaihacglceia,chrome-extension://bjlhpephaokolembmpdcbobbpkjnoheb,chrome-extension://djcdfchkaijggdjokfomholkalbffgil,http://localhost/,http://localhost
          - name: BUILD_INFO
-           value: '{"extra":{"narHash":"sha256-+CEwKBpWRbnzHUE0yt1oi5wG0PcVVOCBEk7aqhViO1o=","path":"/nix/store/4qd1a6qwxk4lclnnna9w0rvkx2pkmaph-source","sourceInfo":"/nix/store/4qd1a6qwxk4lclnnna9w0rvkx2pkmaph-source"},"lastModified":1712217622,"lastModifiedDate":"20240404080022","rev":"9d5ed16b8253e5229cae30835453dc637dcdf369","shortRev":"9d5ed16"}'
+           value: '{"extra":{"narHash":"sha256-XlgWfTj8PeVj5PYoDtKJd4FTCfwTjQ+EXEKlCV2iGHM=","path":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source","sourceInfo":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source"},"lastModified":1712223819,"lastModifiedDate":"20240404094339","rev":"1a70086bf01f6ee3eaae2adde1ac62d7310083a7","shortRev":"1a70086"}'
          - name: ENABLE_METRICS
            value: "true"
          - name: HANDLE_POLICY_IDS
            value: f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a
          - name: LOGGER_MIN_SEVERITY
            value: debug
          - name: NETWORK
            value: mainnet
          - name: OGMIOS_SRV_SERVICE_NAME
            value: dev-mainnet-cardano-core.dev-mainnet.svc.cluster.local
          - name: POSTGRES_DB_HANDLE
            value: handle
          - name: POSTGRES_HOST_HANDLE
            value: dev-mainnet-postgresql
          - name: POSTGRES_PASSWORD_HANDLE
            valueFrom:
              secretKeyRef:
                key: password
                name: handle-owner-user.dev-mainnet-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_POOL_MAX_HANDLE
            value: "10"
          - name: POSTGRES_PORT_HANDLE
            value: "5432"
          - name: POSTGRES_SSL_CA_FILE_HANDLE
            value: /tls/ca.crt
          - name: POSTGRES_SSL_HANDLE
            value: "true"
          - name: POSTGRES_USER_HANDLE
            valueFrom:
              secretKeyRef:
                key: username
                name: handle-owner-user.dev-mainnet-postgresql.credentials.postgresql.acid.zalan.do
          - name: SERVICE_NAMES
            value: handle
-         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:n8glrvi2v0fv3nqlvns1cqssrqnbbk9a
+         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:1jz1919hs40ln3idq726c5ip5kkcf40s
          livenessProbe:
            httpGet:
              path: /v1.0.0/health
              port: 3000
            timeoutSeconds: 5
          name: handle-provider
          ports:
          - containerPort: 3000
            name: http
          resources:
            limits:
              cpu: 500m
              memory: 300Mi
            requests:
              cpu: 100m
              memory: 150Mi
          securityContext:
            runAsGroup: 0
            runAsUser: 0
          volumeMounts:
          - mountPath: /tls
            name: tls
        imagePullSecrets:
        - name: dockerconfigjson
        volumes:
        - name: tls
          secret:
            secretName: postgresql-server-cert

dev-mainnet, dev-mainnet-cardanojs-pg-boss-worker, Deployment (apps) would change:

  # Source: cardanojs/templates/pgboss-deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    labels:
      app: pg-boss-worker
      network: mainnet
      release: dev-mainnet-cardanojs
    name: dev-mainnet-cardanojs-pg-boss-worker
  spec:
    selector:
      matchLabels:
        app: pg-boss-worker
        network: mainnet
        release: dev-mainnet-cardanojs
    template:
      metadata:
        labels:
          app: pg-boss-worker
          network: mainnet
          release: dev-mainnet-cardanojs
      spec:
        containers:
        - args:
          - start-pg-boss-worker
          env:
          - name: BUILD_INFO
-           value: '{"extra":{"narHash":"sha256-+CEwKBpWRbnzHUE0yt1oi5wG0PcVVOCBEk7aqhViO1o=","path":"/nix/store/4qd1a6qwxk4lclnnna9w0rvkx2pkmaph-source","sourceInfo":"/nix/store/4qd1a6qwxk4lclnnna9w0rvkx2pkmaph-source"},"lastModified":1712217622,"lastModifiedDate":"20240404080022","rev":"9d5ed16b8253e5229cae30835453dc637dcdf369","shortRev":"9d5ed16"}'
+           value: '{"extra":{"narHash":"sha256-XlgWfTj8PeVj5PYoDtKJd4FTCfwTjQ+EXEKlCV2iGHM=","path":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source","sourceInfo":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source"},"lastModified":1712223819,"lastModifiedDate":"20240404094339","rev":"1a70086bf01f6ee3eaae2adde1ac62d7310083a7","shortRev":"1a70086"}'
          - name: LOGGER_MIN_SEVERITY
            value: debug
          - name: METADATA_FETCH_MODE
            value: smash
          - name: NETWORK
            value: mainnet
          - name: POSTGRES_DB_DB_SYNC
            value: cardano
          - name: POSTGRES_DB_STAKE_POOL
            value: stakepool
          - name: POSTGRES_HOST_DB_SYNC
            value: dev-mainnet-postgresql
          - name: POSTGRES_HOST_STAKE_POOL
            value: dev-mainnet-postgresql
          - name: POSTGRES_PASSWORD_DB_SYNC
            valueFrom:
              secretKeyRef:
                key: password
                name: cardano-owner-user.dev-mainnet-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_PASSWORD_STAKE_POOL
            valueFrom:
              secretKeyRef:
                key: password
                name: stakepool-owner-user.dev-mainnet-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_POOL_MAX_DB_SYNC
            value: "5"
          - name: POSTGRES_POOL_MAX_STAKE_POOL
            value: "5"
          - name: POSTGRES_PORT_DB_SYNC
            value: "5432"
          - name: POSTGRES_PORT_STAKE_POOL
            value: "5432"
          - name: POSTGRES_SSL_CA_FILE_DB_SYNC
            value: /tls/ca.crt
          - name: POSTGRES_SSL_CA_FILE_STAKE_POOL
            value: /tls/ca.crt
          - name: POSTGRES_SSL_DB_SYNC
            value: "true"
          - name: POSTGRES_SSL_STAKE_POOL
            value: "true"
          - name: POSTGRES_USER_DB_SYNC
            valueFrom:
              secretKeyRef:
                key: username
                name: cardano-owner-user.dev-mainnet-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_USER_STAKE_POOL
            valueFrom:
              secretKeyRef:
                key: username
                name: stakepool-owner-user.dev-mainnet-postgresql.credentials.postgresql.acid.zalan.do
          - name: QUEUES
            value: pool-metadata,pool-metrics
          - name: SMASH_URL
            value: https://smash.cardano-mainnet.iohk.io/api/v1
          - name: STAKE_POOL_PROVIDER_URL
            value: http://dev-mainnet-cardanojs-backend.dev-mainnet.svc.cluster.local
-         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:n8glrvi2v0fv3nqlvns1cqssrqnbbk9a
+         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:1jz1919hs40ln3idq726c5ip5kkcf40s
          livenessProbe:
            httpGet:
              path: /v1.0.0/health
              port: 3000
          name: pg-boss-worker
          ports:
          - containerPort: 3000
            name: http
          resources:
            limits:
              cpu: 300m
              memory: 300Mi
            requests:
              cpu: 200m
              memory: 150Mi
          securityContext:
            runAsGroup: 0
            runAsUser: 0
          startupProbe:
            httpGet:
              path: /v1.0.0/ready
              port: 3000
            initialDelaySeconds: 80
            periodSeconds: 5
          volumeMounts:
          - mountPath: /tls
            name: tls
        imagePullSecrets:
        - name: dockerconfigjson
        volumes:
        - name: tls
          secret:
            secretName: postgresql-server-cert

dev-mainnet, dev-mainnet-cardanojs-stake-pool-projector, Deployment (apps) would change:

  # Source: cardanojs/templates/stake-pool-projector-deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    labels:
      app: stake-pool-projector
      network: mainnet
      release: dev-mainnet-cardanojs
    name: dev-mainnet-cardanojs-stake-pool-projector
  spec:
    selector:
      matchLabels:
        app: stake-pool-projector
        network: mainnet
        release: dev-mainnet-cardanojs
    template:
      metadata:
        labels:
          app: stake-pool-projector
          network: mainnet
          release: dev-mainnet-cardanojs
      spec:
        containers:
        - args:
          - start-projector
          env:
          - name: BUILD_INFO
-           value: '{"extra":{"narHash":"sha256-+CEwKBpWRbnzHUE0yt1oi5wG0PcVVOCBEk7aqhViO1o=","path":"/nix/store/4qd1a6qwxk4lclnnna9w0rvkx2pkmaph-source","sourceInfo":"/nix/store/4qd1a6qwxk4lclnnna9w0rvkx2pkmaph-source"},"lastModified":1712217622,"lastModifiedDate":"20240404080022","rev":"9d5ed16b8253e5229cae30835453dc637dcdf369","shortRev":"9d5ed16"}'
+           value: '{"extra":{"narHash":"sha256-XlgWfTj8PeVj5PYoDtKJd4FTCfwTjQ+EXEKlCV2iGHM=","path":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source","sourceInfo":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source"},"lastModified":1712223819,"lastModifiedDate":"20240404094339","rev":"1a70086bf01f6ee3eaae2adde1ac62d7310083a7","shortRev":"1a70086"}'
          - name: LOGGER_MIN_SEVERITY
            value: debug
          - name: NETWORK
            value: mainnet
          - name: OGMIOS_SRV_SERVICE_NAME
            value: dev-mainnet-cardano-core.dev-mainnet.svc.cluster.local
          - name: POSTGRES_DB
            value: stakepool
          - name: POSTGRES_HOST
            value: dev-mainnet-postgresql
          - name: POSTGRES_PASSWORD
            valueFrom:
              secretKeyRef:
                key: password
                name: stakepool-owner-user.dev-mainnet-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_POOL_MAX
            value: "2"
          - name: POSTGRES_PORT
            value: "5432"
          - name: POSTGRES_SSL
            value: "true"
          - name: POSTGRES_SSL_CA_FILE
            value: /tls/ca.crt
          - name: POSTGRES_USER
            valueFrom:
              secretKeyRef:
                key: username
                name: stakepool-owner-user.dev-mainnet-postgresql.credentials.postgresql.acid.zalan.do
          - name: PROJECTION_NAMES
            value: stake-pool,stake-pool-metadata-job,stake-pool-metrics-job
-         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:n8glrvi2v0fv3nqlvns1cqssrqnbbk9a
+         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:1jz1919hs40ln3idq726c5ip5kkcf40s
          livenessProbe:
            httpGet:
              path: /v1.0.0/health
              port: 3000
            timeoutSeconds: 5
          name: stake-pool-projector
          ports:
          - containerPort: 3000
            name: http
          resources:
            limits:
              cpu: 700m
              memory: 300Mi
            requests:
              cpu: 700m
              memory: 150Mi
          securityContext:
            runAsGroup: 0
            runAsUser: 0
          volumeMounts:
          - mountPath: /tls
            name: tls
        imagePullSecrets:
        - name: dockerconfigjson
        volumes:
        - name: tls
          secret:
            secretName: postgresql-server-cert

dev-mainnet, dev-mainnet-cardanojs-stake-pool-provider, Deployment (apps) would change:

  # Source: cardanojs/templates/stake-pool-provider-deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    labels:
      app: stake-pool-provider
      network: mainnet
      release: dev-mainnet-cardanojs
    name: dev-mainnet-cardanojs-stake-pool-provider
  spec:
    selector:
      matchLabels:
        app: stake-pool-provider
        network: mainnet
        release: dev-mainnet-cardanojs
    template:
      metadata:
        labels:
          app: stake-pool-provider
          network: mainnet
          release: dev-mainnet-cardanojs
      spec:
        containers:
        - args:
          - start-provider-server
          env:
          - name: ALLOWED_ORIGINS
            value: chrome-extension://gafhhkghbfjjkeiendhlofajokpaflmk,chrome-extension://efeiemlfnahiidnjglmehaihacglceia,chrome-extension://bjlhpephaokolembmpdcbobbpkjnoheb,chrome-extension://djcdfchkaijggdjokfomholkalbffgil,http://localhost/,http://localhost
          - name: BUILD_INFO
-           value: '{"extra":{"narHash":"sha256-+CEwKBpWRbnzHUE0yt1oi5wG0PcVVOCBEk7aqhViO1o=","path":"/nix/store/4qd1a6qwxk4lclnnna9w0rvkx2pkmaph-source","sourceInfo":"/nix/store/4qd1a6qwxk4lclnnna9w0rvkx2pkmaph-source"},"lastModified":1712217622,"lastModifiedDate":"20240404080022","rev":"9d5ed16b8253e5229cae30835453dc637dcdf369","shortRev":"9d5ed16"}'
+           value: '{"extra":{"narHash":"sha256-XlgWfTj8PeVj5PYoDtKJd4FTCfwTjQ+EXEKlCV2iGHM=","path":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source","sourceInfo":"/nix/store/6ix30qshxsj3h1pg2ji1kd1siwhr6zrv-source"},"lastModified":1712223819,"lastModifiedDate":"20240404094339","rev":"1a70086bf01f6ee3eaae2adde1ac62d7310083a7","shortRev":"1a70086"}'
          - name: DISABLE_STAKE_POOL_METRIC_APY
            value: "true"
          - name: ENABLE_METRICS
            value: "true"
          - name: LOGGER_MIN_SEVERITY
            value: debug
          - name: NETWORK
            value: mainnet
          - name: OGMIOS_SRV_SERVICE_NAME
            value: dev-mainnet-cardano-core.dev-mainnet.svc.cluster.local
          - name: OVERRIDE_FUZZY_OPTIONS
            value: "true"
          - name: PAGINATION_PAGE_SIZE_LIMIT
            value: "5500"
          - name: POSTGRES_DB_STAKE_POOL
            value: stakepool
          - name: POSTGRES_HOST_STAKE_POOL
            value: dev-mainnet-postgresql
          - name: POSTGRES_PASSWORD_STAKE_POOL
            valueFrom:
              secretKeyRef:
                key: password
                name: stakepool-owner-user.dev-mainnet-postgresql.credentials.postgresql.acid.zalan.do
          - name: POSTGRES_POOL_MAX_STAKE_POOL
            value: "10"
          - name: POSTGRES_PORT_STAKE_POOL
            value: "5432"
          - name: POSTGRES_SSL_CA_FILE_STAKE_POOL
            value: /tls/ca.crt
          - name: POSTGRES_SSL_STAKE_POOL
            value: "true"
          - name: POSTGRES_USER_STAKE_POOL
            valueFrom:
              secretKeyRef:
                key: username
                name: stakepool-owner-user.dev-mainnet-postgresql.credentials.postgresql.acid.zalan.do
          - name: SERVICE_NAMES
            value: stake-pool
          - name: TOKEN_METADATA_SERVER_URL
            value: http://dev-mainnet-cardano-stack-metadata.dev-mainnet.svc.cluster.local
          - name: USE_BLOCKFROST
            value: "true"
          - name: USE_TYPEORM_STAKE_POOL_PROVIDER
            value: "true"
-         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:n8glrvi2v0fv3nqlvns1cqssrqnbbk9a
+         image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:1jz1919hs40ln3idq726c5ip5kkcf40s
          livenessProbe:
            httpGet:
              path: /v1.0.0/health
              port: 3000
            timeoutSeconds: 5
          name: stake-pool-provider
          ports:
          - containerPort: 3000
            name: http
          resources:
            limits:
              cpu: 500m
              memory: 300Mi
            requests:
              cpu: 100m
              memory: 150Mi
          securityContext:
            runAsGroup: 0
            runAsUser: 0
          volumeMounts:
          - mountPath: /tls
            name: tls
        imagePullSecrets:
        - name: dockerconfigjson
        volumes:
        - name: tls
          secret:
            secretName: postgresql-server-cert

@tomislavhoracek
Copy link
Contributor

Copy link
Contributor

@tomislavhoracek tomislavhoracek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@szymonmaslowski I left 2 comments. Could you please take a look

@szymonmaslowski
Copy link
Contributor Author

szymonmaslowski commented Mar 21, 2024

@szymonmaslowski Tests in the wallet package are failing. https://github.com/input-output-hk/cardano-js-sdk/tree/master/packages/wallet/test/hardware/ledger cmd: yarn test:hw:ledger

@tomislavhoracek Thanks for pointing me there. I will handle it.

@szymonmaslowski szymonmaslowski force-pushed the feat/lw-9808-lace-HW-onboarding-revamp branch 2 times, most recently from 31a05e2 to bc8bcc8 Compare March 27, 2024 08:48
@szymonmaslowski szymonmaslowski self-assigned this Mar 27, 2024
@szymonmaslowski szymonmaslowski force-pushed the feat/lw-9808-lace-HW-onboarding-revamp branch from bc8bcc8 to 61bc53e Compare March 27, 2024 08:52
@szymonmaslowski szymonmaslowski force-pushed the feat/lw-9808-lace-HW-onboarding-revamp branch 5 times, most recently from 8541115 to 2d52af4 Compare March 29, 2024 15:26
mkazlauskas
mkazlauskas previously approved these changes Apr 1, 2024
Copy link
Member

@mkazlauskas mkazlauskas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Please squash into 1 commit before merging

tomislavhoracek
tomislavhoracek previously approved these changes Apr 4, 2024
Copy link
Contributor

@tomislavhoracek tomislavhoracek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

@tomislavhoracek
Copy link
Contributor

a63795a

…tablish connection with

- testing matching remembered connection before returning it
- doing cleanup on a transport disconnection event
- reorganized hardware-ledger tests in the wallet package

BREAKING CHANGE: replace LedgerKeyAgent webhid transport with webusb
- make some of the LedgerKeyAgent methods private
- remove activeTransport parameter from the LedgerKeyAgent.createTransport method
@szymonmaslowski szymonmaslowski force-pushed the feat/lw-9808-lace-HW-onboarding-revamp branch from a63795a to 1e6287b Compare April 4, 2024 09:43
@tomislavhoracek tomislavhoracek self-requested a review April 4, 2024 09:45
@szymonmaslowski szymonmaslowski merged commit 3891d35 into master Apr 4, 2024
7 checks passed
@szymonmaslowski szymonmaslowski deleted the feat/lw-9808-lace-HW-onboarding-revamp branch April 4, 2024 10:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants