Documentation d’installation
L’installation de provoly se fait via un chart Helm et nécessite certains prérequis.
-
Cluster Kubernetes > 1.23
-
ElasticSearch
-
Kafka
-
Base de données postgresql
-
Keycloak
-
2 buckets S3 (un pour des
files
, un autre pour desicons
utilisés par le frontend)
De plus certaines dépendances peuvent être utiles pour la gestion d’éléments connexes
-
Stack Grafana Prometheus pour l’observabilité
-
Cert-manager
-
Gestion DNS pour configurer les noms de domaines sur votre load balancer
-
Ingress Controller pour le routing au sein du cluster Kubernetes
-
Certificat Wildcard stockés dans un secret Kubernetes
Déploiement
Pour déployer un chart, en considérant que les prérequis nécessaires sont remplis, utilisez la commande suivante sur votre cluster
helm upgrade --install oci://dh2wltsh.gra7.container-registry.ovh.net/provoly/provoly-demo provoly --version $PROVOLY_FRONT_VERSION --values values.yaml
Exemple de values.yaml
---
frontendUrl: YOUR_DOMAIN
wsUrl: YOUR_DOMAIN/api/ref/messages
backend:
postgresql:
secretKeyRefName: provoly-postgresql
jdbcUrl: jdbc:postgresql://provoly-postgresql:5432/provoly
provoly:
sso_oauth:
url: https://sso.YOUR_DOMAIN/auth/realms/provoly
client_id: provoly
elastic:
publicCertsSecretKeyRef:
name: elastic-data-es-http-certs-public
key: ca.crt
host: elastic-data-es-http
secretKeyRef:
name: elastic-data-es-elastic-user
key: elastic
kafka:
# TODO Do we need 2 different variables, couldn't we use always bootstrap_servers_url ?
bootstrap_servers_url: kafka-provoly-kafka-bootstrap:9092
bootstrap_servers_url_brokers: kafka-provoly-kafka-brokers:9092
kafka_auth:
keycloak_client_id: kafka-oauth
minio:
url: https://YOUR_BUCKET
filesBucketName: "dev-files"
iconsBucketName: "dev-icons"
region: "REGION"
cors_allowed_origins:
- https://frontend.YOUR_DOMAIN
api_url: api.YOUR_DOMAIN
Documentation d’exploitation
Mise à jour
Déployer de nouveau l’application avec la nouvelle version et suivre les instructions éventuellement données pour la mise à jour.
Sauvegarde
Si vous utiliser Velero, des labels ont été ajoutés sur les ressources à sauvegarder pour permettre une sauvegarde. Cependant, pour la restauration, il est nécessaire d’interrompre les opérateurs afin d’éviter d’interférer avec la restauration de véléro.
Identifiants
Les identifiants pour accéder aux différents services peuvent être indiqués dans les valeurs des charts lors du déploiements. Il est alors de la responsabilité de la personne en charge du déploiement de s’assurer de leur confidentialité (via chiffrement du fichier de valeur par exemple)
Certains identifiants (l’accès Admin à Keycloak par exemple) peuvent être générés lors de l’installation. Les secrets sont alors disponible dans les secrets Kubernetes, sur le namespace ou l’application est déployée.