Release v0.22.0

Release v0.22.0

Changelog since v0.21.1

New Features

  • Introduce trigger field to give more controls on triggering the deployment

    • trigger.onCommit: controls triggering new deployment when newly added Git commits touched the application
    • trigger.onCommand: controls triggering new deployment when received a new SYNC command from the web console or pipectl
    • trigger.onOutOfSync: controls triggering new deployment when application is at OUT_OF_SYNC state. Enabling this will force Piped to always attempt to keep the application as synced as possible.
    kind: KubernetesApp
          disabled: false
          disabled: false
          disabled: true
  • Allow specifying SSH key for the Git repository in Piped config. It will be used to fetch private Helm charts (#2863).

    kind: Piped
        - type: GIT
          sshKeyFile: path-to-private-ssh-key-file
  • Allow WAIT_APPROVAL stage to require multiple approvals (#2802)

    kind: TerraformApp
          - name: TERRAFORM_PLAN
          - name: WAIT_APPROVAL
                - user-1
                - user-2
                - user-3
              minApproverNum: 2
          - name: TERRAFORM_APPLY

Notable Changes

  • Fix a bug that unspecified users can approve the WAIT_APPROVAL stage (#2796)
  • Fix the bug that autoRollback was unable to disabled (#2789)
  • By introducing trigger field as above, spec.triggerPaths field was deprecated. Please use spec.trigger.onCommit.paths
  • The Sealed Secret feature was deleted completely. Please use Secret Management instead. (#2784)

Internal Changes

  • Allow configuring trigger frequency when application is out_of_sync (#2793)
  • Send notification events when it fails to trigger deployment (#2745)
  • Temporarily disable appconfig reporter in Piped (#2868)
  • Update doc for deployment triggering (#2867)
  • Add status and reason to deployment ref in deployment chain model (#2864)
  • Add RPCs to list unregistered apps (#2847)
  • Hide database migration post from table of content list (#2861)
  • Make git client possible to configure envs for specific repository (#2858)
  • Fix wrong condition on determine deployment plannable (#2860)
  • Stop unnecessarily scanning all files to report app configs (#2854)
  • Refactor k8s provider to use shared git client instead of initializing a new one (#2857)
  • Fix lint error (#2855)
  • Fix web:compile to support Apple M1 (#2853)
  • Update rules_docker and buildtools to their latest version (#2852)
  • Upgrade rules_nodejs (#2851)
  • Fix small part in state.go to make it consistency (#2850)
  • Retranslate some part of doc into Japanese (#2849)
  • Add check plannable deployment logic (#2844)
  • Remove unused import from DeploymentChain model (#2846)
  • Fix small part in state.go (#2841)
  • Add several pages in Japanese to doc (#2839)
  • Add Kenta-san to README note (#2843)
  • Allow addtional flags and environment variables for Terraform plan-preview (#2842)
  • Add an rpc to update registered apps that have been changed (#2830)
  • Change DeploymentChainBlockIndex type (#2835)
  • Add InChainDeploymentPlannable RPC (#2832)
  • Empower Piped to change how often to sync app config in Git (#2833)
  • Check and show health state of K8s Namespace resource (#2828)
  • Fix typo (#2831)
  • Update CreateDeployment RPC to handle create in chain deployment (#2826)
  • Enable to convert config kind into model.ApplicationKind (#2829)
  • Update trigger to handle CHAIN_SYNC_APP command (#2825)
  • Trigger new deployment chain via piped api (#2815)
  • Add CHAIN_SYNC_APPLICATION command (#2821)
  • Change to treat .pipe.yaml as unregistered app config (#2819)
  • Rename deployment chain configuration struct field (#2820)
  • Prevent local absolute paths from being entered in App config (#2814)
  • Add deployment chain sql table and indexes (#2817)
  • Add manual approval page in Japanese to doc (#2810)
  • Fix typo in doc (#2811)
  • Make EnvId in all models optional (#2812)
  • Add a piped component that watches app configs (#2772)
  • Move TriggeredDeploymentID metadata key to command model (#2800)
  • Move notificationKey to model as deployment metadata key (#2799)
  • Add mentions to trigger deployment failed notification (#2798)
  • Add postSync configuration as part of DeploymentConfiguration (#2792)
  • Ensure Piped uses QUICK_SYNC for deployment triggered on OUT_OF_SYNC (#2795)
  • Fix typo in doc (#2794)
  • Add deployment chain model (#2790)
  • Add GetDeployment RPC to piped api (#2791)
  • Add docs contribution guideline (#2774)
  • Upgrade build system and dependencies to latest versions (#2781)
  • Refactor the logic and fix typo (#2775)
  • Add “DEPLOYMENT_TRIGGER_FAILED” event to the doc (#2776)
  • Remove unneeded TODO comment (#2773)
  • Add deployment chain RFC (#2743)
  • Allow specifying environment variables for Terraform commands (#2771)
  • Add deployment configuration trigger docs (#2767)
  • Add chaspy san to contributor list (#2769)
  • Fix docs unsynced between dev and v0.21.x and stable docs (#2765)
  • Bump terraform version to v1.0.10 in terraform examples (#2763)
  • Remove webAddress field (#2764)
  • Revise lambda application configuration test data (#2760)
  • Fix flaky launcher test (#2758)
  • Replace Tags with Labels to idendify applications/deployments (#2751)
  • Remove unneeded flag to specify tag from pipectl (#2749)
  • Update contributor list (#2748)
  • Fix API.AddApplication to return NotFound if inexistence repo given (#2747)
  • Simplify quickstart by getting rid of cloning manifests repository (#2744)
  • Remove allocated but unused arguments (#2746)