0.46.0 (2020-05-28)
Note about upgrading CDS
You have to install version 0.45.2 if you want to upgrade your CDS Instance from a version < 0.45 to a newer version.
When you are upgrading CDS:
- backup your database before any operation
- run the database migration, documentation on https://ovh.github.io/cds/hosting/database/
- after running the API, check if there is no error on migration, with
cdsctl admin migration list
- if there is an error, especially on RefactorApplicationCrypto, you can:
- cdsctl admin migration list --fields=name,id|grep RefactorApplicationCrypto # to get the ID of migration to reset, then run
- cdsctl admin migration reset <ID_Number>
- then restart the API
Notable Changes in version 0.46.x
The release 0.46.x contains a lots of bug fixes & performance improvements.
Rolling key and secret encryption
Like in previous releases, CDS store encrypted secret in database but now the key that is used to encrypt this secrets can be updated. This key is named the rolling key
.
See section [api.database.encryptionRollingKeys]
and [api.database.signatureRollingKeys]
in file configuration.
Workflow ascode from template
You can now use a workflow template with a workflow ascode. When using a template your repository will only contains only one yaml file with a reference to the template that you want to use and the values for all the required template parameters.
You can create this file manually or directly with the CDS command line.
Example of .cds/workflow.yml
file with some parameters
name: demo
from: shared.infra/example-with-repository@1
parameters:
deployWhen: manual
repo: github/your-org/demo
ssh_key_name: proj-ssh-key
You will find some template documentation on https://ovh.github.io/cds/docs/concepts/template/.
Version v2.0 in your workflow yml file
You can send a notification on all the pipelines, without having to write the name of each pipeline.
The shortest syntax for workflow with only one pipeline was removed in the v2.
If you have a doubt about the syntax, you can export your workflow from CDS (ui or cdsctl) in v2 to see the good syntax.
Features
- api: add hatchery and worker details in job run (#5101) (11d98eb)
- api: defaultRegion (#5212) (132c980)
- api: get workflows by repository (#5141) (d06e020)
- api: load runs with searchWorkflows (#5201) (8cd9356)
- api: load workflow without its base64 icon (#5140) (8729e39)
- api: search workflow handler (#5175) (ab1bf78)
- workflow ascode from template edit with merge request (#5154) (35db63f)
- api: lock update ascode with template, workflow pull with template (#5134) (0834d56)
- api,cdsctl,ui: workflow template with as code workflow (#5053) (9c88e9e)
- api,ui: websocket server + client for admin (#5128) (7bcdada)
- cdn: use logrus to send worker and service log (#5153) (1a6173f)
- cdn: add metrics (#5181) (2497dfa)
- cdsctl: action usage command (#5025) (320bf76)
- cdsctl: manage workflow label (#5028) (449ef4d), closes #5023
- contrib: select helm version (#5058) (#5066) (e1e4fc3)
- docs: add doc on notification in yaml files (#5110) (e671a3d)
- engine, api: metrics through REST API (#5089) (e7198f8)
- hatchery: region prerequisite (#5151) (05f8a8e)
- hatchery/openstack: check flavor (#5148) (1e25af6)
- hooks: add logs and balance in/out in status (#5131) (7c9d5fc)
- sdk: add version 2 of workflow export entities (#5021) (eb3c114)
- sdk: add WithQueryParameter request modifier (#5139) (06dc738)
- sql: add view on run nodes (#5108) (add4d15)
- ui,api: disable ascode edit for template generated components (#5138) (15a5574)
- compute default values for template parameter (#5092) (0eedf85)
- ui: update loader (#5029) (1de9f1f)
Bug Fixes
- api: action param interpolate (#5107) (661af83)
- api: add a global timeout when checking network requirement (#5070) (53fb4a2)
- api: add new application to ascode workflow (#5152) (8c856e3)
- api: add node run ID on workflowNodeRunEvent (#5167) (896dd46)
- api: Allow to get every service through getServiceHandler (#5173) (21b845b)
- api: allow to stop a workflow run marked as to delete (#5207) (71bb5bf)
- api: application crypto migration with null vcs_strategy (#5135) (c6a8f2c)
- api: avoid error if project cannot be loaded (#5096) (dc5da00)
- api: check and grant user before creating pullrequest or comment (#5080) (ebc811a)
- api: check if workflow exists found before permission (#5084) (b289f6b)
- api: clean duplicate hooks (#5094) (b83d05d)
- api: clean duplicate wnode migration (#5057) (f483fe5)
- api: crypto layer now supports complex types (#5116) (2f7acdc)
- api: default version is 1 for pipeline (#5036) (4077bb8)
- api: don't warn if no previous run was found (#5203) (2c5b0eb)
- api: fix duplicate notif for empty pipeline (d8e7c1b)
- api: fix hooks with empty UUID (#5098) (5386f91)
- api: forbid update with duplicate hooks (#5091) (88936dc)
- api: get integration with clear password from services (#5149) (423fb27)
- api: getProjectsHandler_FilterByRepo (#5136) (382c6a2)
- api: getWorkflowJobQueueHandler filter by group for all hatcheries (#5079) (8a6f308)
- api: header date in mail (#5172) (667e606), closes #5171
- api: ignore error if wkf holder not found when loading pipeline (#5184) (7491dbd)
- api: integration crypto migration (#5145) (581a47c)
- api: interpolate notif event (#5076) (064f428)
- api: load capabilities on worker model load fallback (#5197) (b19ef9a)
- api: load to delete run when updating node run job status (#5208) (ec74def)
- api: load vcsInfos on a run without a root app (#5209) (110cd1b)
- api: loading pipeline workflow holder (#5176) (6f14f3b)
- api: missing check template request for ascode (#5102) (a07869f)
- api: missing column in environment (#5204) (d4d7ca7)
- api: missing data when loading environments (#5200) (32d4b0a)
- api: missing json tag to init template from workflow (#5088) (0dde5fc)
- api: more info about LoadNodeJobRun (#5186) (d1a3a18)
- api: notification as code duplicates (#5194) (34f304d)
- api: project.loadBuiltinKey (#5051) (0d14e63)
- api: refactor project variables migration (#5054) (c44a078)
- api: release mutex when stopping a node run (#5216) (36673fd)
- api: reload old workflow just before update it (#5037) (fef0f25)
- api: remove addSpawnInfo from loop (#5112) (2e8a66c)
- api: remove all pipeline parameters before inserting new ones (#5125) (dd502d8)
- api: rename worker model (#5183) (d21537d)
- api: scan error on stopRunsBlocked (#5031) (dcdc683)
- api: unit test log (#5081) (7505302)
- api: unmarshal env last modified date (#5205) (675cda3)
- api: websocket unit test (#5162) (f59320f)
- api: worker can get integration too (#5150) (305a4b2)
- api: worker model migration should not set need registration (#5196) (713e7d3)
- api: workflow import link nodes to existing joins (#5069) (c93784b)
- api,hatchery: take care of booked JobID (#5156) (a5e7e0e)
- api,repositories: filter operations data, improve load files errors (#5191) (3973d0e)
- api,ui: resync as code when application is not ascode (#5093) (070f95e)
- api,vcs: notification set status + add gerrit in vcs notification (#5017) (f346408)
- api,vcs,repositories: improve migrate ascode (#5083) (bae5d4e)
- api,worker: send spawn infos when job is failed to show the reason (#5124) (4389d5a)
- cdn: service logs: do not send struct (#5180) (2d84513)
- cdsctl: ask for branch and message when migrate workflow ascode (#5210) (c9486c0)
- cdsctl: bad sort of arg when mixed with ctx arg, remove weight (#5211) (96a798c)
- cdsctl: display list-encrypted-data (#5215) (486820a)
- cli: Fullname,Key in actionDisplay struct (#5032) (7555bf9)
- engine: rfc2392 (#5146) (19407e5)
- hatchery: check canSpawn (#5174) (4285535)
- hatchery: check maxWorker with MaxProv (#5063) (268c001)
- hatchery: don't send status alert for only 1 dockerengine failure (#5111) (46f44ca)
- hatchery/marathon: let hatchery remove worker (#5189) (e8b6d4d)
- hook: fix branch and hash on pullrequest event + add docs (#5105) (10bc9a3)
- hooks: use DisplayName as bitbucket cloud (#5064) (1db9d66)
- openstack: killAwolServers BUILD NOSTATE (#5168) (366458b)
- repositories: service name (#5165) (5cc5308)
- repositories: workflow ascode and tag (#5132) (9362311)
- sql: add unique constraint on hook uuid (#5099) (61e1079)
- sql: missing workflow_node_run_job default values (#5104) (b0ab0f7)
- sql: project builtin key (#5050) (fd7fb63)
- sql: w_node_context constraint (#5163) (b65c968)
- ui: add subscription on workflowRun event (#5213) (79c36e5)
- ui: allow cross origin (#5159) (8303caa)
- ui: allow to edit a non ascode workflow from template (#5187) (1fd51ed)
- ui: bulk modal validation (#5214) (3ad40ff)
- ui: calculate readonly with null workflow (#5164) (18c5f78)
- ui: clean selected node when returning on workflow main page (#5090) (b779efb)
- ui: commit list during manual run + navigation into subnum (#5118) (d55dc71)
- ui: deletion of hook (#5169) (72da5f9)
- ui: disabled button, displaytag (#5122) (9b7a4c3)
- ui: display default payload (#5074) (9c2ac89)
- ui: display sidebar tags (#5072) (85ca0a7)
- ui: do not refresh state if route changed before api response (#5115) (faddae7)
- ui: do not rerender sidebar when non changes + update children instead of destroy/recreate (#5061) (454d726)
- ui: do not send default value when running pipeline (#5126) (4db705c)
- ui: edit conditions on notifications (#5035) (8355c7f)
- ui: fix link with log line (#5206) (9599374)
- ui: fix loading1st job variable (#5123) (de8a4f3)
- ui: fix websocket workflow run filter (#5161) (a5220a4)
- ui: get failed step log at load (#5117) (ca0790e)
- ui: logs not displayed when count of lines too long (#5130) (a127aee)
- ui: no jobs in runjobs (#5119) (7cba277)
- ui: refresh workflowrun in sidebar (#5127) (788e7f6)
- ui: upgrade ng2-semantic-ui (#5144) (b8d1f9d)
- ui,cdsctl: merge args tmpl bulk, ui load instance with no workflow (#5193) (c62a03c)
- websocket: fix refreh sidebar (#5198) (57d8b5b)
- move some function + add level in log (#5177) (2fae99d)
- ui: link to noderun: missing name query params (#5129) (a5a1195)
- worker: be able to get external service configuration (#5166) (7f83084)
- worker: CDS_API_URL available from job (#5147) (dfc8535)
- worker: log before exit error (#5170) (f336f5c)
- navigation when renaming workflow + user notifications (#5106) (76a9939)
- ngui autocomplete fix (#5142) (694579e)
- start workflow with a fork (#5109) (b189499)
- ui: loader path (#5044) (328565b)
- ui: run workflow in the middle (#5077) (dc99a29)
- ui: workflow node run state management (#5103) (a64cb2f)
- ui: workflow/workflowrun view, do not listen on full workflow state (#5086) (b6ef06b)
- ui: z-index edit pipeline ascode section (#5082) (35467e9)
- ui,cdsctl: take care of not imported workflow for instance (#5085) (fc05887)
- allow run condition on joins (#5071) (4feb0fe)
- do not send setStatut + add memory cache on commit status list (#5059) (06bdf35)
- worker pull usage of ram (#5097) (724564e)