wow: init

This is a shitty MMORPG server. Private. Do not touch.

Change-Id: Iddfce069f5895632d305a73fcaa2d963e25dc600
diff --git a/personal/q3k/wow/prod.jsonnet b/personal/q3k/wow/prod.jsonnet
new file mode 100644
index 0000000..20912fb
--- /dev/null
+++ b/personal/q3k/wow/prod.jsonnet
@@ -0,0 +1,90 @@
+local wow = import "lib.libsonnet";
+local mysql = import "../../../kube/mysql.libsonnet";
+
+{
+    q3k: wow {
+        local sqlPassword = (std.split(importstr "secrets/plain/mysql-root-password", "\n"))[0],
+        local soapPassword = (std.split(importstr "secrets/plain/soap-password", "\n"))[0],
+        local panelSecret = (std.split(importstr "secrets/plain/panel-secret", "\n"))[0],
+        local oauthSecret = (std.split(importstr "secrets/plain/oauth-secret", "\n"))[0],
+        local motd = importstr "secrets/plain/motd.txt",
+
+        local wow = self,
+        local cfg = self.cfg,
+        cfg+:: {
+            namespace: "personal-q3k",
+            prefix: "wow-",
+            address: "185.236.240.62",
+            db+: {
+                // Run everything as mysql root, #yolo.
+                local mkConfig = function(name) {
+                    host: wow.mysql.svc.host,
+                    port: wow.mysql.svc.port,
+                    user: "root",
+                    password: sqlPassword,
+                    database: "acore_%s" % [name],
+                },
+                auth+: mkConfig("auth"),
+                world+: mkConfig("world"),
+                characters+: mkConfig("characters"),
+            },
+            panel+: {
+                domain: "wow.q3k.org",
+                soap+: {
+                    username: "test1",
+                    password: soapPassword,
+                },
+                secret: panelSecret,
+                oauth+: {
+                    clientID: "56403ef3-df6f-4893-b475-d6c18284ed42",
+                    clientSecret: oauthSecret,
+                },
+                motd: motd,
+            },
+            overrides+: {
+                worldserver: {
+                    RealmZone: 8,
+                    Motd: "Welcome to Pabianice. Enjoy your grind.",
+
+                    "Rate.Drop.Item.Poor": 2,
+                    "Rate.Drop.Item.Normal": 2,
+                    "Rate.Drop.Item.Uncommon": 10,
+                    "Rate.Drop.Item.Rare": 10,
+                    "Rate.Drop.Item.Epic": 10,
+                    "Rate.Drop.Item.Legendary": 10,
+                    "Rate.Drop.Item.Artifact": 10,
+                    "Rate.Drop.Item.Referenced": 10,
+                    "Rate.Drop.Money": 10,
+                    "Rate.XP.Kill": 5,
+                    "Rate.XP.Explore": 5,
+                    "Rate.XP.BattlegroundKill": 10,
+                    "Rate.MoveSpeed": 2, 
+                    "SkillGain.Crafting": 5,
+                    "SkillGain.Defense": 5,
+                    "SkillGain.Gathering": 5,
+                    "SkillGain.Weapon": 5,
+
+                    "MinPetitionSigns": 5,
+                    "GM.AllowFriend": 1,
+                },
+                ahbot: {
+                    "AuctionHouseBot.EnableSeller": 1,
+                    "AuctionHouseBot.EnableBuyer": 1,
+                    "AuctionHouseBot.Account": 21,
+                    "AuctionHouseBot.GUID": 12,
+                },
+            },
+        },
+
+        // Run a single shitty database.
+        mysql: mysql {
+            cfg+:: {
+                namespace: cfg.namespace,
+                appName: "wow",
+                prefix: cfg.prefix,
+                password: sqlPassword,
+                user: "acore",
+            },
+        },
+    },
+}