- #437 Bumps the actions group with 10 updates in the /.github/workflows directory
- Updating the version as the previous version was already released https://pkg.go.dev/github.com/azure/draft?tab=versions
- #388 Migrate createRole assignment to Az SDK
- #405 adding generic service templates
- #412 Migrate workflows to template handler
- #409 Add Trandformer and Validators to template handling
- #419 Add configmap handling to deployment templates
- #418 Ensure GH and AZ cli changes
- #392 Validate helm and kustomize support
- #428 Update template versioning definition
- #430 Update templates and testing and finalize new template handlers
- #434 Az cli client cleanup
- #413 Fix filename output
- #406 Migrating Addons to generic handler
- #403, #404 Adding PDB template
- #400 Migrating azurePipelines to Generic handler
- #399 Migrating Dockerfile templates to Generic handler
- #398 Creating HPA template
- #395 Upgrade from deprecated kubeval to kubeconform
- #393 Migrate Deployments templates to generic handler
- #391 Creation of generic template handler
- #381 Update DraftConfig to contain more metadata
New release to fix checksum mismatch
issue in the previous release
- #346 Adding GetManifestFiles func and refactoring
- #347 Migrate workflows to go templates
- #348 Add exclusion for .git in artifact upload
- #352 Adding CLI flags for user defined Helm release name and release namespace for rendering helm projects
- #355 Replacing ManifestFile Path property with yaml content as []byte
- #357 Cleanup for kustomize/helm feature
- #364 Adding new safeguards
- #344 Remove name overrides from draft config
- #356 Fixed workflow template for helm deployment
- #362 Fix for private cluster support for kube and kustomize deployments
- #365 Simplify namespace creation for helm deployment
- #342 Added k8s/deploy Inputs for Private Cluster Support
- #337 azure pipelines generation support
- #334 template support for private clusters
- #324 workflow template enhancements
- #321 add helm rendering function
- #315 adding logic for generating default app name
- #320 Workflows are now generated fully from a draftConfig
- #277 Updates/Fixes for draft. Adds generator label to manifests
- #275 Add NOTICE file
- #274 gomodule multistage build
- #273 finishing safeguard additions
- #272 sdk calls for assignsprole
- #271 update draft to go 1.22
- #269 yaml file extension validation
- #262 sdk calls for getTenantID
- #242 changes in correlation with new GH action permission changes
- #220 Update readme for supported flags
- #219 Retry releases to get tag name
- #218 Add gradle wrapper detection
- #217 Add python entrypoint detection
- #215 Add reporeader interface and an example extractor for python
- #213 Integration test for multiple OS
- #194 Move generate workflow templates to embedded file system
- #189 Add
example
package to show consumption patterns
- #190 Add integration test and Dockerfile fix for
go
language without modules
- #187 OpenJDK Docker image has been deprecated and doesnt have JRE images for Java 11+. This change moves our Java images to Eclipse-Temurin.
- #183 Bug fix for helm deployments where namespace was created but not respected at the deployment level
BREAKING changes to IMAGE
variable
- New, optional
disablePrompt
property on Builder Variables in draft config #180:- Default Value:
false
- Variables with
disablePrompt: true
will not be prompted for when runningdraft interactive commands
- Variables with
disablePrompt: true
can still be supplied via flags (draft create --var TAG=latest
) or draft config files - Example Usage:
# draft.yaml variables: - name: "TAG" description: "the tag of the image to be built" disablePrompt: true # New optional field that is used to disable the prompt for this variable ...
- Default Value:
- For all draft substitutions, draft will now error if unsubstituted variables are found in the final output #175
- BREAKING the
IMAGE
variable no longer can include an image tag. TheTAG
variable should be used instead #176 - BREAKING the
imageKey
variable on thehelm
deployment type has been renamed toimage
to be consistent with the supplied starter workflows (#176)- Re-running
draft create
will update existing files to follow the new convention
- Re-running
- New
displayName
andvariables.exampeValues
properties in draft.yaml# draft.yaml language: swift displayName: Swift # Add a display name for the selected resource (language/deploymentType/addon) variables: - name: "VERSION" description: "the version of swift used by the application" exampleValues: ["5.5", "5.4"] # New optional field that is used to populate draft info, and which could be used in the cli for suggestions in the future. variableDefaults: - name: "VERSION" value: 5.5
- Added
--dry-run
and--dry-run-file
flags tocreate
command--dry-run
enables dry run mode in which no files are written to disk, prints the dry run summary to stdout--dry-run-file
specifies a file to write the dry run summary in json format (requires--dry-run
flag)
# Example dry run output { "variables": { "APPNAME": "testapp", "BUILDERVERSION": "null", "IMAGENAME": "testapp", "LANGUAGE": "gomodule", # Note that this variable is in addition to the draft config variables "NAMESPACE": "default", "PORT": "1323", "SERVICEPORT": "80", "VERSION": "1.18" }, "filesToWrite": [ "langtest/.dockerignore", "langtest/Dockerfile", "langtest/charts/.helmignore", "langtest/charts/Chart.yaml", "langtest/charts/production.yaml", "langtest/charts/templates/_helpers.tpl", "langtest/charts/templates/deployment.yaml", "langtest/charts/templates/namespace.yaml", "langtest/charts/templates/service.yaml", "langtest/charts/values.yaml" ] }
- BREAKING -
info
command output format includes additional information for supported languages with the following format changes:- keys are now camelCase
supportedLanguages
is now an array of objects, enriched withdisplayName
andexampleValues
# Example of the new info command output format { # keys are now camelCase, so supported_languages is now supportedLanguages "supportedLanguages": [ { "name": "javascript", "displayName": "JavaScript", # new field "exampleValues": { # new field "VERSION": [ "14.0", "16.0" ] } }, ... ], # keys are now camelCase, so supported_deployment_types is now supportedDeploymentTypes "supportedDeploymentTypes": [ "helm", ... ] }
- The new
draft info
command from #157 prints supported language and field information in json format. - An integration test was added for the installation shell script to better ensure that the script works as expected.
- File path output for root locations had a bug with string-formatted paths. The
path.Join
method has been substituted to fix this.
- Remaining uses of the
viper
library have been migrated togopkg.in/yaml.v3
for consistency. - Unused files in the
web
package have been removed. - Minor reorganization across the
config
andaddons
packages to reduce the number of exported functions and types.