Skip to content

Latest commit

 

History

History
253 lines (128 loc) · 7.89 KB

note.md

File metadata and controls

253 lines (128 loc) · 7.89 KB

Features:

Phase 1 Goal:

  • [MainFeature] : Running the pipeline tasks within execution to the host target

  • [MainFeature] : On manage pipeline can get repo from Github or famous repositories info

  • [MainFeature] : On pipeline running, with info from manage pipeline, download git zip and deploy by commit sha on execution, and send it to the host target

  • [MainFeature] : On pipeline running, can download which file on target host to the pipeline running folder.

  • [MainFeature] : Enable webhook

Phase 2 Goal:

  • [MainFeature] : On pipeline running, can override variable environment value by api request with schema from variable.

  • [ExtraFeature] : On host, can use Ssh Connection hopping and Create tunnel for instant connection

  • [ExtraFeature] : Ansible integration

Api Documentation:

  • [addResultQueueDetailData] = POST

    url : {{HOST}}/client/queue/item/result/add response: url

    body:

    • job_id : string
    • path : string
    • file_name: string
    • files : files data
  • [createQueue] = Add Queue

    method: POST url : {{HOST}}/client/queue/add response: [short_token, job_id]

    body:

    • delay : number
    • process_mode : string
    • process_limit : string
    • data : JSON
  • [createQueue] = Get Queue

    method: GET url : {{HOST}}/client/queue/:job_id

  • [createQueue] = Stop Queue

    method: GET url : {{HOST}}/client/queue/:job_id/stop

  • [webhook] = Add webhook

    method: POST url : {{HOST}}/client/webhook/add

    body:

    • webhook_key : string
  • [file] = POST | GET | DELETE

  • [variable] = POST | GET | DELETE

RoadMap:

Phase 1

  • [Webhook] : Create Webhook Module:

Description:

The user can add webhook with many push data service

Task :

  • Create manage page to create webhook first include Script list, New Script, Update webhook [Alpha]

  • Create manage webhook item [Alpha]

  • Create tester and per webhook item [Alpha]

  • [Pipeline] : Create full script programing or something with add environment [Alpha]

  • [Pipeline] : Create tester for pipeline item for better experience [Alpha]

  • [Queue] : Create link {{link}} variable {{job_id}} variable generated by queue for pass to mustache [Alpha]

  • [PipelineTask] : Create component can jump other queue with call queue record [Alpha]

  • [Queue] : Create link for call as api service [Alpha]

  • [QueueScheduler] : Create add new queue as next periode "For One time scheduler only" [Pending]

  • [User] : Create personal access token [Alpha]

  • [DeleteData] : Create scenario delete data with all relation impact from project, pipeline, pipeline_item, variable, execution, queue_record, queue_record_detail [Alpha]

  • [QueueRecordDetail] : Display queue process with id job [Alpha]

Revision phase 1

  • change order numbering pipeline task [Done]

  • when try to going execution test the exist execution not display new pipeline item [Done]

  • when display page process get sort by execution pipline ordering number [Done]

  • when try add more new pipeline and save the current setting [Done]

  • Improvement host page after add new [Done]

  • Listen back state [Done]

Phase 2

  • [Credentials] : can manage [Alpha]

    • Secret text - a token such as an API token (e.g. a GitHub personal access token),

    • Username and password - which could be handled as separate components or as a colon separated string in the format username:password (read more about this in Handling credentials),

    • Secret file - which is essentially secret content in a file,

    • SSH Username with private key - an SSH public/private key pair,

    • Certificate - a PKCS#12 certificate file and optional password, or

    • Docker Host Certificate Authentication credentials.

  • [Pipeline] : Can attach git repo just only git url and fill which branch [Alpha]

  • [Host] : Change all auth information is get from table Credentials with filter [Alpha]

  • [Auth] : If open some url, and not login yet, will redirect to login. So save the url open before on query url, and after login success back to current url again was try opened [Alpha]

  • [AdminMenu] : Enable interactive menu on side menu admin [Alpha]

  • [Queue] : Add timezone for nodejs and queue scheduler [Alpha]

  • [Controller] : Add all user_id on all controller request "IMPORTANT" [OnProgress(60%)]

  • [Webhook] :Create manage webhook history [OnProgress(70%)]

  • [Webhook] : Create template every webhook [OnProgress(70%)]

  • [Queue] : Add new scenario how queue use host one to one with different value and one to many with same value [Alpha]

  • [QueueTool] : Create form tester tool for create queue [Alpha]

  • [QueueRecordDetail] : Improvement message notif success and error pipeline [Progress(70%)]

  • [Queue] : Add delay and add fix time delay for create new queue from queue [Progress(70%)]

  • [PipelineItem] : can import, add, and replace pipeline item [Alpha]

  • [PipelineItem] : can download pipeline item and variable [Alpha]

  • [UserExperience] : Improvement all experience like validation, user navigation [OnProgress(60%)]

Revision phase 2

  • [Pipeline] : Create unselect git source and remove all contain repo branch on execution, but. When unselect git source show popup to delete pipeline task repo install first. [Alpha]

  • [Pipeline] : Change git repository to have feature search repository [Alpha]

Phase 3

  • [Create,Execution] : Before create new queue record or execution check first variable_id relation is exist or not as validation on controller. If missing return error [Alpha]

  • [QueueRecordDetail] : Record all execution, variable, variable_extra, to queue_record as bundle. [Alpha]

  • [QueueRecordDetail] : Can move files from variable asset to jobs/[jobxxx]/assets folder [Cancel]

  • [QueueRecordDetail] : and can duplicate folder jobs/[jobxxx]/assets to new queue record detail folder [Pending]

  • [Storage] : Create storage file for easy management files [Alpha]

  • [Host] : Create check Host healthy every 5 minutes [Alpha]

  • [Variable] : Add scheduling delete files not exist on database table variabe [Pending]

Revision phase 3

  • [Host] : Activate deactivated host [Alpha]

  • [WebhookHistory] : Fix ui/ux [Waiting]

  • [Files] : View the file if not binary like image, text [Alpha]

  • [ModalNewScheduler] : Enable dropdown cronjob can used, and check one time scheduler too [Alpha]

  • [QueueRecords] : Add checkbox can deleted queue record details [Alpha]

  • [QueueRecord] : Add menu button close queue connection worker, schedule, and job all [Alpha]

Phase 4

  • [Pipeline] : Add non ssh pipeline and pipeline task [Alpha]

  • [PipelineTask] : Add init process like connect ssh, and pull git repository [Alpha]

  • [TaskType] : Create new component basic command with prompt mode [Alpha]

  • [TaskType] : Add new component copy or move file from job to files [Cancel]

  • [TaskType] : Improve Http Client component add upload from files [Alpha]

  • [QueueRecord] : Add viewer as guest with or without create password [Alpha]

  • [TaskType] : Add webhook component post data on Task Item [Alpha]

  • [OAuthUSers] : Change table oauth_users to be credentials [Consider]

Phase 5

  • [TestingTool] : Create page testing tool queue [Waiting]

  • [QueueRecordDetail] : From host can post data value to queue record detail.

  • [Variable] : Create secure text [Waiting]

  • [PipelineLoop] : If possible convert secure from variable text to be xxxx when write to log [Waiting]

  • [ConnectSSH] : Add both combination privatekey and password ssh connection [Waiting]

  • [User] : Manage join group share project [Waiting]

Pending

  • [Pipeline] : Create new lib form codemirror for easy compile and usable for other case [Pending]

  • [QueueSchedule] : Change workflow queue schedule no need from execution again create as group [Pending]

  • [Pipeline] : Write file use echo with array method without sftp - if possible [Pending]