MediaWiki on Kubernetes: Difference between revisions

link to new article on Ansible with Kubernetes
add 12-factor info
Line 14: Line 14:


Here's more information about [[Ansible with Kubernetes]]
Here's more information about [[Ansible with Kubernetes]]
We also want to leverage the work being done at WMF. See [[Automated deployment of MediaWiki]]
One of the challenges, especially since it involves potential changes to MediaWiki itself, is the notion of "[https://12factor.net/ The Twelve-Factor App]" and how MediaWiki currently does not meet the criteria in one way or another.  There's an open issue: [https://phabricator.wikimedia.org/T173955 Allow DefaultSettings.php be overridden by environment variables] that would help with the config aspect of things.  The guys at Roots.io created an alternate WordPress system starting back in 2013 "[https://roots.io/twelve-factor-wordpress/ Twelve-Factor WordPress App]", inspired by an even older post [http://www.darrenmothersele.com/blog/2013/05/29/twelve-factor-drupal/ The Twelve-Factor Drupal Web App]. A more recent presentation on [https://docs.google.com/presentation/d/1AZIq628GEquvljmjSDAqvP0KkgkBWATWHWM39rat66c/edit#slide=id.p Twelve-Factor Drupal] was made at Drupal Camp Colorado in 2019.


== High-level outline ==
== High-level outline ==
Line 22: Line 26:
## Create service account at GitHub - to prevent access to private repos through Docker Hub
## Create service account at GitHub - to prevent access to private repos through Docker Hub
## Add automated builds and automated testing
## Add automated builds and automated testing
# Create [https://coreos.com/blog/introducing-operators.html operator] for MediaWiki. Note the blog article is from 2016. There are now many operators
# Create a [[Kubernetes Operator]] for MediaWiki.
# Add metrics with the [https://github.com/helm/charts/tree/master/stable/prometheus-operator helm chart prometheus-operator]
# Add metrics with the [https://github.com/helm/charts/tree/master/stable/prometheus-operator helm chart prometheus-operator]




Docker (default in kublet <ref>https://github.com/kubernetes/community/blob/master/contributors/devel/sig-node/container-runtime-interface.md</ref>) is just one of many container runtimes that can be used with Kubernetes. The others include containerd and CRI-O.
Docker (default in kublet <ref>https://github.com/kubernetes/community/blob/master/contributors/devel/sig-node/container-runtime-interface.md</ref>) is one of the container runtimes that can be used with Kubernetes. The others include containerd and CRI-O.


[[Category:Virtualization]]
[[Category:Virtualization]]