Skip to content

Instantly share code, notes, and snippets.

@lotas
Last active June 25, 2024 15:30
Show Gist options
  • Save lotas/0cef453c427d033f394de5dd1ee76e56 to your computer and use it in GitHub Desktop.
Save lotas/0cef453c427d033f394de5dd1ee76e56 to your computer and use it in GitHub Desktop.
Taskcluster important features backlog

Taskcluster H2 Planning 2022

Developer Experience

  • Write blog posts to describe how to use TC
  • For developers and community:
    • ! easy to install (dumb defaults that work right of the box)
    • ! easy to deploy (include external services/ ingress/certbot) (FCP-50, FCP-51) (terraform)
    • ! easy to bootstrap new repo integration: quickstart /sample configs
    • ! simple steps to run it locally: docker-compose / kind / include documentation
    • ! describe how to easily integrate with github: write taskcluster.yml / decisiongraph
    • easy to use own tools: bring-your-own cluster/S3/db/rabbit
    • simple workers to run payloads (locally / dev /stage) (FCP-54)
  • Documentation:
  • Integration / github:
    • Validate .taskcluster.yml - online validator/linter
  • For rel ops:
    • !! provide easy to install defaults, config generator
  • Deployment, testing & QA (avoid broken releases)

Maintenance

Queue

UI

  • ! Save filters (persist in query string/ storage) (taskcluster #5313)
  • Responsive tables (taskcluster #5379)
  • Auth
    • scopes layout improvements (taskcluster #1539)
    • scopes&roles easier to understand: tree-like view, dependencies: who depends on this role, who assumes it, etc: expand/collapse all, jump to/filter
    • prevent creation of roles with empty scopes (taskcluster #5065)
  • missing navigation: breadcrumbs, back button
  • Tasks view:
  • Add hierarchy view for task dependencies (1604234) (libs; sigma.js elkjs, elj-react)
  • ! task visibility: (customer request: sheriffs)
    • ! we have 600 win tests running, what are they?
    • ! what’s running and what’s waiting
    • kill tasks manually
    • dependency chain visualised - who depends on who
    • all tasks that are xx days old
  • Data tables: add server-side search
  • Worker-manager
    • Display total capacity from all pools, graphs to represent running/existing/pending
    • group by provider, add filtering capability
    • hide pools with zero tasks
    • filter by owner
    • display available worker providers (taskcluster #1586)
  • Workers

Workers

Artifacts

Audit & Observability

  • ! enable visibility on who and how made changes (related taskcluster #4343)
    • add timestamps for updated_at, created_at
    • add client information: created_by, updated_by
    • could possibly be a separate entity to track history of changes
  • ! show history of changes for secrets (taskcluster #5438)
  • how to understand that something gets stuck before human notices it?

Worker manager & Provisioning

Github/Gitlab integration

CLI taskcluster

Mozilla internal

  • Engage more internal services/proejcts to use it, avoid fragmentation (FCP-20)
  • Take ownership of taskgraph (FCP-21)
  • Per-project billing ? (FCP-24)? Resources & time spent by particular project/owner/org/..
  • cooperate with cloudops to replace constant polling scripts with optimal endpoints to return data they need
  • design extension architecture (or workflows)
    • deploy-service workflow (takes care about cluster/resources, adds deployment steps)
    • taskgraph extension - generate tasks based on your needs dynamically
    • language specific workflow - best practices for tests, builds, lints, etc. like “include tc-python” that does generic steps
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment