Coder Social home page Coder Social logo

enac-cd-app's People

Contributors

nicdub avatar sbancal avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

enac-cd-app's Issues

[FEATURE] <deploy-key>

If 'app_repo="[email protected]:EPFL-ENAC/unhcr-geneva-tech-hub-app.git". in an inventory uses git (ssh protocol) instead of https.
We won't be able to deploy using the api because the we probably don't have the deploy key of the repository

example:
https://github.com/EPFL-ENAC/unhcr-geneva-tech-hub-app/actions/runs/4913298114/jobs/8773327998

problem

we can switch to https for public repository; but for private repository it won't be possible to deploy.

Do we do something?

Is it the expected behavior ? For instance resslab-hub is a private repo... https://github.com/RESSLab-Team/resslab-hub

Useful logs

enac-cd-app's logs must be useful.

  1. have datetime stamp
  2. correct client IP (not the reverse proxy)
  3. maybe include enacit-ansible's output ?

[BUG] finished status instead of error

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

When unreachable on ansible result. the json return 'finished' instead of 'error'

Friday 05 May 2023  15:06:47 +0000 (0:00:00.041)       0:00:00.041 ************ 
fatal: [***]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Failed to add the host to the list of known hosts (/root/.ssh/known_hosts).\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\nPermissions 0664 for '/root/.ssh/id_ed25519' are too open.\r\nIt is required that your private key files are NOT accessible by others.\r\nThis private key will be ignored.\r\nLoad key \"/root/.ssh/id_ed25519\": bad permissions\r\nroot@***: Permission denied (publickey,password).", "unreachable": true}

PLAY RECAP *********************************************************************
***     : ok=0    changed=0    unreachable=1    failed=0    skipped=0    rescued=0    ignored=0   

Friday 05 May 2023  15:06:48 +0000 (0:00:00.099)       0:00:00.141 ************ 
=============================================================================== 
Gathering Facts --------------------------------------------------------- 0.10s
Process return code: 4
Deployment finished!

Expected Behavior

We should have an error, so we can return an exit code of 1;

Steps To Reproduce

No response

Environment

- OS:
- Node:
- npm:

Anything else?

No response

[FEATURE] no more error when deploy already running

What we currently have

** When deploying multiple time (several github actions running on the same time)

  • the first time we have a job_id
  • the second time we have an error because it's already running

It's making it not obvious in the CD that the deployment was successful.

What I wish we had

** When deploying multiple time (several github actions running on the same time)

  • the first time we have a job_id
  • the second time we have the same job_id a status="running" because it's already running
  • We don't have a status=error, we may have an additional information regarding the fact that it was running before (timestamp or something else

That way, we will only see 'real failure' in the github actions pipelines. Instead of having 'failed deploy prod' which is not the case.

Review app-deploy container follow up

Currently, an enacit-ansible container is launched to run the app-deploy. It will periodically send it's status and output to the enac-cd-app to let the client know of the progress.

This works quite ok, but will never work if the container itself crashes.
In case of crash, the deployment will stay "running" until the Redis timeout which is a really big problem.

Solution: Don't require enacit-ansible to let know of its status. Instead, everytime the client asks for the progress, enac-cd-app will consult the launched container for its output (and state in case of crash).

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.