Roadmap
1 New Tools to Support (Plugins)
- artifactory: #607
- Jenkins pipeline plugin: #582
- Cloudflare IP List Monitor: #560
- Use Validator for Config Validation: #558
- GitLab CE: #509
- zendao: #508
- Tekton
- Jira-GitHub, Jira-GitLab integration
- Jenkins-GitHub, Jenkins-GitLab integration
- ArgoCD-GitHub SSO integration
- Repository bootstrapping for Python/Nodejs for GitHub, Golang/Python/Nodejs for GitLab
- GitLab CI workflows for Python/Nodejs
- FluxCD plugin
- Trello-GitLab Integration
2 Core Features
General:
- single config profile support: #596
- make sure people who don’t have optimum internet connections (e.g., users behind firewall or proxy) can still use DevStream smoothly.
dtm show config
This is already supported, but we will improve the features of it, for example:
- show the default configs of multiple plugins that are used together
- interactive: user select plugin then show the default config
3 Quality of Life Improvements for Developers
Automated End-to-End Testing in a Staging Environment
- AWS EC2 (linux-amd64) creation with Terraform/Ansible
- Push notification to Slack/Lark when the testing environment is occupied or released
Misc
- Integrate the golangci-lint command in the makefile #632
- Push notification when CI failed: #636
- Shorter CI time: for example, adding packages into a base image
- More end-to-end tests coverage, to test more typical usecases and plugins
- Push notification to core committers when there is a new PR ready for review
4 Already Done
Core:
- local state support: #16
- pluginmanager module: #17
- statemanager supports concurrent map: #71
- pluginmanager download status bar: #88, #98
- multi-plugin instance support: #136
- force delete feature: #177, #278
verify
command: #252, #253- output support: #324
- Homebrew support: #351, #372
- remote state: #378, #485
- autocomplete: #380
- generate default config: #383
- list all plugins: #384
- config supports global variables: #393
- plugin status: #401
- parallel download: #579
- plugins released to AWS S3 instead of GitHub releases page
Plugins:
- Jenkins plugin: #11
- GitLab CI plugin: #12
- GitHub Actions plugin for Nodejs and Python: #14
- GitHub Actions plugin supports test coverage: #133
- GitHub repo scaffolding for Golang plugin: #191, #520
- Prometheus/grafana plugin: #231
- Helm type plugins support values: #272
- openldap plugin: #284
- trello plugin: #307, #314
- GitLab CI generic plugin: #377
- Helm generic plugin: #424
Develop:
- cross-platform build: #21, #170
- end to end test: #50, #118
- logging level: #176
- parallel build: #361
- automated release: #364
- command to help contributors to generate scaffolding code: #454, #443, #436
- params validation improvement: #511
- editor config: #629
By versions:
v0.3.1:
- automated release: when a new tag is generated, build binaries for different platforms/OS and distribute the binaries to the plugin storage.
v0.3.0:
- “Destroy” and “force delete”: everything can be cleared up without any residue or side effects.
- “Output”: all plugin’s output is printed for users to review.
- Plugin dependency management: a common way to handle plugin dependencies and execution order using graph/topology sort.
- Automated e2e testing: AWS EKS cluster with Terraform.
- Trello plugin that creates boards.
v0.4.0-v0.5.0:
- generic GitLab CI plugin
- define variables and use it in the config file.
- auto-complete support for
dtm
commands - HashiCorp Vault