Giter Club home page Giter Club logo

graasp-deploy's Issues

Add type-checking workflow

Since we might not include type checking in some repos (ie. builder) it would be nice to test it from a workflow.

Fallback from failed deployment to ECS

If the deployment failed (most probably because the container is faulty) the container will be infinitely mounted.
The solution would be to trigger a new deployment instruction with the latest working container (a previous untagged master?).

Add integration tests

Add workflow to perform smoke tests, that will also be included as part of the continuous delivery pipeline

Use versions and releases to ease the versioning

We should use versions (tags) and create releases of the workflows to ease the use and update of re-usable workflows.
Although using the commit SHA is the most secure and stable way according to the docs, it means it is less easy to know if the workflow uses the latest version.

So instead of graasp/graasp-deploy/.github/workflows/cintegration-s3-apps.yml@a5e6f97c18c86d97e3e8f15b27e4d898746327cf we could use graasp/graasp-deploy/.github/workflows/cintegration-s3-apps.yml@v1

Design local deployment with Docker

  • Ability to conditionally deploy stuff
  • Specify versions for each service
  • Must also provide other services (redis, database)
  • Config specified by e.g. json file

Implementations

  • Single docker-compose.yml with conditionals in env variables
    • pro: requires only docker, cons: rely on env vars "hacks" to conditionally disable services
  • Generate docker-compose from intermediate representation (e.g in Typescript)
    • pro: can generate other kinds of tasks (reuse with some CDK for AWS), con: require node

Issues

  • Docker-compose already defined in graasp: how to reuse?

Design AWS deployment

Generate CloudFormation SDK / CDK directives from higher-level intermediate representation (e.g. Typescript) with dependency graph (see #1)

Add possibility to omit a tag

Sometimes we don't want to push an app at the same time as everything.
It would be nice to have a "select" between yes/true to decide exactly the stack we want to trigger.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.