diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 0528a4681..a94e2bf15 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -37,6 +37,7 @@ on: - staging - qa - development + - e2e core-image-tag: description: Core DockerHub image tag required: true diff --git a/.github/workflows/provision.yml b/.github/workflows/provision.yml index 9ed6743f8..b7fa74bd0 100644 --- a/.github/workflows/provision.yml +++ b/.github/workflows/provision.yml @@ -15,6 +15,7 @@ on: - production - backup - jump + - e2e tag: type: choice description: Select group tag you want to execute diff --git a/.github/workflows/seed-data.yml b/.github/workflows/seed-data.yml index b2e257ef4..7dafbf91b 100644 --- a/.github/workflows/seed-data.yml +++ b/.github/workflows/seed-data.yml @@ -21,6 +21,7 @@ on: - qa - staging - production + - e2e core-image-tag: description: Core DockerHub image tag jobs: diff --git a/infrastructure/docker-compose.e2e-deploy.yml b/infrastructure/docker-compose.e2e-deploy.yml new file mode 100644 index 000000000..35e7aaab8 --- /dev/null +++ b/infrastructure/docker-compose.e2e-deploy.yml @@ -0,0 +1,122 @@ +services: + notification: + environment: + - LANGUAGES=en,fr + - SENTRY_DSN=${SENTRY_DSN:-} + - QA_ENV=true + - NODE_ENV=production + + countryconfig: + image: ${DOCKERHUB_ACCOUNT}/${DOCKERHUB_REPO}:${COUNTRY_CONFIG_VERSION} + restart: unless-stopped + secrets: + - jwt-public-key.{{ts}} + environment: + - NODE_ENV=production + - QA_ENV=true + - CHECK_INVALID_TOKEN=true + - MONGO_URL=mongodb://mongo1/user-mgnt?replicaSet=rs0 + - SENTRY_DSN=${SENTRY_DSN:-} + - SENDER_EMAIL_ADDRESS=${SENDER_EMAIL_ADDRESS} + - ALERT_EMAIL=${ALERT_EMAIL} + - SMTP_HOST=${SMTP_HOST} + - SMTP_PORT=${SMTP_PORT} + - SMTP_USERNAME=${SMTP_USERNAME} + - SMTP_PASSWORD=${SMTP_PASSWORD} + - SMTP_SECURE=${SMTP_SECURE} + deploy: + replicas: 1 + networks: + - overlay_net + + client: + environment: + - DECLARED_DECLARATION_SEARCH_QUERY_COUNT=100 + + gateway: + environment: + - LANGUAGES=en,fr + - SENTRY_DSN=${SENTRY_DSN:-} + - QA_ENV=true + - NODE_ENV=production + - DISABLE_RATE_LIMIT=true + + workflow: + environment: + - LANGUAGES=en,fr + - SENTRY_DSN=${SENTRY_DSN:-} + - QA_ENV=true + - NODE_ENV=production + + search: + environment: + - SENTRY_DSN=${SENTRY_DSN:-} + - QA_ENV=true + - NODE_ENV=production + + metrics: + environment: + - SENTRY_DSN=${SENTRY_DSN:-} + - QA_ENV=true + - NODE_ENV=production + + auth: + environment: + - SENTRY_DSN=${SENTRY_DSN:-} + - QA_ENV=true + - NODE_ENV=production + + user-mgnt: + environment: + - SENTRY_DSN=${SENTRY_DSN:-} + - QA_ENV=true + - NODE_ENV=production + + webhooks: + environment: + - SENTRY_DSN=${SENTRY_DSN:-} + - QA_ENV=true + - NODE_ENV=production + + config: + environment: + - SENTRY_DSN=${SENTRY_DSN:-} + - QA_ENV=true + - NODE_ENV=production + + documents: + environment: + - QA_ENV=true + - NODE_ENV=production + + scheduler: + environment: + - QA_ENV=true + - NODE_ENV=production + + traefik: + command: + # Use HTTP-01 challenge as the web server is publicly available + # https://doc.traefik.io/traefik/https/acme/#httpchallenge + # For DNS-01 challenge and manual certificates, check staging and production configurations + - --certificatesresolvers.certResolver.acme.email=riku@opencrvs.org + - --certificatesresolvers.certResolver.acme.storage=acme.json + - --certificatesresolvers.certResolver.acme.caserver=https://acme-v02.api.letsencrypt.org/directory + - --certificatesresolvers.certResolver.acme.httpchallenge.entrypoint=web + - --certificatesresolvers.certResolver.acme.httpchallenge=true + + - --entrypoints.web.address=:80 + - --entrypoints.websecure.address=:443 + - --providers.docker + - --providers.docker.swarmMode=true + - --api.dashboard=true + - --api.insecure=true + - --log.level=WARNING + - --entrypoints.web.http.redirections.entryPoint.to=websecure + - --entrypoints.web.http.redirections.entryPoint.scheme=https + - --entrypoints.web.http.redirections.entrypoint.permanent=true + - --serverstransport.insecureskipverify=true + - --entrypoints.websecure.address=:443 + - --accesslog=true + - --accesslog.format=json + - --ping=true diff --git a/infrastructure/environments/setup-environment.ts b/infrastructure/environments/setup-environment.ts index 66dbc41f5..741c93050 100644 --- a/infrastructure/environments/setup-environment.ts +++ b/infrastructure/environments/setup-environment.ts @@ -805,7 +805,8 @@ const SPECIAL_NON_APPLICATION_ENVIRONMENTS = ['jump', 'backup'] value: 'production' }, { title: 'Jump / Bastion', value: 'jump' }, - { title: 'Other', value: 'development' } + { title: 'Other', value: 'development' }, + { title: 'E2E', value: 'e2e' } ] } ].map(questionToPrompt) diff --git a/infrastructure/known-hosts b/infrastructure/known-hosts index 80bcdb1cb..5a6bc2bf8 100644 --- a/infrastructure/known-hosts +++ b/infrastructure/known-hosts @@ -45,6 +45,18 @@ farajaland.opencrvs.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICogAQju3/dugNOeKJTY 188.245.160.165 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC9I1ZqQRWEkXU0MZ4FJUaxSkVnxtjogNft/W6WxCVUaYHakXLZqrWMEbQgOY8RZgsNGJXMKQVhFR4NmMSvP3/eSvLNAtBStAkEqk3KHOb8r6/dRL0i9+IFpOIJuAYC/RbyqYEQyHm989GVYwd5QJLraObBmcFLERhl5eBIa/OaFMBMcL1iTseVDFMIIaVu/V5vlWH+08DmqluydGHtNqsbwuwuFR7k6lspzEvD6jYwE2dwxT+qg9d17aZmbLGWhH8YnJNjf8dkgFX3KKlLM7msyyUcBZaNzhYPZbGozzyYAqyUbxsvpg4srQnD3+TVKI9bOIrOVtWeD7y9fuHmji4R+QO5eNRM97WxMsqGyadXy01M9okiAj2KwhWvzSKUT9UFiiuN/zviXd1PqvbCqkQ7vKXHvAh3Y+mB4G30DGA+0xRHWzgNA1b9IBCSbSMsV1KrQj0jCpTfXkvC081KK5Lph/tRJtBolKbr2IuKEaeaDqJhEsS2zIkXht4+a6hx8Ec= 188.245.160.165 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBZQ2LbjmgyBA56IAMSmG+GqraKhgHt+o22KDsj7mX1rR00FbZTfmlIXjb5W5Gf+pwhIGHMfk1jyAVWb4xiahuU= 188.245.160.165 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICogAQju3/dugNOeKJTYQJXefgjvalRPdldP8fEivC7f +farajaland-e2e.opencrvs.dev ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCm0OmPHjJR7CRN88VlLduTnBfOAB6wCN2KT/kL4cD6u+Ch2VTAir6WqSzRjXP6DXU5Do9FmfQx6T+UyK2tcc95wqzaZDH+v4f9UnOczVhPzHBZMqdrDsqCUC3fOHnA/qoORhb1rn0CtWfALr7M6TvIijRaPgNzSWp6ZacDDEjuS/18rbevFBrZUy3GBVCqTnV3QwDAzVHtwn7oH+Ak04UpvrU2iNzYiUBU5qXvRJUz/4TCGRvJqhQL6xgAYKxYvV/oWf8V/GHMAHWKbs5vAzfr7kei+Vta+lCzrw4UK7yuhAQ+jIoXLoWuuc30XP3/WejD/Ccf8Oowb/TJy7nVinSpEpG8AS6YGscUdMXz9ly6Y6Q+NEUqOzsaDt0/1ZtvO2n4AJGC6kjMCgv+hczl31Wkfi9pjUvFhKOf/CO5aBCPJYOxqtwjGi1BikgY2Fm65LrwGmUubf1KQCINu9GnYxIGg8DVJUcvdpbuuxSRr/qbdxbokZah0uFj8LKHt8uDpfc= +farajaland-e2e.opencrvs.dev ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLeLluDmyIrAxJheL9t1YWb8xBUYr47PAhIXOx6iyKxcIel4rbrkQ4pSKZTAhDv4tm05umQaV2b5hvkI6ijfTt8= +farajaland-e2e.opencrvs.dev ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEJF3A+wz6YWmHG3Zhee5rzY8+OAenYzAWEl5IJhlA1s +49.13.216.104 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCm0OmPHjJR7CRN88VlLduTnBfOAB6wCN2KT/kL4cD6u+Ch2VTAir6WqSzRjXP6DXU5Do9FmfQx6T+UyK2tcc95wqzaZDH+v4f9UnOczVhPzHBZMqdrDsqCUC3fOHnA/qoORhb1rn0CtWfALr7M6TvIijRaPgNzSWp6ZacDDEjuS/18rbevFBrZUy3GBVCqTnV3QwDAzVHtwn7oH+Ak04UpvrU2iNzYiUBU5qXvRJUz/4TCGRvJqhQL6xgAYKxYvV/oWf8V/GHMAHWKbs5vAzfr7kei+Vta+lCzrw4UK7yuhAQ+jIoXLoWuuc30XP3/WejD/Ccf8Oowb/TJy7nVinSpEpG8AS6YGscUdMXz9ly6Y6Q+NEUqOzsaDt0/1ZtvO2n4AJGC6kjMCgv+hczl31Wkfi9pjUvFhKOf/CO5aBCPJYOxqtwjGi1BikgY2Fm65LrwGmUubf1KQCINu9GnYxIGg8DVJUcvdpbuuxSRr/qbdxbokZah0uFj8LKHt8uDpfc= +49.13.216.104 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLeLluDmyIrAxJheL9t1YWb8xBUYr47PAhIXOx6iyKxcIel4rbrkQ4pSKZTAhDv4tm05umQaV2b5hvkI6ijfTt8= +49.13.216.104 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEJF3A+wz6YWmHG3Zhee5rzY8+OAenYzAWEl5IJhlA1s +farajaland-e2e.opencrvs.dev ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCm0OmPHjJR7CRN88VlLduTnBfOAB6wCN2KT/kL4cD6u+Ch2VTAir6WqSzRjXP6DXU5Do9FmfQx6T+UyK2tcc95wqzaZDH+v4f9UnOczVhPzHBZMqdrDsqCUC3fOHnA/qoORhb1rn0CtWfALr7M6TvIijRaPgNzSWp6ZacDDEjuS/18rbevFBrZUy3GBVCqTnV3QwDAzVHtwn7oH+Ak04UpvrU2iNzYiUBU5qXvRJUz/4TCGRvJqhQL6xgAYKxYvV/oWf8V/GHMAHWKbs5vAzfr7kei+Vta+lCzrw4UK7yuhAQ+jIoXLoWuuc30XP3/WejD/Ccf8Oowb/TJy7nVinSpEpG8AS6YGscUdMXz9ly6Y6Q+NEUqOzsaDt0/1ZtvO2n4AJGC6kjMCgv+hczl31Wkfi9pjUvFhKOf/CO5aBCPJYOxqtwjGi1BikgY2Fm65LrwGmUubf1KQCINu9GnYxIGg8DVJUcvdpbuuxSRr/qbdxbokZah0uFj8LKHt8uDpfc= +farajaland-e2e.opencrvs.dev ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLeLluDmyIrAxJheL9t1YWb8xBUYr47PAhIXOx6iyKxcIel4rbrkQ4pSKZTAhDv4tm05umQaV2b5hvkI6ijfTt8= +farajaland-e2e.opencrvs.dev ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEJF3A+wz6YWmHG3Zhee5rzY8+OAenYzAWEl5IJhlA1s +49.13.216.104 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCm0OmPHjJR7CRN88VlLduTnBfOAB6wCN2KT/kL4cD6u+Ch2VTAir6WqSzRjXP6DXU5Do9FmfQx6T+UyK2tcc95wqzaZDH+v4f9UnOczVhPzHBZMqdrDsqCUC3fOHnA/qoORhb1rn0CtWfALr7M6TvIijRaPgNzSWp6ZacDDEjuS/18rbevFBrZUy3GBVCqTnV3QwDAzVHtwn7oH+Ak04UpvrU2iNzYiUBU5qXvRJUz/4TCGRvJqhQL6xgAYKxYvV/oWf8V/GHMAHWKbs5vAzfr7kei+Vta+lCzrw4UK7yuhAQ+jIoXLoWuuc30XP3/WejD/Ccf8Oowb/TJy7nVinSpEpG8AS6YGscUdMXz9ly6Y6Q+NEUqOzsaDt0/1ZtvO2n4AJGC6kjMCgv+hczl31Wkfi9pjUvFhKOf/CO5aBCPJYOxqtwjGi1BikgY2Fm65LrwGmUubf1KQCINu9GnYxIGg8DVJUcvdpbuuxSRr/qbdxbokZah0uFj8LKHt8uDpfc= +49.13.216.104 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLeLluDmyIrAxJheL9t1YWb8xBUYr47PAhIXOx6iyKxcIel4rbrkQ4pSKZTAhDv4tm05umQaV2b5hvkI6ijfTt8= +49.13.216.104 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEJF3A+wz6YWmHG3Zhee5rzY8+OAenYzAWEl5IJhlA1s farajaland-dev.opencrvs.dev ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK8rHIcnRA53cSB43KGiHHXnEf21QdaZNc+XATHqDXPaLLXoL2O/I8iTnZ7F/Jyimf+QI5dAQaC3ggAp/+2SeyY= farajaland-dev.opencrvs.dev ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDKHAOl7zXxbe4y+fA3H1LbO8Z4idICK8ad12bjpPR5hGZ6T/qwXNn94++PBwDOL8HVS/FbxxIMP1ID5oxVms16nIKBO7A65cUag8TN/Y7N74vydIzId3F0WfqkdreW6EFTkna36XdvA+GG94yfsXsQdnDj2eIYcKntuLPX/BC+oX9w6yObv/9xqoFJQZX5vcDOl8HmfSLEwsnlCppedvZzS/Lnid5RfxDsxwSy8z3HR3hUpjttsrehS1+m+zZq1XbT/0ZpJ5hfvXtXs2BoMJpTuzixdeac1VyRStx+RUqhwuhO2G0r14Dw+DtDZ92is4+zsyTHw9i8c4KdTNupVOi//ER2O+QFIxKSqwzJMTbLZE9E+TuYYrFk3MaKRFUh3uUtzVMbt3Ifg2j3ya99V5yHDEMIlju1z8c0TXTnoWDVePyFQdWahCWAmzfFDySba26iR28pfmcfAartGuCr4EEWrl/hDwccyGTt/ZqT/DzElE3EYMqfs/H4cTfQpTJqjIU= farajaland-dev.opencrvs.dev ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDeLxeWeJcjLAbbL4nxkFGJKHQnkGAQLDjrs7Al0fRIH diff --git a/infrastructure/server-setup/inventory/e2e.yml b/infrastructure/server-setup/inventory/e2e.yml new file mode 100644 index 000000000..99187e000 --- /dev/null +++ b/infrastructure/server-setup/inventory/e2e.yml @@ -0,0 +1,66 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at https://mozilla.org/MPL/2.0/. +# +# OpenCRVS is also distributed under the terms of the Civil Registration +# & Healthcare Disclaimer located at http://opencrvs.org/license. +# +# Copyright (C) The OpenCRVS Authors located at https://github.com/opencrvs/opencrvs-core/blob/master/AUTHORS. +all: + vars: + users: + # If you need to remove access from someone, do not remove them from this list, but instead set their state: absent + - name: pyry + ssh_keys: + - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJBcrSLLdrkLrhqNQi7Uo/ZIWXb1y4kc0vGb16e2s0Jq pyry@opencrvs.org + state: present + sudoer: true + - name: tameem + ssh_keys: + - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGUprcQyUFYwRto0aRpgriR95C1pgNxrQ0lEWEe1D8he haidertameem@gmail.com + state: present + sudoer: true + - name: riku + ssh_keys: + - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDWIF63S4f3z9wQMvWibmvl7MPuJ6EVrkP0HuvgNhcs/4DZYMcR/GRBvV4ldOSYMlBevIXycgGzNDxKJgENUuwIWanjBu7uVAHyD6+cIRD1h63qq7Cjv/2HYTfBDKOrKzPOhA6zWvKO0ZGWsjRXk5LWMCbKOkvKJCxOpj/NVBxeE4FTK5YADYPV3OSsmBtqTHrVLm2sMmShU/2hMYYswWkobidjX65+nK/X+3C+yJbHwiydVvn+QCrFlFfCLPWKe8rUpOxyxofPqWVQh6CHhHfT8okaOc9sOE8Qeip9ljo84DftJh3Xm3ynOdWK1hH2BvRvxNadWqcE1qECbkg4tx2x riku.rouvila@gmail.com + state: present + sudoer: true + - name: euan + ssh_keys: + - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDECqHO65UpyrrO8uueD06RxGaVVq22f152Rf8qVQQAAIGAMu6gCs7ztlZ8a3yQgSEIjM/Jl1/RqIVs6CziTEef74nLFTZ5Ufz3CLRVgdebBeSBEmhTfTUV0HLkSyNzwKFpuzJxucGd72ulPvEp6eHvyJAPJz37YcU8cjaL1v05T6s2ee99li35GlDDtCzfjVV4ZPAg5JdfWuTj41RAVC0LQhk2/NB4qEu37UxGGjhRFSjBEsS5LxI9QfvgrsHpl/VOn+soH7ZkK7kS6qRgNP/uYsXRWXhHaamcl5OX68gJWTbrW6c7PCqlbCWGnsHJswCmqPIthwXXMfC7ULDNLSKG6mslAt5Dyc8/MCr3vTW7pDyr2d0FvvY86SMQUggxv3qF7TZewqfX1bhK0fMLarIxVMQ1RFo//wN9QGA+2we8rxd2Y1Kr1DBuJyuwXPfv+Exo8yNYQ+x/AYH5k6UVcSYuaB8eYmplG2KQCxt8RBFtoChrwOKNRWLqXdKyfpdp5XmnnWxPvR95gf3h3yLocVYkF0i0uvKKJ0vt8J0Ezfkdfow0B1kUg5bPXKJROX7PwbaCPdYcxyDaO6wwOigRnSmoFvkH1pLb4j1RQAXcX531CHgfN6Izi/h0mpMS4bnyIUcv2GQr+h4z4TxcCtj7qpH2y6yw7XG12jVh7TfeesXG2Q== euanmillar77@gmail.com + state: present + sudoer: true + - name: tahmid + ssh_keys: + - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINUml9O5ySwPtEMD1yGEYHlf9Z3jro97NWAnM9+ew9gn tahmidrahman.dsi@gmail.com + state: present + sudoer: true + - name: tareq + ssh_keys: + - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCWQihdKkwxTItN+rwYAX1vBg+8sv59sFsjYoVaO2mzS01rARfh+M+UVqpEv3zFT/3v6Dr5Z5VhzYvvbH8akiGQxURqie9quEi1iBCqcq+LApkMZxNm7yyvexlFsbkKMHsSZyVCzjE2Wt+6fwR1NqkMQgJjZS+b4CB+CUTNP2i6ytUTmck9K5iAOp1Gpm+Xgyvz6ZEJPkAJ16gV7gzNJUt/DSCkCyV8G2BqYLWeR2QxAbKyuf3LzO5i4XZdiZi9o60QAt3A6KGGLazd0UuYdehQDqVwXzwimLeeuZbaPNmwoAy7DeatOdurrWbnL7ytaiPvAbwai6Grt3PhhM41qO+uojnqTdnFdSOEPVIYMR7+mYu9tuwHZcMJIbbvMPD6EvKumD5Ndn5OxiLY/zQF5PuG89pBdTkTzzREvbV1Dkh2hwAIvgavlZl3P64On+4+FAgjrAx5U55khoRAe2FbEvB+EUGwro0bRffiM2NmxkUBraEuT2Xt5K01ZoBU6F4feO0= tareq.aziz@dsinnovators.com + state: present + sudoer: true + - name: jamil + ssh_keys: + - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINMSNTIIsM0C3uJg3V/Fqh2gi4lvl2y6nenrb2Ft1JlX jamil31415926@gmail.com + state: present + sudoer: true + - name: ashwin + ssh_keys: + - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDD+XVbhu1otffgnbMQzi+qwRhIjRdj9F2Sc7hxS/LzTiMhvj+0CrAw+Uw3dgvv+yDHaKPN1JJfsDpxtMqEldmv3DoEdfGHvfsRf+Q7kIycOBv31q2PLtMNH3/Jx6377SttB/g06zLWotHhpfw4rDZeBrJaCY+ZUXaFa8c7C723Rt8kUeS8wuiNNS17dijYNa/PxG2v3Clfp3suW/IWe8iPFkPY/6/BnGHlZ1mOgzoxCHshWureBlLWXyIEX/484vf6Q/N7nVpFpDjiCJeKGoDNVlbDuh/E/HPyx3tmv5GJceAzA3nVoifwp2x147Me1yGp5mm6SqZPCIroKeyJKbFOrnxX6hVGcZH9Kta8a1aPhk7Up9xJMvtrsS0TscHHL50IFKs3xu9Y1PvB2qu8G/T9q+Z7B+15qz9oW9ohhE6K06awWFpt8jqHiAUSn6T7rY1G/77c0lR0WngcgQxd3jQ0GtoPNPLCAfHZ6rHAer8ulGPwdGmDmSOjS0dyOliRABY+GA6VCEnOlpE51XjHTw/dPtQeDm8Pgg9tH4Q5DeXxHEto7PAk68SdlC7CcpzEBBD4zGzmptToppjrww37AsjnX/vkkRW2Yoaclk56iz7zEuK5AwIsZODucOVKoVwRH1A9DZrtB4yf+FpBuwKcFVup4Jauu2fLoeMGhviApRxvFQ== ashwin@opencrvs.org + state: present + sudoer: true + - name: shoumik + ssh_keys: + - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINRSRTqm3vOfjyTutISEtbVp7ZddoWa9NZDZLeWZGzLy dsi@dsi-Inspiron-15-3511 + state: present + sudoer: true + enable_backups: false +docker-manager-first: + hosts: + farajaland-integration-e2e: + ansible_host: '49.13.216.104' + data_label: data1 + +# QA and staging servers are not configured to use workers. +docker-workers: {}