MissionKontrol est un panneau d'administration qui permet aux utilisateurs de stocker des données CRUD dans une ou plusieurs bases de données. L'application possède sa propre base de données utilisée pour stocker la configuration et les commentaires. Les bases de données auxquelles vous vous connectez sont mises à jour directement.
La gemme séparée des rails de relais Missionkontrol améliore les validations d'écriture/mise à jour/suppression. Nous envisageons d'ajouter la possibilité de mettre à jour via webhook/API.
Tables CRUD avec recherche côté serveur
Vues glisser-déposer
Files d'attente de tâches automatisées
Système d'autorisations RBAC
Tables CRUD avec recherche côté serveur
Gestion des autorisations
La documentation complète peut être trouvée ici : https://www.missionkontrol.io
Afin de rendre votre environnement de développement opérationnel, suivez simplement ces étapes.
Installer Docker
Démarrez Docker avec make start
Accédez au docker avec make bash
Installer les dépendances des rails avec bundle install
Configurer la base de données avec bundle exec rails db:setup
Testez son fonctionnement en exécutant les bundle exec rails s
de serveur
Vous trouverez ci-dessous un guide des tâches de développement courantes dont vous aurez probablement besoin lorsque vous travaillerez sur cette application.
Avant d'exécuter l'une de ces commandes, vous devez vous assurer que Docker s'exécute avec les éléments suivants :
commencer
Si Docker est en cours d'exécution mais qu'il ne semble pas fonctionner, vous pouvez suivre les conseils ci-dessous.
faire du tapage bundle exécutable rails s
Pour exécuter tous les tests, vous pouvez procéder comme suit :
faire du tapage bundle exécutable rspec
Si vous souhaitez exécuter un test particulier :
faire du tapage bundle exec rspec spec/path/to_my_spec.rb
Créer une migration et l'exécuter :
faire du tapage bundle exec rails g migration CreateProducts nom : chaîne bundle exec rails db: migrer
Recréation de la base de données :
faire du tapage bundle exec rails db: réinitialiser
Pour configurer Docker pour la première fois, utilisez la commande start. Il est possible de courir plusieurs fois en toute sécurité.
commencer
Si vous souhaitez arrêter vos conteneurs pour économiser votre batterie ou votre processeur, vous pouvez exécuter la commande d'arrêt suivante.
faire arrêter
Si vous souhaitez effectuer un redémarrage non destructif, juste pour donner un petit coup de pied aux pneus, vous pouvez utiliser la commande de redémarrage.
faire un redémarrage
Lorsque les choses tournent mal ou que vous arrêtez de travailler sur cette application, vous souhaiterez peut-être supprimer la configuration de Docker. Vous pouvez utiliser cette commande :
rendre propre
Si les choses se sont mal passées et que vous souhaitez repartir de zéro, vous pouvez redémarrer toute l'installation :
rendre propre commencer faire du tapage installation groupée bundle exec rails db: configuration
Il existe plusieurs variables d'environnement qui peuvent être utilisées pour modifier le fonctionnement de l'application et de ses conteneurs.
KUWINDA_DATABASE_HOST
- spécifie l'adresse du serveur de base de données ;
KUWINDA_DATABASE_PORT
- spécifie le port du serveur de base de données (valeur par défaut : 5432
) ;
KUWINDA_DATABASE_USER
- spécifie le nom de l'utilisateur de la base de données ;
KUWINDA_DATABASE_PASSWORD
- spécifie le mot de passe de l'utilisateur de la base de données ;
KUWINDA_DATABASE_TIMEOUT
- configure le temps d'attente maximum pour que le serveur de base de données devienne disponible (valeur par défaut : 42s
) ;
KUWINDA_DATABASE_SETUP
- indique si la base de données sera créée à partir de zéro (valeur par défaut : true
) ;
PORT
- spécifie le port du serveur d'applications (valeur par défaut : 3000
) ;
WEB_CONCURRENCY
- spécifie le nombre de workers
(processus de serveur Web forkés) à démarrer en mode cluster.
RAILS_MAX_THREADS
- spécifie le nombre de threads
chacun des travailleurs utilisera sous le capot (valeur par défaut : 5
) ;
RAILS_ENV
- spécifie l' environment
d'application (valeur par défaut : development
) ;
RAILS_MASTER_KEY
- clé utilisée pour déchiffrer le fichier credentials.yml.enc
crypté ;
RAILS_SERVE_STATIC_FILES
- permet de décharger les fichiers statiques en service sur le serveur Web Apache ou NGINX ;
RAILS_LOG_TO_STDOUT
- permet d'envoyer les journaux de l'environnement production
à STDOUT
.
Configuration du serveur Web NGINX :
WEB_SERVER_ENABLE
- active et exécute nginx au démarrage des conteneurs ;
WEB_SERVER_USE_HTTPS
- active le port HTTPS sur le serveur Web ;
WEB_SERVER_PORT
- permet de remplacer le port HTTP par défaut - 80/tcp
;
WEB_SERVER_HTTPS_PORT
- permet de remplacer le port HTTPS par défaut - 443/tcp
;
WEB_SERVER_STATIC_FILES
- permet de servir des fichiers statiques par le serveur Web - doit être utilisé en combinaison avec RAILS_ENV=production
et RAILS_SERVE_STATIC_FILES=true
.