Skip to content

v1.0.0

Choose a tag to compare

@flant-team-sysdev flant-team-sysdev released this 20 Mar 16:12
f278a18

Changelog

Features

  • SecretKeyRotate action (c01298a)
  • add chart dependency update command (70ab11c)
  • add chart download/upload/archive commands (e783327)
  • add chart lint command and Lint action (5672c82)
  • add chart secret file encrypt/decrypt/edit commands (65d7127)
  • add chart secret key create/rotate commands (5979513)
  • add chart secret values-file encrypt/decrypt/edit commands, move some secrets code from werf to pkg/secret (39777c6)
  • add release get command and Get action (bb496ee)
  • add release history command (df782af)
  • add release list command (1474b81)
  • add release rollback command (4af458b)
  • add repo add/remove/update/login/logout commands (e917b65)
  • add Rollback action (eb4ee7f)
  • add SecretFileDecrypt/Encrypt/Edit actions (a25566a)
  • add SecretKey option to actions (10edcbd)
  • add SecretKeyCreate action (f75fd09)
  • add SecretValuesDecrypt action (94b17f8)
  • add SecretValuesFileEdit action (500abad)
  • add SecretValuesFileEncrypt action (42bc967)
  • add version command (cf9a441)
  • add werf.io/sensitive annotation (7840c7c)
  • add Dockerfile for nelm CLI build and deployment (05f9e3b)
  • add first original chart dependency update Helm command (47f774b)
  • add flag description wrapping in --help (34ccf2f)
  • add more kube auth options to actions (b6e439d)
  • add optional Chart.yaml fallbacks for name/apiVersion/version/appVersion if missing (a6ce234)
  • add Plan() action (a86117f)
  • add Printer for new Dynamic Tracker (a4337b0)
  • add public Deploy() action (5176060)
  • add release differ (96e8d25)
  • add Render() action (79d212e)
  • add some missing options to all cli commands (ce826b9)
  • add Uninstall() action (77e9158)
  • allow processing resources without cluster access (e300250)
  • caching for kubernetes GET requests (293ca66)
  • change cli commands layout and rename actions (ca201e7)
  • change DeletePropagationPolicy from Auto to Foreground (67f4598)
  • change some cli options (6e9cabe)
  • colorize chart render output (17ab583)
  • colorize release get command output (03c521d)
  • colorize version command output, refactor syntax highlighting (3c87b6c)
  • complete rework of managed fields handling + minor fixes (13d672d)
  • deploy plan changes printing, improved logging (df454a0)
  • deps: update Kubedog and Helm 3 (4ac00b8)
  • detailed exit code option for planner (ab09d6c)
  • enhance nelm CLI with new chart and release management commands (01a670e)
  • expose deployable resources from resource processor (9b36985)
  • ExternalSecret CR tracking works again (247bf72)
  • group options in --help (aa48edf)
  • helm new deploy core v2 (52b5648)
  • hide sensitive Secret's diff (7211e3c)
  • implement nelm CLI with core commands and update README (a553eeb)
  • improve --help structure and formatting (e903aa1)
  • improve log coloring (4351445)
  • make env vars in --help more readable (a54faa9)
  • make Kube QPS and Burst limits configurable (5b5426e)
  • migrate to new kubedog dynamic tracker (71c8ae0)
  • new werf.io/deploy-dependency-<name> annotation (8d464f9)
  • new experimental deploy engine (d770963)
  • print templated manifests when they are invalid with debug logging enabled (1d995b5)
  • priority sorting, improved formatting and grouping for commands lists in --help (a5732c8)
  • remade all cli flags for all commands (ab77a18)
  • remove excessive operations summary (95e0c82)
  • remove mentions about Nelm being experimental and update README.md (164d465)
  • rename chart archive command to chart pack (8e2c3af)
  • replace --debug with --log-level (80b5d07)
  • rework CLI (f7b518a)
  • set cli flags via env vars and refactor flag management (2f428bb)
  • skip removal of resources with missing/incorrect release annotations and labels (5a39613)
  • stable resource sorting everywhere (ea2d973)
  • update/sync all dependencies to github.com/werf/werf (fa47525)
  • use improved custom syntax highlight theme for logs (8c558a3)

Bug Fixes

  • "no matches for kind" when deploying CR for CRD from crds/ (8df83c8)
  • --color-mode doesn't work in chart render command (348d3b3)
  • $HOME is not defined and function werf_secret_file not defined (f60246d)
  • SecretFileEdit action TempDirPath option had no default (b562db1)
  • add --log-level to version command (aa3ab9c)
  • add chart, log, errors packages (a23b192)
  • add global actionLock due to actions not be thread-safe (12131b7)
  • add History api (d6045a8)
  • add info about options allowed values to --help (96f92aa)
  • add new "skipped" release status (ce428fe)
  • allow empty helm.sh/hook-delete-policy and werf.io/delete-policy (e3d1326)
  • broken release manifests (d002c72)
  • cannot deep copy *annotation.AnnotationReplicasOnCreation (77f475f)
  • change default log levels for all actions (da4a0a2)
  • change default log levels for all commands (7f0e29a)
  • change package name to github repo (26f2d6a)
  • change package name to github repo /2 (314e6b9)
  • change params to comma-separated in werf.io/deploy-dependency-... anno (8fccfc8)
  • claim ownership of kubectl edit'ed fields (321c57e)
  • CLI build fails with undefined: releaseNameStub (67a1fd3)
  • colorize warnings and errors (84cf471)
  • corrupted revision number in errors (755a223)
  • cosmetics (c7f020d)
  • cosmetics (ce9fb45)
  • decouple pkgs from resource classes, refactor tracker and waiter (ea441e1)
  • dependencies could not find Apply vertices (e3cf591)
  • dependency between ClusterRoleBinding in non-release namespace and ClusterRole not detected (30a4791)
  • deploy graph cycle if same external dependency on multiple resources (befda66)
  • deploy release builder to History api (33e4685)
  • deployable general resources not patching correctly (62caec7)
  • differ dry-run apply from real apply in logs (d2c6df5)
  • disable rendering of subchart notes by default (14c2fa9)
  • divide by zero error if 0 deployable resources (7a4126c)
  • do not create internal dependency if pointing field is empty string (17cd652)
  • embeed Lists transformer into resource processor (1800d8f)
  • engine v2 fixes (72c09fd)
  • env vars ignored for required cli options (658820a)
  • error message 'annotation ... not found, must be set to ""' (3cc6d4f)
  • errors count in progress report not updating (6a14413)
  • External Secret CR readying when CR has no status (b7cbcc8)
  • failure on first revision (ac4845b)
  • field adoption didn't work if live resource up to date (606e0df)
  • fix debug, fix noactivitytimeout for hooks (c56bea9)
  • fix links in release message (3691943)
  • get deployable resources race condition, improve GET caching (9f802d5)
  • get rid of kubedog module replace (50a8e59)
  • hangs on panic during operation execution (fea8447)
  • helm debug logs printed on info level (f738a22)
  • helm hooks with multiple pre/post conditions always skipped (0a4ad9b)
  • hide CRDs create diffs from plan (c3d9bcb)
  • hooks run twice (1cece09)
  • ignore error "Additional property werf is not allowed" (9a8bbc0)
  • ignore resource API Version in its ID (5d786ea)
  • improve logging (b405dfc)
  • initial resource status should be "unknown" instead of "created" (b1ce7af)
  • initialize Nelm as a package (2a206e3)
  • invalid labels/annotations silently remove all user labels/annotations for the resource (215b579)
  • Jobs not failing on errors (85bdffb)
  • locker: replace panic with error and add details for lost lease case (e553a09)
  • minimize DeepCopying while processing resources (72347ab)
  • minor cli and action api changes (a351452)
  • missing filepath for hooks (e5188c9)
  • multiple delete policies ignored (82d624e)
  • new "resource" package, will replace "resource" and "annotation" (7565cc3)
  • no need for field-manager to be configurable (2addfc9)
  • no need for field-manager to be configurable /2 (27b50f0)
  • no need for field-manager to be configurable /3 (eb9955f)
  • no resources deleted in uninstall if pre-delete hook present (5f1da12)
  • numerous bugs in new flag handling (cf8884e)
  • occasional panics on logging (a36c897)
  • panic connecting internal dependencies (4818eaf)
  • panic if replicas null (303f19a)
  • panic in release deploy (c4947d3)
  • panic in auto internal deps when invalid manifest (b60fbcc)
  • panic with external-dependency namespace annotation (98f3b27)
  • panic with werf.io/replicas-on-creation (c229357)
  • parallel GET/dry-APPLY finishing before results received (e24a1ee)
  • plan build error not showed and deploy graph not saved (55e3725)
  • plan: hidden sensitive output message for Secrets even if no sensitive changes (e6e7926)
  • process rollback hooks too (6af6002)
  • refactor Waiter API (61695d9)
  • refactor: new Resource(s), Release, History, ResourcePreparer, KubeClient classes (9e4dca4)
  • release namespace and hook never deleted (except recreation) (42c9e85)
  • remove "..." from log messages (ba0c9c8)
  • remove default stubs from --release-name and --namespace flags (06ae5e1)
  • remove trailing space from NOTES.txt (27e5085)
  • removing chart values with null (a630e78)
  • replace strategic patch with merge patch (38d3cbd)
  • resources always rendered in no cluster mode (090b0d1)
  • return plan even on build error (46a88cd)
  • rework release locking in Uninstall action (ef471b6)
  • rollback plan error not showed (7573580)
  • round down columns width to be safe (de630b1)
  • run chart lint in local mode by default (f385ca7)
  • show "insignificant changes" in plan if filtered resource diff is (5c3fba6)
  • show live version instead of local for deleted resource diff (a66fa53)
  • simplify executing operations log output (ed903da)
  • steal managed fields from any manager with prefix "werf" (b780c05)
  • switch to go 1.21 (44e573a)
  • tracking might hang with track-termination-mode "NonBlocking" (c5759ee)
  • trigger test release (d0fe732)
  • trigger test release /2 (077682e)
  • twice-deployed pre AND post hooks (d043cf1)
  • update all Go modules (19e0cb5)
  • update helm and kubedog modules (53edfcc)
  • update helm dependency (1398f4a)
  • update helm module (6375703)
  • update jsondiff module (7009d6b)
  • uppercase for STATE column in progress reports (1647b36)
  • wip: new resource classes, new release class, history and (0ef680f)

Installation via trdl (with autoupdates)

  1. Install trdl client binary (preferably to ~/bin): https://github.com/werf/trdl/releases/latest
  2. Add Nelm repository to trdl:
trdl add nelm https://storage.googleapis.com/nelm-tuf 1 2122fb476c48de4609fe6d3636759645996088ff6796857fc23ba4b8331a6e3a58fc40f1714c31bda64c709ef6f49bcc4691d091bad6cb1b9a631d8e06e1f308
  1. Make nelm binary available in the current shell:
source "$(trdl use nelm 1 stable)"

Direct installation (no autoupdates)

Download nelm binaries from here:

These binaries were signed with PGP and could be verified with the Nelm PGP public key. For example, nelm binary can be downloaded and verified with gpg on Linux with these commands:

curl -sSLO "https://storage.googleapis.com/nelm-tuf/targets/releases/1.0.0/linux-amd64/bin/nelm" -O "https://storage.googleapis.com/nelm-tuf/targets/signatures/1.0.0/linux-amd64/bin/nelm.sig"
curl -sSL https://raw.githubusercontent.com/werf/nelm/refs/heads/main/nelm.asc | gpg --import
gpg --verify nelm.sig nelm