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

PSP #141

Closed
revolunet opened this issue Dec 27, 2021 · 14 comments
Closed

PSP #141

revolunet opened this issue Dec 27, 2021 · 14 comments
Assignees
Labels
🔒 secu wontfix This will not be worked on
Milestone

Comments

@revolunet
Copy link
Member

revolunet commented Dec 27, 2021

  • corriger les images docker pour qu'elles tournent avec un user>0
  • appliquer les securityContext OU mettre l'UID du USER en numérique

ex : USER 1000 dans le Dockerfile

@revolunet
Copy link
Member Author

revolunet commented Dec 28, 2021

images nginx

Les images nginx tournent en root/port 80;

Il faut les modifier conjointement à la définition du service kube et du containerPort

WIP

@revolunet
Copy link
Member Author

revolunet commented Jan 4, 2022

Les images nginx et nginx4spa ont été corrigée, le fix à appliquer sur les produits est le suivant : https://github.com/SocialGouv/www/pull/930/files

@revolunet
Copy link
Member Author

J'ai du ajouter un config.containerPort dans notre template autodevops pour pouvoir controller le port et ne pas risquer d'impacter l'existant. actuellement on utilise 80 implicitement via un component kosko-charts;

@devthejo
Copy link
Member

devthejo commented Jan 10, 2022

concernant l'image hasura, pour pouvoir la passer en rootless, il faudra investiguer, pour tracer, voici quelque tickets pour aider

hasura/graphql-engine#5697
hasura/graphql-engine#3824
hasura/graphql-engine#4651

finalement, sur la dernière version il suffit d'ajouter USER 1001 à la fin du Dockerfile

@devthejo
Copy link
Member

concernant hasura voici un exemple d'implémentation dans eMJPM
https://github.com/SocialGouv/emjpm/blob/master/packages/hasura/Dockerfile
les lignes concernées sont:

il faut au minimum une v2.1

FROM hasura/graphql-engine:v2.1.1.cli-migrations-v3

seul root peut allouer des ports inférieurs à 1024 (pour hasura c'est le 80 par défaut)

ENV HASURA_GRAPHQL_SERVER_PORT=8080

et prendre garde à ne pas l'overrider pendant le deployment.

C'est la ligne essentielle :)

USER 1001

Et, petite astuce sympa, pour migrer d'une hasura v1 vers v2 sans tout casser il faut également rajouter:

ENV HASURA_GRAPHQL_V1_BOOLEAN_NULL_COLLAPSE=true

@revolunet
Copy link
Member Author

carnet-de-bord-ci restore-db-1646147185491-vh8k6
cdtn-admin-270-dependabot-npm-an-g3u43z drop-azure-db-043c4c14-qrcrs
cdtn-admin-270-dependabot-npm-an-h93qat drop-azure-db-ef680bb3-5h28w
cdtn-admin-secret backup-db-cdtn-admin-1646625600-hwr6x
mon-psy-sante-preprod import-data-1646671200-99458
mon-psy-sante-preprod import-data-1646671500-2wdwk
mon-psy-sante-preprod import-data-1646671800-tfnfw
mon-psy-sante-preprod import-data-1646672100-w4b9s
mon-psy-sante-preprod import-data-1646672400-ctdwh
secretariat-helm-deploy hasura-69c675d59-jxf9k

@revolunet
Copy link
Member Author

donc focus sur rootless containers pour l'instant

@matmut7
Copy link
Member

matmut7 commented Jun 16, 2022

Pour lister les users de tous les pods :

kubectl get pod --all-namespaces --no-headers --field-selector=status.phase=Running | xargs -L 1 bash -c 'echo $0 $1 $(kubectl exec -n $0 $1 -- id)' | column -t > pod_users.txt

(édité)

@revolunet
Copy link
Member Author

xargs: illegal option -- l

@matmut7
Copy link
Member

matmut7 commented Jul 18, 2022

Pour les images Strapi : SocialGouv/1000jours#1281
Doit encore être testé un peu

@matmut7
Copy link
Member

matmut7 commented Jul 26, 2022

Le cas de Hasura était un spécifique : le user 1001 existe déjà sur leur image, c'est hasura dans le group hasura. Dans d'autres cas, comme Strapi, si on utilise simplement USER 1001 sans le créer avant, on peut se retrouver avec un user 1001 dans le groupe root. Pour éviter ça, on créer manuellement le user ; le groupe du même nom est créé automatiquement.

Exemples :

@revolunet
Copy link
Member Author

revolunet commented Aug 17, 2022

Relevé des images à traiter (prod) :

  • carnets/hasura
  • cdtn-admin/admin
  • cdtn-api/redis
  • covid/*
  • dashlord-full
  • domifa/metabase
  • enfants-du-spectacle/pe-cronjob
  • fce/*
  • mano/metabase
  • matomo-metabase/*
  • mon-psy-sante/keycloak
  • sample-next-app/pgweb
  • serving-ml
  • template/keycloak
  • tumeplay/metabase

@gary-van-woerkens gary-van-woerkens mentioned this issue Dec 13, 2022
5 tasks
@stale
Copy link

stale bot commented Jan 8, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Mark it with help wanted label if don't want it to be considered stale. Thank you for your contributions.

@stale stale bot added the wontfix This will not be worked on label Jan 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🔒 secu wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

6 participants