Skip to content
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

Pass deployment variables to service containers #3565

Closed
6 tasks done
Tracked by #953 ...
mguidon opened this issue Nov 15, 2022 · 6 comments
Closed
6 tasks done
Tracked by #953 ...

Pass deployment variables to service containers #3565

mguidon opened this issue Nov 15, 2022 · 6 comments
Assignees
Labels
t:enhancement Improvement or request on an existing feature
Milestone

Comments

@mguidon
Copy link
Member

mguidon commented Nov 15, 2022

USER STORY

  1. Some services require environment variables that are set on a deployment level. If so, these variables will be referenced on the image labels and initialized to something reasonable. These variables must be passed to both, computational and dynamic services.
  2. Environment variables on the deployment can define/override certain behavior on services upon creation.

USE CASES

User case 1: Image Labels

  • license servers, e.g. 27000@license.sim4life.com
    • sim4life
    • sim4life-lite
    • 3rd-party software
    • iSolve comp. service
  • STUN/TURN servers, e.g. turn.sim4life.com
  • Location of VIP models for sim4life
  • Auto-save timeout for sim4life-lite
  • location of data (e.g. for storing TI databases)

Use case 2: Creation

  • Remove all elevated privileges unless the deployment defines that otherwise (e.g. cap_sys for debugging in vivo)

Use case 3: @colinRawlings

Taken from #3921 (comment)

This would be very helpful for crash reporting in s4l:web. In this use case we have a set of services:

  • s4l-core (the backend)
  • rt-web (the frontend)
  • sym-server (the symbol server)

The sym-server holds the "sensitive" (in the sense that it indirectly exposes the source code) symbol database. When a crash occurs s4l-core's monitor application POST the binary .dmp file for analysis using the symbol database. Following analysis the callstack and metadata should be placed in an AWS SQS queue for later ingestion by the gitlab issue tracker. The sym-server obtains the details for the AWS queue from (3) environment variables.

As a (developer-)user I would like:

  • A way to inject the "secret" environment variables for the queue into the service (this seems consistent with the vendor oenvs). This would avoid me having to add them in the code and allow me to replace all of them everywhere if a set of credentials was comprimised without changing the code or deployed version.

  • A way to learn to augment the meta-data for each crash with the user info, platform info, ... (this seems consistent with the session oenvs)

Tasks

Preview Give feedback
  1. a:models-library changelog:🎨enhancement
    pcrespov
  2. a:database a:director-v2 a:models-library t:enhancement t:maintenance
    pcrespov
  3. a:director-v2
    pcrespov
  4. a:webserver t:maintenance
    pcrespov
  5. a:dask-service changelog:🎨enhancement
    sanderegg
  6. a:director-v2 a:dynamic-sidecar
    GitHK
@GitHK
Copy link
Contributor

GitHK commented Nov 16, 2022

Additional information:

  • due to current request to block access to outgoing domains, we need a way to whitelist the content of the env vars for this services. Envoy proxy might be a solution for forwarding requests to DNS domains. See Dynamic forward proxy

@pcrespov
Copy link
Member

@mguidon
Copy link
Member Author

mguidon commented Jan 11, 2023

@pcrespov One more thing. It would be very useful to pass the information about whether the user is a tester or not (e.g. TESTER_MODE_ENABLED=1. That would allow me to enable/disable some settings only for testers, such as advanced video codec settings.

@pcrespov
Copy link
Member

pcrespov commented Mar 6, 2023

(⚠️ devops)

@pcrespov
Copy link
Member

pcrespov commented Jul 4, 2023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
t:enhancement Improvement or request on an existing feature
Projects
None yet
Development

No branches or pull requests

4 participants