Wikimedia Release Engineering Team/Local Dev Sync/2019-06-13
2019-06-13
[edit]These notes intermingle some items from previous meetings; this is the first we've archived them.
CLI / web interface for local dev
[edit]Create an interface for the local-charts ecosystem
From the task:
Currently users interact with local-charts through a Makefile, which is a temporary and incomplete solution. We should create an interface that allows users to quickly and easily define what they want and deploy to their environment.
Some things to consider:
- How to deploy multiple versions
- How to change/update configuration
- How to access the deployments and view their status
- How to deploy to a remote environment (?)
- How to mount files
- How to run tests
Discussion
[edit]- Mukunda: Python CLI
GTK webview? pywebview? convenient so you don't have to worry about ports, etc.
https://github.com/r0x0r/pywebview - platform specific executable can be compiled
go app? so you don't have to worry about other platforms is there a CLI framework for go? ...a few were mentioned https://github.com/spf13/cobra built in http library
Go, PHP, or Python to be used.
example skaffold.yaml
apiVersion: skaffold/v1beta7 kind: Config #build: # artifacts: # - image: mediawiki # context: ../core # push: false # sync: # '**/*/': . # - image: restbase # context: ../restbase # push: false # - image: parsoid # context: ../parsoid # push: false deploy: helm: releases: - name: "my-release" chartPath: . skipBuildDependencies: true valuesFiles: - values.yaml
- Testing rubric
- 2 mediawiki versions?
- 2 mediawiki configurations?
- Developers shouldn't have to work on this tool to add their own extensions/services?
Skaffold Alternatives:
Changes pending review
[edit]- https://gerrit.wikimedia.org/r/c/releng/local-charts/+/514166
- TODO: Mukunda to check
Testing / CI / linting
[edit]- We'll pick this up once charts have moved to their own repo.
- helm lint
- tox.ini
- add jjb config for picking up local-charts https://phabricator.wikimedia.org/source/integration-config/
- https://phabricator.wikimedia.org/source/integration-config/browse/master/jjb/job-templates.yaml