summaryrefslogtreecommitdiff
path: root/Biz/Cloud
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2020-10-19 16:57:32 -0400
committerBen Sima <ben@bsima.me>2020-12-04 22:00:39 -0500
commit32f53350a3a3d701e9a1474e670a8454342adc40 (patch)
treebbe260135f49c31e19f00a8c5554fcd57f015c34 /Biz/Cloud
parentc25390646bf9289dbba78a6d54f7e9a71fda3dc2 (diff)
Devalloc informational website
This includes deployment and implementation. As part of sprint-49, here are the startup progress questions: - Are you on track? - Yes? I'm making progress toward a proper launch. - Are you launched? - No - How many weeks to launch? - I would say 4 but it's probably more like 8 - How many (prospective) users have you talked to in the last week? - 2, Kyle and his manager, see below - What have you learned from them? - Kyle thought the metrics were interesting. - His manager thought the metrics were kinda useful but didn't think they really helped people ship higher quality code faster. So that's the rub: I have to show how this can make devs ship higher quality code faster; or, develop a set of features that improve those things. - Kyle pointed out that the clustering feature of devalloc will find optimal pairings *and* identify team silos that could be improved, so that's important to remember and might be a good angle in the future. - On a scale of 1-10, what is your morale? - 6 maybe - What most improved your primary metric? - Well I was able to deploy something within in the week, whereas before I had zero deploys per week. So that's an improvement. - What is your biggest obstacle? - Finding customers to talk to. - Also the thing isn't really built yet, I just have a python script. I need to build the real SaaS product - What are your top 1-3 goals for next week? - Find a single customer I can work with on an ongoing basis - I should ask around my network to see if I have any second-order connections that would be willing to work with me (Asher, Chad, previous bosses, etc) - Build out the front-end of the website (it's very simple, would just need a basic miso module and deployment) - Figure out how to connect/auth to the Github API so I can start building the SaaS version of the product Some user feedback from my friend Kyle. This comes from his engineering manager: > "Looks neat. If it were priced low enough I could see using it to run reports > as part of an overall package. A lot of those metrics don't matter too much to > me as a manager though A lot of these code quality tools are handy info but I > don't feel like they make people ship code any faster or any higher quality > Things like CodeClimate work well for Jrs though to avoid obvious static type > mistakes" Kyle provided some additional comments: > he might have been an unusual case. Jared's not big into metrics, Pivotal > Tracker point estimates, or things like that... He's far more into qualitative > feedback, like retrospectives and 1:1s > > I think it's definitely neat data! I certainly like the collaboration analysis > > It's interesting, we recently had a pair where two devs didn't work well > together, that could be represented here. Though, we didn't want to avoid > having them work together, we wanted them to find a work style that worked for > both of them And that's a good point: devalloc will find optimal pairings *and* points where you could improve team cohesiveness.
Diffstat (limited to 'Biz/Cloud')
-rw-r--r--Biz/Cloud/Chat.nix10
-rw-r--r--Biz/Cloud/Web.nix82
2 files changed, 68 insertions, 24 deletions
diff --git a/Biz/Cloud/Chat.nix b/Biz/Cloud/Chat.nix
index bc97973..6f8ac3a 100644
--- a/Biz/Cloud/Chat.nix
+++ b/Biz/Cloud/Chat.nix
@@ -2,6 +2,9 @@
#
# a homeserver for matrix.org.
#
+# this uses the config.networking.domain as the ACME host. be sure to add the
+# fqdn and element subdomains to security.acme.certs.<name>.extraDomainNames
+#
# - nixos manual: https://nixos.org/nixos/manual/index.html#module-services-matrix
#
# to create new users:
@@ -72,8 +75,8 @@ in {
};
# reverse proxy for matrix client-server and server-server communication
"${fqdn}" = {
- enableACME = true;
forceSSL = true;
+ useACMEHost = config.networking.domain;
locations."/".extraConfig = ''
return 404;
'';
@@ -90,11 +93,8 @@ in {
# https://github.com/vector-im/element-web#important-security-note
#
services.nginx.virtualHosts."${element}" = {
- enableACME = true;
+ useACMEHost = config.networking.domain;
forceSSL = true;
- serverAliases = [
- "chat.${config.networking.domain}"
- ];
root = pkgs.element-web;
};
}
diff --git a/Biz/Cloud/Web.nix b/Biz/Cloud/Web.nix
index acd5c2f..56eeb2d 100644
--- a/Biz/Cloud/Web.nix
+++ b/Biz/Cloud/Web.nix
@@ -1,6 +1,7 @@
-{ ... }:
+{ config, ... }:
let
+ rootDomain = config.networking.domain;
bensIp = "24.140.84.23";
in
{
@@ -11,31 +12,74 @@ in
recommendedOptimisation = true;
recommendedProxySettings = true;
recommendedTlsSettings = true;
+
+ group = "users";
+
virtualHosts = {
- "bsima.me".root = "/home/ben/public_html/";
- "www.bsima.me".root = "/home/ben/public_html/";
- "simatime.com".locations."/".root = "/srv/www/";
- "firefoxsync.simatime.com".locations."/".proxyPass = "http://localhost:5001";
- "hero.simatime.com".locations."/".proxyPass = "http://${bensIp}:3001";
- "tv.simatime.com".locations."/".proxyPass = "http://${bensIp}:8096"; # emby runs on port 8096
- "deluge.simatime.com".locations."/".proxyPass = "http://${bensIp}:8112";
-
- "notebook.simatime.com".locations = {
- "/" = {
- proxyPass = "http://${bensIp}:3099";
- proxyWebsockets = true;
- extraConfig = ''
- proxy_buffering off;
- proxy_read_timeout 86400;
+ ${rootDomain} = {
+ locations."/".root = "/srv/www/";
+ # serve /~$USER paths
+ locations."~ ^/~(.+?)(/.*)?$" = {
+ alias = "/home/$1/public_html$2";
+ index = "index.html index.htm";
+ extraConfig = ''
+ autoindex on;
'';
};
- "/(api/kernels/[^/]+/channels|terminals/websocket)/" = {
- proxyPass = "http://${bensIp}:3099";
- proxyWebsockets = true;
+ forceSSL = true;
+ enableACME = true;
+ };
+
+ "bsima.me" = {
+ locations."/" = {
+ root = "/home/ben/public_html/";
+ index = "index.html index.htm";
+ extraConfig = ''
+ autoindex on;
+ '';
};
+ serverAliases = [ "www.bsima.me" ];
+ forceSSL = true;
+ useACMEHost = rootDomain;
+ };
+
+ "tv.${rootDomain}" = {
+ locations."/".proxyPass = "http://${bensIp}:8096"; # emby runs on port 8096
+ forceSSL = true;
+ useACMEHost = rootDomain;
};
+
+ "devalloc.io" = {
+ locations."/".proxyPass = "http://${bensIp}:8095";
+ forceSSL = true;
+ useACMEHost = rootDomain;
+ };
+
+ # Jupyter is currently disabled on Biz.Dev
+ #"notebook.simatime.com".locations = {
+ # "/" = {
+ # proxyPass = "http://${bensIp}:3099";
+ # proxyWebsockets = true;
+ # extraConfig = ''
+ # proxy_buffering off;
+ # proxy_read_timeout 86400;
+ # '';
+ # };
+ # "/(api/kernels/[^/]+/channels|terminals/websocket)/" = {
+ # proxyPass = "http://${bensIp}:3099";
+ # proxyWebsockets = true;
+ # };
+ #};
};
};
};
+
+ # This must contain all of the other domains we host
+ security.acme.certs.${rootDomain}.extraDomainNames = [
+ "bsima.me" "www.bsima.me" "tv.${rootDomain}"
+ "devalloc.io"
+ "matrix.${rootDomain}"
+ "chat.${rootDomain}"
+ ];#
}