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

feat(deployment): move service account passwords to autogenerated secrets for production #1734

Merged
merged 18 commits into from
May 3, 2024

Conversation

theosanderson
Copy link
Member

@theosanderson theosanderson commented May 1, 2024

Uses service account passwords from autogenerated secrets. Adds special E2E configuration to allow the pipeline password to be hardcoded, as we need to pretend to be the pipeline from the E2E test and the E2E tester doesn't have access to the autogenerated sequences.

https://move-to-secrets.loculus.org/ebola-zaire/search

@theosanderson theosanderson added the preview Triggers a deployment to argocd label May 1, 2024
@theosanderson theosanderson changed the title wip: start to move service account password to secrets feat(deployment): mode service account passwords to autogenerated secrets for production May 1, 2024
@theosanderson theosanderson changed the title feat(deployment): mode service account passwords to autogenerated secrets for production feat(deployment): move service account passwords to autogenerated secrets for production May 1, 2024
Copy link
Contributor

@corneliusroemer corneliusroemer left a comment

Choose a reason for hiding this comment

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

This is good for production (pathoplexus) but I would prefer if we don't do this on loculus as it makes pipeline testing much harder.

Spinning up a local full deployment isn't straightforward at the moment so testing against test deployments is very beneficial.

Rather than making it an E2E vs rest distinction we could make it a production vs development one, or are you worried the production is insufficiently tested as a result?

@theosanderson
Copy link
Member Author

theosanderson commented May 2, 2024

@corneliusroemer: the default values.yaml needs to be a secure environment for production. We can add additional values files for development (as we do already for E2E here). If the --dev flag in deploy.py used those same values (i.e. hardcoded these passwords) would that work for you?

@theosanderson
Copy link
Member Author

Yes, IMO preview deployments should be as similar to the real thing as we can get them. If you want secondary test deployments through ArgoCD we could try to make those, but the intent of preview deployments is to preview how something will work in production.

@corneliusroemer
Copy link
Contributor

corneliusroemer commented May 2, 2024

Is it possible to make it easy to get a hard coded argocd deployment by toggling a field in values.yaml, like we do with disable preprocessing etc? That would be fine, then I can't test again main anymore but make a quick test deployment.

We still have superuser with fixed passwords in all preview deployments btw 😀

deploy.py isn't enough as local deployments aren't complete and also generally more cumbersome than argocd preview (lacking backend and website arm images)

@theosanderson
Copy link
Member Author

It can't really be a single field, but all you'd need to do would be to merge the values_dev.yaml into values_preview_server.yaml so ~10 secs in VS code

@theosanderson
Copy link
Member Author

theosanderson commented May 2, 2024

FWIW deploy.py can be used to make a full deployment - that's how the E2E tests work
Sorry I misread the point about ARM images

@corneliusroemer
Copy link
Contributor

I'm testing the suggested merge here: #1746

Unfortunately spruce reorders the values.yaml making the diff appear big. Maybe a sed script would be more light touch.

A boolean would be cool but I can see it's not so easy. Maybe just changing two lines in question might be easier than going full merge.

@theosanderson
Copy link
Member Author

All you should need is this: https://github.com/loculus-project/loculus/pull/1747/files

@theosanderson theosanderson merged commit c619298 into main May 3, 2024
20 checks passed
@theosanderson theosanderson deleted the move_to_secrets branch May 3, 2024 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
preview Triggers a deployment to argocd
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants