DockerImage for amazone codebuild
100K+
Coorpacademy Infrastructure System for AWS
Ce projet contient l'ensemble des configs cloudformation pour notre infra, ainsi que les programmes, configs et paramètres qui on servi pour la générer.
En point d'entrée (dev) utilisateur, le cli, est accessible via node cli ou npm start ou via
coorpinfra une fois installé.
Le projet fournit un interface en ligne de commmande pour interagir avec les différents aspects de l'infra.
Une fois lancé, on pourra lancer des commandes selon différentes catégories:
config : sous-commandes liées aux définitions pour générer les templates cloudformationssm : sous-commandes liées au Paramater Store (SSM) d'AWS utilisé pour stocker les variables d'environnementstacks : sous-commandes pour manipuler les stacks-configsclusters : sous-commandes pour voir le statut des clusters ecsdns (DISABLED): sous-commandes pour effectuer des opérations sur le routage dns vers aws ou herokuPour avoir des détails sur chacune des sous-commandes accessibles dans les sous catégories il suffit
de lancer la commande help my-category ou my-category help.
Si on a qu'une commande à lancer et qu'on ne veut pas ouvrir le CLI en mode interactif, il suffit de spécifier la commande
à la suite de l'invocation du cli: (par exemple: npm start config generate-all)
Il est possible d'installer localement le cli en faisant un npm link depuis le projet.
L'utilitaire coorpinfra est alors disponible et utilisable.
L'autocompletion peut être mise en place ensuite avec les opérations suivantes:
. <(coorpinfra --completion) à son .zshrceval "$(coorpinfra --completion)" à son .bashrc
(avec bash-completion de mis en place (installer via brew et avec source $(brew --prefix)/etc/bash_completion
dans le ~/.bash_profile)):warning: Outdated details to be updated
Voici le Top level de l'organisation du projet:
Une Stack Definition sert à décrire les paramètres d'un service que l'on va proposer. Ainsi on a une stack-definition pour le mooc, l'api progression, l'api platform, connect, setup, etc.
Voici un example un poil fictif inspiré de API I18n:
name: api-i18n
githubUrl: https://github.com/CoorpAcademy/api-i18n
config:
minCapacity: 2
maxCapacity: 10
port: 3010
host: i18n${HostSuffix}.coorpacademy.com
buildVariables:
- name: NpmToken
variable: NPM_TOKEN
description: Auth token for NPM
path: /credentials/global/npm-token
runtimeVariables:
- name: Test
variable: TEST2
describe: TEST2
value: TEST
Ceci sert pour générer à la fois la stack deployée en live, ainsi que la CodePipeline de test qui va servir pour tester et builder le projet à chaque modification.
Note: les variables peuvent être soit en clair, comme par exemple Test,
soit elles peuvent être stockées dans AWS Store Parameter
auquel cas on fait référence à la variable par son path comme le npm token dans cet exemple.
Pour générer les cloudformation à partir des définitions il suffit de lancer la config generate-all.
Content type
Image
Digest
sha256:2d81cb9c1…
Size
470.2 MB
Last updated
about 1 month ago
docker pull coorpacademy/codebuild