-
Notifications
You must be signed in to change notification settings - Fork 1
Milestone of end of January 2015
Renoir Boulanger edited this page Jan 14, 2015
·
13 revisions
- Issues
- Original project scratchpad in WPD:Infrastructure/analysis/2014-Improvements_plan There might still be issues to be migrated, the most important had been moved
Open up all infrastructure scripts, and rework in a way such that we can work on a component (e.g. blog using WordPress) locally or with a minimal setup.
The objective is to have a better deployment strategy to allow separation between development (e.g. a local Vagrant VM, or code checkout), staging (i.e. a full deployment) and production (i.e. the live site) so we can test our changes in an environment without impacting the live "production" site.
- EVERYTHING through Git master branch
- Each component can be deployed with one salt
state.sls
run - Each component uses last version we can support (e.g. WordPress, BugGenie, etc)
- Components runs correctly locally with basic config, salt applies environment specific
- Publish on public GitHub states + pillars
- At least 3 components (e.g. annotation-server, homepage, wiki)
- Project
Makefile
default rule should fetch dependencies (bower, npm, composer, etc) and allow web app to run locally - Project
Vagrantfile
runs minimal VM for development - Project configuration use sensible defaults for local/vagrant development
- Salt writes config with appropriate keys/passwords externally
Objective in picking candidates with different stacks so we can replicate on similar easily.
- Blog (WordPress)
- Docs (MediaWiki)
- Annotation service (Hypothesis)
- Homepage
- Account system
- Discourse
- Piwik
Most of the following should be already exploded in tasks assigned to the present Milestone
- Deploy WordPress and theme through Salt only #22
- Ensure automatic backup of blog images, commit into GitHub (done in #22)
- Make production Mail server into DreamCompute #51
- Ensure automatic backup of ElasticSearch indexes #50
- Deploy MediaWiki automatically through Salt only
- Ensure compat repo is handled
- Ensure sitemap is updated and handled
- Update code ONLY through update script
- Homepage deployment should consider also those separate modules:
- campaign-bookmarklet
- docsprint-dashboard
- LumberJack bot frontend
- Apache to return static error pages #52
- Salt master is built EXCLUSIVELY from
_utils/new-saltmaster*.sh
scripts that fetches every required git projects - Apache VHost to support both SSL and non SSL
- MediaWiki (
docs.wpo
) - WordPress (
blog.wpo
) - Homepage (
www.wpo
) - BugGenie (
project.wpo
)
- MediaWiki (
- NGINX VHost to support both SSL and non SSL
- Piwik (
stats.wpo
) - Notes (
notes.wpo
)
- Piwik (
- Rework Fastly VCL configs ([docs, project, blog, www, stats].wpo)
- Ensure to remove any cookies except the one required for each of them
- Force SSL (except [blog, project])
- Return static error message if backend is dead