Azure / Azure/vscode-aks-tools

Remove/Deprecate Draft Tool Integration

Open
#2,313 0 comments 0 reactions 0 assignees View on GitHub
Deprecating or retiring ☕️🤹 investigating 🔍
Dominant language
TypeScript
Stars
65
Forks
78
Avg merge
2d 16h
Merged PRs (30d)
22

Description

# Remove/Deprecate Draft Tool Integration

## Summary
Remove all Draft tool integration code from the vscode-aks-tools extension. Draft integration has been superseded by newer tooling and should be deprecated.

## Context
The extension currently includes integration with the Draft tool for generating Dockerfiles, deployment manifests, and GitHub workflows. This functionality should be removed as part of ongoing maintenance and simplification efforts.

## Files and Code to Remove

### Source Code
- [ ] `src/commands/draft/` - entire directory including:
- `draftCommands.ts` - main command implementations
- `baseWorkflowEditor.ts` - workflow editing base class
- `helmWorkflowEditor.ts` - Helm workflow editing
- `manifestsWorkflowEditor.ts` - manifests workflow editing
- `workflowUtils.ts` - workflow utilities
- `languages.ts` - language definitions
- `types.ts` - type definitions
- `README.md` - Draft commands documentation

### Panel Components
- [ ] `src/panels/draft/` - entire directory including:
- `DraftDeploymentPanel.ts`
- `DraftDockerfilePanel.ts`
- `DraftValidatePanel.ts`
- `DraftWorkflowPanel.ts`

### Webview Contract Definitions
- [ ] `src/webview-contract/webviewDefinitions/draft/` - entire directory including:
- `draftDeployment.ts`
- `draftDockerfile.ts`
- `draftValidate.ts`
- `draftWorkflow.ts`
- `types.ts`

### Webview UI Components
- [ ] `webview-ui/src/Draft/` - entire directory including:
- `DraftValidate/DraftValidate.tsx`
- `DraftValidate/state.ts`
- And other Draft-related UI components

### Resource Templates
- [ ] `resources/draft/` - entire directory including:
- `workflow-helm.yml`
- `workflow-manifests.yml`

### Extension Configuration
- [ ] `src/extension.ts` - Remove Draft command registrations:
- `draftValidate` import and registration
- `draftDeployment` import and registration
- `draftDockerfile` import and registration
- `draftWorkflow` import and registration

### Package Configuration
- [ ] `package.json` - Remove Draft-related entries:
- Configuration setting: `aks.drafttool.releaseTag`
- Commands:
- `aks.draftWorkflow`
- `aks.aksDraftValidate`
- `aks.draftDockerfile`
- `aks.draftDeployment`
- `aks.draftArgoCDDeployment`
- Menu contributions for Draft commands
- Any other Draft-related package.json entries

### Documentation
- [ ] `docs/book/src/features/draft-integration.md` - Remove or archive
- [ ] `docs/book/src/features/create-gh-workflow.md` - Update reference to Draft Workflow
- [ ] `docs/book/src/features/container-assist-integration.md` - Review and update Draft references
- [ ] `docs/book/src/README.md` - Remove Draft tool link
- [ ] Update CHANGELOG.md to document deprecation

### Other Files
- [ ] `src/commands/aksAttachAcrToCluster/attachAcrToCluster.ts` - Remove Draft Workflow comment/reference
- [ ] `src/plugins/argoCD/argoCDDeploymentPlugin.ts` - Remove `aks.draftArgoCDDeployment` references
- [ ] `src/plugins/shared/pluginResponses.ts` - Remove Draft command IDs
- [ ] `src/plugins/shared/types.ts` - Remove Draft command type definitions
- [ ] `src/webview-contract/webviewTypes.ts` - Remove Draft definition imports
- [ ] `webview-ui/src/manualTest/draft/` - Remove test data if exists
- [ ] `MENU_SIMPLIFICATION.md` - Update to reflect Draft removal
- [ ] Any localization files (`package.nls.json`, `l10n/bundle.l10n.json`) - Remove Draft-related strings

## Testing Checklist
- [ ] Verify extension builds successfully after removal
- [ ] Verify no broken imports or references
- [ ] Test that alternative workflows (Container Assist, Kickstart) work correctly
- [ ] Update tests to remove Draft-related test cases
- [ ] Verify documentation builds without errors

## Migration Notes
Users should be directed to use:
- **Container Assist Integration** for containerization workflows
- **Kickstart Agent** for AKS deployment workflows
- Native Kubernetes tooling for manifest generation

## Related Issues
Reference: CHANGELOG.md line 122 mentions "DraftDeployment/Dockerfile/Workflow Panel component removal" was already planned/started.

## Labels
`cleanup`, `deprecation`, `technical-debt`

## Estimated Effort
Medium - Requires careful removal of interconnected components and thorough testing.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing src/extension.ts and package.json, then search the listed src/commands/draft, src/panels/draft, webview-ui/src/Draft, resources/draft, documentation, localization, and shared plugin files for Draft references. Run the extension build and existing tests before and after removal, then verify documentation builds and Container Assist and Kickstart workflows still work without broken imports or command references.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, kubernetes, typescript, vscode
Domain
devops, devtools, tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.