Commit Graph

54 Commits

Author SHA1 Message Date
R. Tyler Croy e0ab85d974
Add a storage class with a Retain policy 2018-01-11 12:21:58 -08:00
R. Tyler Croy 1b8e86f237
Deploy a memcached service for storing dataz
With shared and predictable session storage, raise the replicas for the webapp a
bit too
2017-12-23 15:04:28 -08:00
R. Tyler Croy 84a10fd0c0
Switch to the new docker image in the codevalet org on docker hub 2017-12-22 11:34:32 -08:00
R. Tyler Croy e4c744f257
Move the webapp into the codevalet Docker Hub organization 2017-12-21 09:36:54 -08:00
R. Tyler Croy 2f5ed696bd
Add another label `kind` for running kubernetes queries across all masters 2017-12-18 14:11:39 -08:00
R. Tyler Croy 64c509da54
Label all jenkins instances the same so I can run kubectl commands across the bunch 2017-12-15 07:51:21 -08:00
R. Tyler Croy 85404e7f1c
The new nginx-based container is listening on port 80, not 8080 2017-12-12 17:10:46 -08:00
R. Tyler Croy 0e89b71ece
Move user-specific instances to their own subdomains to avoid issues with Let's Encrypt 2017-12-11 16:33:03 -08:00
R. Tyler Croy 2de5a6b918
Move Canary over to its own subdomain to avoid re-registering codevalet.io with Let's Encrypt in different namespaces
See: https://github.com/jetstack/kube-lego/issues/146
2017-12-07 11:07:34 -08:00
R. Tyler Croy 9b624a8da5
Order the yaml files a bit to make it easier to deploy fresh 2017-12-02 19:16:51 -08:00
R. Tyler Croy 33987205a5
Switch to using a Stateful Set, which is for stateful applications
There doesn't seem to be any tangible difference in the performance between
using a Deployment or a StatefulSet but the docs say it's for stateful apps.
2017-12-02 19:15:19 -08:00
R. Tyler Croy b8b728ffe6
Explicitly set the storageAccount for the Azure File storage class 2017-11-30 16:29:22 -08:00
R. Tyler Croy bb35de9469
Add support for Azure File storage
This requires a storage account to be created in the
MC_<group>_<clustername>_<location> resource group hiding behind the AKS
environment.

Without that storage account, Azure won't provision the file volume
2017-11-30 08:45:36 -08:00
R. Tyler Croy 47c0a74ad8
Add a (currently unused) Azure Container Instance connector to the cluster 2017-11-29 21:03:48 -08:00
R. Tyler Croy 88686dc7ab
Add support for JNLP agents 2017-11-29 21:03:34 -08:00
R. Tyler Croy 4bbae33dbf
Switch webapp back to the latest and greatest 2017-11-29 18:03:21 -08:00
R. Tyler Croy 5ae9c6eefd
Ensure the container comes up with the right securityContext to access the PVC
(Persistent Volume Claim)
2017-11-29 17:34:25 -08:00
R. Tyler Croy ff21bfc553
Properly namespace the ingress resource for each master 2017-11-29 17:33:55 -08:00
R. Tyler Croy f833106f82
Switch to relying on the nginx-ingress controller rather than our dumb proxy
There can be one ingress controller (ish) per clusters, but dumping an ingress
resource in each namespace with a specific path seems to do the right thing as
far as routing everything under codevalet.io
2017-11-29 16:52:01 -08:00
R. Tyler Croy 8cacff969c
Migrate canary and webapps to their own kubernetes namespaces and redeploy
This also upgrades these from ReplicationController resources to proper (modern)
Deployment resources in Kubernetes
2017-11-28 11:26:42 -08:00
R. Tyler Croy af96c082ba
Make rack behave like it's in production..when it's in production 2017-09-03 17:40:21 -07:00
R. Tyler Croy 21ec41aab7
Use a different DSN for Canary errors 2017-09-03 13:20:49 -07:00
R. Tyler Croy 7153e37d62
Properly expose the Canary service and rewrite URLs in the proxy layer
Related to #47
2017-09-03 13:05:37 -07:00
R. Tyler Croy f71bf3d7a8
Add the canary service to production
YAY
2017-09-03 12:52:56 -07:00
R. Tyler Croy 6664294404
Incorporate Sentry error handling for the webapp tier
This will report into the "Code Valet Webapp" project in Sentry
2017-08-28 07:25:53 -07:00
R. Tyler Croy a1c590d4d3
Switch the nginx k8s liveness probe to tcp, the http probes are useless here 2017-08-27 11:28:21 -07:00
R. Tyler Croy 12915c0879
Properly handle the right URL for the github authentication 2017-08-27 11:11:59 -07:00
R. Tyler Croy e611936d43
Update some liveness probes to hit valid URLs
Now that Jenkins is prefixxed, the liveness probe needs to hit the right URL or
Kubernetes will killdoze the containers
2017-08-27 11:11:07 -07:00
R. Tyler Croy 0b7f50785c
Improve the proxy support with Let's Encrypt (properly loaded) and reversing to Jenkins
There's a lot of minor changes here after some tinkering in production #yolo
2017-08-27 09:58:50 -07:00
R. Tyler Croy c099eef028
Support running Jenkins masters with a URL prefix under codevalet.io
This is required to make the Let's Encrypt stuff all work
2017-08-27 09:57:34 -07:00
R. Tyler Croy bbefb8e25e
Swamp out the nginx-ingress nonsense for an nginx-based service based on our proxy
Assuming everything here works, this should result in some certs, yey

Fixes #39
2017-08-26 19:36:58 -07:00
R. Tyler Croy 4d80458d7b
Expose dogstatsd in the cluster 2017-08-26 12:34:53 -07:00
R. Tyler Croy afa900136b
Fix bad YAML for the jenkins master replicationcontroller 2017-08-26 02:19:52 -07:00
R. Tyler Croy b23f9bea3e
Add datadog integration into the master infrastructure 2017-08-26 00:47:42 -07:00
R. Tyler Croy c542c25395
Set some of those important environment variables the Jenkins master needs 2017-08-24 21:23:34 -07:00
R. Tyler Croy ebf36d0383
Add the Sentry public DSN into the environment variables for JavaScript-based errors 2017-08-23 16:13:00 -07:00
R. Tyler Croy 6d1b5831f5
Add the SENTRY_DSN environment variable for production error reporting
yay
2017-08-21 19:38:31 -07:00
R. Tyler Croy ff7c26ed2b
Add kube-state-metrics 2017-08-19 16:26:58 -07:00
R. Tyler Croy 16a0c2c0eb
Use the new GitHub OAuth client ID in the webapp
This is the app under the codevalet organization now
2017-08-19 16:25:52 -07:00
R. Tyler Croy 5b58e1664e
Use the proper environment variables when configuring Jenkins instances
Oops
2017-08-19 16:25:09 -07:00
R. Tyler Croy eaa0de6163
Add a datadog agent to the k8s cluster
References #5
2017-08-19 12:21:24 -07:00
R. Tyler Croy 894f252167
Add the new client_id to the environment for k8s 2017-08-01 18:17:35 -07:00
R. Tyler Croy 6ca15d57f2
Starting to work on the kube-lego pieces necessary 2017-08-01 18:17:35 -07:00
R. Tyler Croy 9ca5ab0b0a
Make sure masters are picking up the right secrets for Azure provisioning 2017-07-26 19:08:39 -07:00
R. Tyler Croy 8d3a2214ae
Pass the proper URL and github related OAuth settings into the webapp pod 2017-07-23 14:07:56 -07:00
R. Tyler Croy 2e5acb35db
Add some Terraform resources for provisioning the webapp pod in DNS
It'll live at @ for now, until we find a better home for it :)
2017-07-23 13:24:10 -07:00
R. Tyler Croy 65100d2cda
Allow the webapp to work properly in Kubernetes for redirecting 2017-07-23 01:01:28 -07:00
R. Tyler Croy 607bb095f0
Add the kubernetes resources for webapp 2017-07-22 23:10:41 -07:00
R. Tyler Croy 9389fef33f
Make sure the Service properly maps in to the right thingie 2017-07-22 22:28:28 -07:00
R. Tyler Croy bf644e6569
Remove the mapping for JNLP into codevalet masters
There's no need for this port to be NAT'd or available at all. All masters will
be reaching out over SSH to their agents right now (until Windows support comes
into the fold).
2017-07-22 13:30:06 -07:00