Skip to content

v0.13.0-beta.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 29 Jul 17:22
· 275 commits to main since this release
v0.13.0-beta.1

What's Changed

The wadm manifest has a new block, policies, and a new streamlined syntax for link traits with the addition of secrets. Both of these changes are backwards compatible.

Secrets

Secret configuration can now be defined for components, providers, and links. For components and providers, the secrets: block is now available in the component properties: section, alongside config. The secret should be named however the component or provider refers to it in code, the policy field should point to an appropriate policy that configures the secrets backend, and then the key, field, and version properties should indicate how to reference the secret in the backend itself.

  components:
    - name: http-component
      type: component
      properties:
        image: ghcr.io/wasmcloud/test-fetch-with-token:0.1.0-fake
        secrets:
          # wasmCloud will fetch this secret from the vault backend
          - name: some-api-token
            properties:
              policy: vault
              key: secrets/test/value
              field: api-token
              version: 1

Policies

With the addition of secrets in wasmCloud, secrets backends often require more information in order to authenticate a component. In the case of Vault for example, the secrets backend requires knowledge of the role name and mount path. If you're using secrets, ensure you define an appropriate policy for the backend, and then refer to that policy by name

spec:
  policies:
    - name: vault
      type: policy.secret.wasmcloud.dev/v1alpha1
      properties:
        backend: 'vault'
        role_name: 'demo-role'
        mount_path: 'jwt'

Links

The link trait definition now deprecates the source_config, target_config, and target: <name> properties in favor of a new streamlined syntax:

        - type: link
          properties:
            namespace: wasi
            package: keyvalue
            interfaces: [atomics, store]
            source:
              config:
                - name: redis-url
                  properties:
                    url: 127.0.0.1:6379
            target:
              name: kvredis
              secrets:
                - name: redis_password
                  properties:
                    policy: nats-kv
                    key: redis_password

The link source and target blocks now have config: and secrets: nested properties for defining config and secrets, respectively. To simplify the blocks, the target: name: <name> field is now nested in order to organize all target information in one place. This change is backwards compatible and wadm will automatically update an application manifest with the source_config or target_config blocks before storage. Put another way, you can use the following script to update any application manifests:

wash app put wadm.yaml
wash app get <app-name> > wadm-updated.yaml

Features

  • Add support for secrets in manifests - Breaking change: introduces the ability to manage secrets directly within the manifests. (#307)
  • Retry state updates - Added a feature to automatically retry state updates to improve reliability. (#315)
  • Add policy configuration block - Introduces a new block for configuring policies. (#306)
  • Added WIT bindings for OAM types and subscription method - Enables OAM type support and a new subscription method. (#301)

Bug Fixes

  • Correctly emit a validation error if a backend key in a policy is missing - Ensures that a missing backend key in a policy results in a validation error. (#344)
  • Copy backend key to top level in a generated config value - Fixes an issue where the backend key was not correctly copied. (#343)
  • Write out policy data in a secret config correctly - Corrects the way policy data is written out in secret configurations. (#339)
  • Use instances in all examples - Updates all examples to utilize instances. (#314)

Enhancements

  • Enable upgrades integration test - Added integration tests for upgrade scenarios. (#312)
  • Add dependabot configuration - Added Dependabot for automatic dependency updates. (#319)
  • Update CODEOWNERS with team - Updated the CODEOWNERS file to reflect the current team. (#349)
  • Use application verbiage instead of model - Updated terminology from "model" to "application" throughout the project. (#342)
  • Updating wadm links - Updated documentation links for wadm. (#338)
  • Bump appVersion in the helm chart - Updated the Helm chart appVersion to the latest. (#351)

Chores

  • Prepare 0.13 release - General preparation and housekeeping for the 0.13 release. (#348)

CI/CD

  • Use GITHUB_TOKEN to release - Updated release process to utilize GITHUB_TOKEN. (#318)
  • Update upload/download to v4 - Updated CI workflows to use version 4 of the upload/download actions. (#331)

New Contributors

Full Changelog: v0.12.2...v0.13.0-beta.1