Page MenuHomePhabricator
Feed Advanced Search

Sep 11 2017

epriestley added a revision to T12932: GC old Differential changesets into File storage: Restricted Differential Revision.
Sep 11 2017, 3:31 PM · Files, Differential, Phacility, Ops

Sep 8 2017

amckinley claimed T12414: Implement Almanac edit endpoints in Conduit.
Sep 8 2017, 1:45 AM · Conduit, Almanac, Ops, Phacility

Aug 12 2017

epriestley closed T12854: Clean up resources for decommissioned `repo012`, a subtask of T12798: Decommission cluster host `repo012`, as Resolved.
Aug 12 2017, 10:50 AM · Ops, Phacility
epriestley closed T12854: Clean up resources for decommissioned `repo012` as Resolved.

They should fix themselves once the instance is suspended.

Aug 12 2017, 10:50 AM · Ops, Phacility

Aug 1 2017

epriestley added a comment to T12932: GC old Differential changesets into File storage.

Just keeping an eye on this: growth on these shards is slow and both are still below the 80% caution threshold, so I'm punting this for another week.

Aug 1 2017, 4:03 PM · Files, Differential, Phacility, Ops

Jul 27 2017

epriestley removed a member for Ops: • bnealey.
Jul 27 2017, 10:52 AM
epriestley removed a member for Ops: • Hektve.
Jul 27 2017, 10:52 AM
epriestley removed a member for Ops: • z4a4n2008lv.
Jul 27 2017, 10:52 AM
epriestley removed a watcher for Ops: • bnealey.
Jul 27 2017, 10:52 AM
epriestley removed a watcher for Ops: • Hektve.
Jul 27 2017, 10:52 AM
• z4a4n2008lv added a member for Ops: • z4a4n2008lv.
Jul 27 2017, 9:34 AM

Jul 24 2017

epriestley added a comment to T12932: GC old Differential changesets into File storage.

Only db001 and db002 are anywhere close to having problems with this and they still have a large amount of headroom, and we can bin/storage optimize at least some amount of additional headroom into existence, so this isn't "we're about to fall off a cliff" urgent or anything, but would be nice to tackle sooner than later.

Jul 24 2017, 3:53 PM · Files, Differential, Phacility, Ops
epriestley created T12932: GC old Differential changesets into File storage.
Jul 24 2017, 3:47 PM · Files, Differential, Phacility, Ops

Jul 21 2017

epriestley added a comment to T12847: A Pathway Towards Private Clusters.

I think the minimum size is 2 hosts, in separate AZs, in one region. e.g., everything1 in us-west-1a and everything2 in us-west-1c, so that assumption is sound.

Jul 21 2017, 4:34 PM · Plans, Ops, Phacility
amckinley added a comment to T12847: A Pathway Towards Private Clusters.

Are we going to let customers start with a single EC2 instance, or require them to have at least some form of HA? My plan is to always create the VPC/subnet infrastructure assuming that the customer will have a second AZ (and ALBs for example require you to listen on at least two different subnets).

Jul 21 2017, 4:32 PM · Plans, Ops, Phacility

Jul 19 2017

epriestley added a comment to T12847: A Pathway Towards Private Clusters.

I'll look at the pricing breakdown and I might do some perf testing just to see if there's any real difference.

Jul 19 2017, 5:43 PM · Plans, Ops, Phacility
amckinley added a comment to T12847: A Pathway Towards Private Clusters.

If we're using ELBs for this (which it looks like we may be able to, per above?) I don't think (?) we can do any path-based stuff.

Jul 19 2017, 4:41 PM · Plans, Ops, Phacility

Jul 18 2017

epriestley added a comment to T12847: A Pathway Towards Private Clusters.

22280->22280 for aphlict (or we could possibly use path-based routing on the ALB instead of opening up a 2nd port?)

Jul 18 2017, 8:29 PM · Plans, Ops, Phacility
amckinley added a comment to T12847: A Pathway Towards Private Clusters.

We should enumerate all the ports we're going to open up so we can do the security groups sooner rather than later. My list:

Jul 18 2017, 7:44 PM · Plans, Ops, Phacility
epriestley closed T12927: Private Clusters: VPN Notes as Resolved.

Cool, that all sounds like it's roughly what I expected. Thanks!

Jul 18 2017, 5:37 PM · Clusters, Ops
amckinley added a comment to T12927: Private Clusters: VPN Notes.

Skipping questions where you have the right answer:

Jul 18 2017, 5:09 PM · Clusters, Ops
epriestley added projects to T12927: Private Clusters: VPN Notes: Ops, Clusters.
Jul 18 2017, 11:50 AM · Clusters, Ops

Jul 17 2017

epriestley added a comment to T12854: Clean up resources for decommissioned `repo012`.

This is very minor, but blue-underneathie is still active even though repo012 is dead, which is causing the queue to spawn impossible backup jobs that sit there retrying forever. They should fix themselves once the instance is suspended. I'll likely pursue the remaining cleanup here shortly since we haven't seen any issues in a few weeks.

Jul 17 2017, 2:10 PM · Ops, Phacility

Jul 14 2017

epriestley added a comment to T12847: A Pathway Towards Private Clusters.

Ah, that makes sense. Everything else sounds entirely reasonable to me on the "VPC per customer" plan.

Jul 14 2017, 12:42 AM · Plans, Ops, Phacility
amckinley added a comment to T12847: A Pathway Towards Private Clusters.

bastion host per subnet

Is "subnet" a typo or am I thinking of the wrong subnets? Not 4 bastions per customer, right? Don't the bastions have to be in the customer VPCs?

Jul 14 2017, 12:40 AM · Plans, Ops, Phacility
epriestley added a comment to T12847: A Pathway Towards Private Clusters.

bastion host per subnet

Jul 14 2017, 12:33 AM · Plans, Ops, Phacility
amckinley added a comment to T12847: A Pathway Towards Private Clusters.

So having done a bunch more reading/thinking about private cluster isolation, I'm starting to lean towards "one VPC per customer per region" instead of "one subnet per customer per region".

Jul 14 2017, 12:18 AM · Plans, Ops, Phacility

Jul 13 2017

amckinley added a comment to T12847: A Pathway Towards Private Clusters.

AWS doesn't have a single device which can both listen for TCP on 22 (only ELB) and terminate SSL for websockets (only ALB).

That's not correct. We are routing our websocket traffic for Aphlict through an ELB that has been setup using SSL instead of TCP as the protocol. In Terraform, it looks like this:

Jul 13 2017, 6:51 PM · Plans, Ops, Phacility
epriestley added a comment to T12847: A Pathway Towards Private Clusters.

It looks like the price difference is pretty large -- $45/month for a m4.large reserved instance vs $80/month for a m4.large dedicated -- plus ~$1,500/month/region for having at least one dedicated instance. It would be easy to start using dedicated hosts in the future, right? Just an issue of converting existing hosts if we run into issues?

Jul 13 2017, 5:27 PM · Plans, Ops, Phacility
amckinley added a comment to T12847: A Pathway Towards Private Clusters.

We should also make a decision about whether or not we want to use "dedicated" AWS instances: https://aws.amazon.com/ec2/purchasing-options/dedicated-instances/

Jul 13 2017, 4:31 PM · Plans, Ops, Phacility

Jul 12 2017

joshuaspence added a comment to T12856: Evaluate various "infrastructure-as-code" products.

Another correction, Puppet doesn't //need/ a dedicated server. You can run Puppet in a standalone (agent) mode, if you are willing to somehow get your Puppet manifests onto each host that you wish to provision.

Jul 12 2017, 10:27 PM · Ops, Phacility
amckinley added a comment to T12856: Evaluate various "infrastructure-as-code" products.

Terraform Review
Pros:

  • Written in Python, which everyone knows is superior to Ruby in every way

Huh? Terraform is written in Golang, not Python.

Jul 12 2017, 10:24 PM · Ops, Phacility
joshuaspence added a comment to T12856: Evaluate various "infrastructure-as-code" products.

Terraform Review
Pros:

  • Written in Python, which everyone knows is superior to Ruby in every way
Jul 12 2017, 10:22 PM · Ops, Phacility
joshuaspence added a comment to T12856: Evaluate various "infrastructure-as-code" products.

FWIW, I am actively working on a Puppet module for Phabricator, see https://forge.puppet.com/joshuaspence/phabricator.

Jul 12 2017, 9:54 PM · Ops, Phacility
joshuaspence added a comment to T12847: A Pathway Towards Private Clusters.

AWS doesn't have a single device which can both listen for TCP on 22 (only ELB) and terminate SSL for websockets (only ALB).

Jul 12 2017, 9:52 PM · Plans, Ops, Phacility
epriestley created T12917: Move domain name registration and SSL to AWS.
Jul 12 2017, 5:25 PM · Ops, Phacility

Jul 8 2017

hach-que added a comment to T12856: Evaluate various "infrastructure-as-code" products.

One thing I should add is that your different application tiers should be different stacks: i.e. DNS config should be one stack, web boxes another stack, DB another etc.

Jul 8 2017, 3:05 AM · Ops, Phacility

Jul 5 2017

amckinley added a comment to T12856: Evaluate various "infrastructure-as-code" products.

@hach-que thanks for the suggestion. I've used CloudFormation with some success previously. My biggest problem is occasionally having a stack just get "stuck" while deploying, and taking forever to timeout on a failure. I've also seen very ambiguous error messages when some random resource fails to deploy, but these are all just anecdotes. I'm working on a demo CF config to give it a try.

Jul 5 2017, 10:49 PM · Ops, Phacility

Jul 3 2017

hach-que added a comment to T12856: Evaluate various "infrastructure-as-code" products.

In my personal experience, CloudFormation is vastly better than Ansible/Chef/insertflavourofthemonthtoolhere. Those other tools all require some specialised syntax, meanwhile CF is just JSON and you can use the CloudFormation designer to get the JSON for any AWS resource that you're not sure how to describe with JSON.

Jul 3 2017, 5:43 AM · Ops, Phacility

Jun 30 2017

avivey added a comment to T12856: Evaluate various "infrastructure-as-code" products.

costanzapopcorn

Jun 30 2017, 11:35 PM · Ops, Phacility
epriestley added a comment to T12856: Evaluate various "infrastructure-as-code" products.

Also we aren't the only ones to be surprised by the AWS NAT junk:

Jun 30 2017, 10:55 PM · Ops, Phacility
epriestley added a comment to T12856: Evaluate various "infrastructure-as-code" products.

It looks like Terraform probably can add a listener without destroying the LB (since it's a separate resource type? But the "changing the size of a volume destroys the instance" case suggests maybe it doesn't work like this, if that's how that works), but if you want to enable access logging on your LBs hope you didn't need 'em for anything important? I could probably just install it and figure this out / nuke production forever.

Jun 30 2017, 10:19 PM · Ops, Phacility
epriestley added a comment to T12856: Evaluate various "infrastructure-as-code" products.

If PHP just injects that information into the templates during generation, we might not need to feed anything back into Almanac.

Jun 30 2017, 9:02 PM · Ops, Phacility
amckinley added a comment to T12856: Evaluate various "infrastructure-as-code" products.

Maybe we should just use CloudFormation ¯\_(ツ)_/¯

Jun 30 2017, 8:30 PM · Ops, Phacility
amckinley added a comment to T12856: Evaluate various "infrastructure-as-code" products.

First, a disclaimer that I'm not by any means wedded to terraform. From playing with the other tools, terraform looked like the clearest pathway towards my goal of "minimizing AWS UI clicks", so I decided to see what the terraform config for a private cluster would look like and play with the tool. See example terraform configs here: P2063 P2064. I agree with the general thrust of your comment, which I interpret as "this all sounds terrifying and we probably shouldn't do it", but I wanted to at least get a feeling for the tool and build a proof of concept.

Jun 30 2017, 7:58 PM · Ops, Phacility
epriestley added a comment to T12856: Evaluate various "infrastructure-as-code" products.

Terraform also seems to have terraform taint (mark a resource for destruction) but no, e.g., terraform freeze (mark a resource for preservation). This is sort of philosophically bewildering to me. Is the modern approach to ops just like "data isn't important"? Is everyone just really, really careful when they type commands into their fully-automatic resource destruction rifles loaded with high-explosive foot-seeking shells?

Jun 30 2017, 7:27 PM · Ops, Phacility
epriestley added a comment to T12856: Evaluate various "infrastructure-as-code" products.

How does the weekly deployment to all clusters work?

Jun 30 2017, 6:39 PM · Ops, Phacility
epriestley added a comment to T12879: Put crontabs in VCS and deploy them during provisioning.

(Both adjust and doc/symbol documentation affect an entire service tier rather than particular servers, too -- we only need to generate docs or make schema adjustments once, no matter how many hosts are in the secure or admin tiers.)

Jun 30 2017, 2:25 PM · Phacility, Ops
epriestley added a comment to T12879: Put crontabs in VCS and deploy them during provisioning.

My recollection is a little fuzzy, but I think admin may have once had a hacky crontab for backups that I replaced with a normal backup trigger at some point when the infrastructure matured a little.

Jun 30 2017, 2:23 PM · Phacility, Ops

Jun 29 2017

amckinley added a comment to T12847: A Pathway Towards Private Clusters.

And here's the official AWS docs for connecting VPCs using OpenSWAN: https://aws.amazon.com/articles/5472675506466066

Jun 29 2017, 8:26 PM · Plans, Ops, Phacility
amckinley added a comment to T12847: A Pathway Towards Private Clusters.

So it occurs to me that we could have one "shared" public subnet that contains: 1 shared Internet Gateway, 1 shared NAT Gateway, and then per-install VPN nodes. We should be able to setup routing tables for the private subnets that point to that install's VPN node. Since routing is enforced at the network layer (routing tables on actual EC2 nodes are bogus), that would enforce traffic separation. In theory, installs could saturate the IGW or NAT gateway, but I'm pretty sure those resources should autoscale since they're managed by EC2. A NAT gateway with no traffic going through it is $32/month, and as far as I can tell, an Internet Gateway is free, but eventually we'd be saving some money.

Jun 29 2017, 7:55 PM · Plans, Ops, Phacility
amckinley added a comment to T12847: A Pathway Towards Private Clusters.

Another AWS gotcha learned the hard way: nodes in a "private" subnet can still be part of an "internet-facing" ELB, but the trick is that you have to attach the ELB to the "public" subnet that contains the IGW and the NAT Gateway, and the nodes in the "private" subnet need a route to the NAT Gateway.

Jun 29 2017, 6:11 PM · Plans, Ops, Phacility

Jun 28 2017

amckinley added a comment to T12847: A Pathway Towards Private Clusters.

Note that we can not send SSH traffic over an ALB -- they only speak HTTP/HTTPS. However, we can send it over v1.5 VPC ELB, apparently (v1 classic ELBs do not let you listen on 22).

Jun 28 2017, 11:45 PM · Plans, Ops, Phacility
amckinley added a comment to T12879: Put crontabs in VCS and deploy them during provisioning.

On secure, I could only find a crontab for the ubuntu user, which is as follows:

0 6 * * * /core/bin/host backup
0 7 * * * /core/bin/host prune --force
0 8 * * * /core/conf/util/generate-documentation
0 9 * * * /core/conf/util/generate-symbols
Jun 28 2017, 9:40 PM · Phacility, Ops
amckinley added a comment to T12856: Evaluate various "infrastructure-as-code" products.

Having played with a few more of these tools and thinking about the problem, I'm starting to lean towards "use Terraform or CloudFormation for orchestrating AWS infrastructure, and leave the provisioning stuff in rCORE as-is". The basic flow for provisioning private instances could be:

Jun 28 2017, 9:37 PM · Ops, Phacility
amckinley created T12879: Put crontabs in VCS and deploy them during provisioning.
Jun 28 2017, 6:54 PM · Phacility, Ops

Jun 22 2017

mavit added a comment to T12856: Evaluate various "infrastructure-as-code" products.

You probably don't want to put much value in advice from passing Internet strangers, but... Having used Ansible for configuration management for a while, it certainly has a "worse is better" feeling to it. You folks seem like you might be more of a "better is better" outfit. Contrast, for example, your approach to upstreaming user-written linters versus their approach to upstreaming user-written modules.

Jun 22 2017, 9:27 PM · Ops, Phacility

Jun 21 2017

amckinley added a comment to T12857: Temporary directory fullness can cause daemon issues?.

I think we should have our crontabs in version control regardless of whether or not we add tmpreaper to them, so I'll make a task for that.

Jun 21 2017, 7:26 PM · Diffusion, Ops, Daemons, Phacility
epriestley added a comment to T12857: Temporary directory fullness can cause daemon issues?.

If you want to move forward with that:

Jun 21 2017, 6:35 PM · Diffusion, Ops, Daemons, Phacility
amckinley added a comment to T12857: Temporary directory fullness can cause daemon issues?.

This should do the trick. It runs off atime by default. We could just set the time period to several days if we wanted to. Alternatively, if the filenames for extremely long-running jobs are predictable, there's a --protect '<shell_pattern>' argument we could use to avoid cleaning up those files.

Jun 21 2017, 6:04 PM · Diffusion, Ops, Daemons, Phacility
epriestley added a comment to T12857: Temporary directory fullness can cause daemon issues?.

Every repo host is equally affected, so I'd like to deploy crontabs as part of the regular deployment process if we use them as part of the approach here. That would require first codifying a handful of custom crontabs, including one on secure which regenerates documentation daily on only one host. This codification should happen anyway eventually, but it's a little bit of work, and wasted effort if we're switching to Chef/Salt/Ansible/etc soon anyway.

Jun 21 2017, 5:57 PM · Diffusion, Ops, Daemons, Phacility
amckinley added a comment to T12857: Temporary directory fullness can cause daemon issues?.

Should we just add a crontab entry to clean /tmp to paper this over until we get it fixed for real?

Jun 21 2017, 5:27 PM · Diffusion, Ops, Daemons, Phacility

Jun 20 2017

epriestley added a comment to T12857: Temporary directory fullness can cause daemon issues?.

Here's another clue, from the relevant host's error log:

Jun 20 2017, 1:02 PM · Diffusion, Ops, Daemons, Phacility

Jun 19 2017

epriestley added a revision to T12857: Temporary directory fullness can cause daemon issues?: Restricted Differential Revision.
Jun 19 2017, 9:53 PM · Diffusion, Ops, Daemons, Phacility
epriestley added a revision to T12857: Temporary directory fullness can cause daemon issues?: Restricted Differential Revision.
Jun 19 2017, 9:45 PM · Diffusion, Ops, Daemons, Phacility
epriestley created T12857: Temporary directory fullness can cause daemon issues?.
Jun 19 2017, 9:28 PM · Diffusion, Ops, Daemons, Phacility
amckinley updated the task description for T12856: Evaluate various "infrastructure-as-code" products.
Jun 19 2017, 7:55 PM · Ops, Phacility
amckinley added a comment to T12856: Evaluate various "infrastructure-as-code" products.

Just out of curiosity, why Salt is not a candidate? I think it is very comparable to the others.

Jun 19 2017, 7:55 PM · Ops, Phacility
rabahmeradi added a comment to T12856: Evaluate various "infrastructure-as-code" products.

Just out of curiosity, why Salt is not a candidate? I think it is very comparable to the others.

Jun 19 2017, 7:44 PM · Ops, Phacility
amckinley added a comment to T12856: Evaluate various "infrastructure-as-code" products.

Terraform Review
Pros:

  • Simple declarative syntax
  • Intended to be invoked first with a dry run, which shows in detail all the resources that will be rebuilt or altered
  • Very focused on "immutable" infrastructure. Instead of manipulating resources in place, prefers to spin up new resources with the new config and spin down the old ones. For the stateful hosts, we might need to be clever about mounting and unmounting EBS volumes when instances get rebuilt.
Jun 19 2017, 7:27 PM · Ops, Phacility
amckinley created T12856: Evaluate various "infrastructure-as-code" products.
Jun 19 2017, 7:14 PM · Ops, Phacility
epriestley closed T12798: Decommission cluster host `repo012` as Resolved.
  • I filed T12854 for final cleanup.
  • I stopped repo012.phacility.net.
  • The repo tier now has a discontinuity. --timeout will "fix" it but this should be fixed properly, except that we're presumably throwing away Phage in favor of Chef/Puppet/Ansible in T12847 which will moot this.
Jun 19 2017, 3:34 PM · Ops, Phacility
epriestley created T12854: Clean up resources for decommissioned `repo012`.
Jun 19 2017, 3:29 PM · Ops, Phacility
epriestley added a comment to T12798: Decommission cluster host `repo012`.

I started the instance, then used bin/remote deploy to deploy it. Everything came back up cleanly with no additional steps. Things were back online after about 10 minutes (maybe a bit less).

Jun 19 2017, 3:28 PM · Ops, Phacility
epriestley added a comment to T12798: Decommission cluster host `repo012`.

AWS stopped the instance; I'm starting it again now.

Jun 19 2017, 3:13 PM · Ops, Phacility

Jun 16 2017

epriestley added a comment to T12847: A Pathway Towards Private Clusters.

Another possibility is that since we need only a very small number of connections between subnets (database replication and VCS over SSH only, I think), we could enumerate everything and then tunnel/forward them with something like stunnel/ssh/haproxy rather than a full-blown VPN. That also feels like kind of a mess, but maybe not as much of a mess as doing a full VPN setup. It would probably look something like the OpenSWAN diagram, except the OpenSWAN boxes would be haproxy/stunnel boxes or whatever instead that just forwarded a specific set of ports between devices:

Jun 16 2017, 7:22 PM · Plans, Ops, Phacility
amckinley added a comment to T12847: A Pathway Towards Private Clusters.

what network level safeguard

Jun 16 2017, 6:14 PM · Plans, Ops, Phacility
epriestley added a comment to T12847: A Pathway Towards Private Clusters.

If we do VPC-level VPNs, what network level safeguard prevents web001.evil-attacker.us-west.phacility.com from connecting directly to db001-master.wholesome-good-company.us-east.phacilty.com? Subnet ACLs can no longer enforce this, right? All the traffic arriving on the east coast will originate from the local VPN endpoint, not from the corresponding west-coast subnet? Or am I misunderstanding how this works?

Jun 16 2017, 5:45 PM · Plans, Ops, Phacility
amckinley added a comment to T12847: A Pathway Towards Private Clusters.

To back up a bit, how much human touching are you envisioning for bring up a new private cluster? In my head I was thinking we'd at least have to manually deal with requesting the cert, but it looks like There's An API For That, so I think it's at least possible to make the whole thing work magically. It would be something like filling out the form triggers the creation of a new terraform (or whatever) config which then gets deployed.

Jun 16 2017, 4:56 PM · Plans, Ops, Phacility
amckinley added a comment to T12847: A Pathway Towards Private Clusters.

That we have VPC <-> VPC VPNs instead of subnet <-> subnet VPNs?

Jun 16 2017, 4:12 PM · Plans, Ops, Phacility
epriestley added a comment to T12847: A Pathway Towards Private Clusters.

I'm a bit out of my depth here -- what's the alternative you're suggesting? That we have VPC <-> VPC VPNs instead of subnet <-> subnet VPNs? What, specifically, is the "just use TLS" plan?

Jun 16 2017, 10:59 AM · Plans, Ops, Phacility
amckinley added a comment to T12847: A Pathway Towards Private Clusters.

Okie dokie, I'll start evaluating.

Jun 16 2017, 2:03 AM · Plans, Ops, Phacility
amckinley closed T12848: Currently at max EC2 instance launch count as Resolved.

All done.

Jun 16 2017, 1:52 AM · Ops, Phacility
amckinley added a comment to T12848: Currently at max EC2 instance launch count.

AWS support case ID is 2243430271.

Jun 16 2017, 1:48 AM · Ops, Phacility
amckinley created T12848: Currently at max EC2 instance launch count.
Jun 16 2017, 1:46 AM · Ops, Phacility
epriestley added a comment to T12847: A Pathway Towards Private Clusters.

I think the worst possible outcome is that we throw it all away for some reason we don't currently forsee, you learn a lot more about how the cluster works in the process, and I can answer "Why aren't you using Chef/Ansible/Puppet?" when we make the next hire.

Jun 16 2017, 12:36 AM · Plans, Ops, Phacility
epriestley added a comment to T12847: A Pathway Towards Private Clusters.

I think we just have two very different models of where operational risk lies and how to hedge against it -- the risks you associate with first-party tooling are risks I associate with third-party tooling. We can't really objectively prove that either model is better because failures are rare in either case. I think we're worse off trying to compromise the two models than picking either one and sticking to it.

Jun 16 2017, 12:33 AM · Plans, Ops, Phacility

Jun 15 2017

amckinley added a comment to T12847: A Pathway Towards Private Clusters.

I'm concerned that this may turn a 2-month project into a 6-month project if we write something ourselves, or a 12-month project if we use Ansible, Chef or Puppet.

Jun 15 2017, 11:49 PM · Plans, Ops, Phacility
epriestley added a comment to T12847: A Pathway Towards Private Clusters.

I'll also suggest that we should implement some kind of "infrastructure as code" tool

Jun 15 2017, 10:29 PM · Plans, Ops, Phacility
epriestley added a comment to T12847: A Pathway Towards Private Clusters.

Today, we read config from admin.phacility.com on each request. This is generally good for shared clusters, although T12646 discusses some issues.

Jun 15 2017, 10:27 PM · Plans, Ops, Phacility
amckinley added a comment to T12847: A Pathway Towards Private Clusters.

I'll also suggest that we should implement some kind of "infrastructure as code" tool before going too far down the road of setting this stuff up. I'd really like to get to the point where no one ever has to push buttons in the AWS console unless something is really broken. I don't have super strong feelings about Ansible vs chef vs puppet, but I'd recommend against CFEngine and SaltStack.

Jun 15 2017, 10:24 PM · Plans, Ops, Phacility
epriestley added a comment to T12847: A Pathway Towards Private Clusters.

Instances should probably still have short display names (like "epriestley" corresponding to epriestley.phacility.com) for tooling consistency and, at least today, for mail. It's annoying/inconvenient if we can never call this instance "epriestley" and always have to call it "phabricator.epriestley.com". After T11413, they will also have possibly-different internal names, perhaps inst-abc or PHID-INST-abcdfe.

Jun 15 2017, 10:21 PM · Plans, Ops, Phacility
epriestley added a comment to T12847: A Pathway Towards Private Clusters.

Each private cluster should be on its own subnet. If/when we let installs run custom code on an instance and it's a security nightmare and roots the box, no other customer should be vulnerable.

Jun 15 2017, 10:05 PM · Plans, Ops, Phacility
epriestley added a comment to T12847: A Pathway Towards Private Clusters.

At least, not until we launch Phacility Apps for Domains and rebrand it to PSuite a few years later.

Jun 15 2017, 9:40 PM · Plans, Ops, Phacility
epriestley added a comment to T12847: A Pathway Towards Private Clusters.

(We can't ever host bugs@epriestley.com directly anyway -- that always has to forward -- and that's probably what installs would want if they care about any of this.)

Jun 15 2017, 9:39 PM · Plans, Ops, Phacility
epriestley added a comment to T12847: A Pathway Towards Private Clusters.

no lol

Jun 15 2017, 9:38 PM · Plans, Ops, Phacility
amckinley added a comment to T12847: A Pathway Towards Private Clusters.

As far as requesting certs goes, our "Request Certificate" button in the AWS console will work correctly by sending an email to the domain's owner:

Jun 15 2017, 9:35 PM · Plans, Ops, Phacility
epriestley added a comment to T12847: A Pathway Towards Private Clusters.

The main domain name, phabricator.epriestley.com, must be pointed at the ALB.

Jun 15 2017, 9:33 PM · Plans, Ops, Phacility
epriestley added a comment to T12847: A Pathway Towards Private Clusters.

SSL Certificates and Load Balancers

Jun 15 2017, 9:23 PM · Plans, Ops, Phacility
epriestley added a comment to T12847: A Pathway Towards Private Clusters.

I think there are broadly two halves to this which we can think about mostly separately:

Jun 15 2017, 9:10 PM · Plans, Ops, Phacility