summaryrefslogtreecommitdiff
path: root/sandcastle/config/deployment.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2023-01-13 13:31:01 +0100
committerFlorian Dold <florian@dold.me>2023-01-13 13:31:01 +0100
commit15cbdf8cd7a73ff1f74afa74703805568e5bbc2e (patch)
tree2b06889325dd3cfd5c2f9286fb6cda66fb0c528a /sandcastle/config/deployment.ts
parentc5b80768d7956825167ccb141798038dd01d0a64 (diff)
downloaddeployment-15cbdf8cd7a73ff1f74afa74703805568e5bbc2e.tar.gz
deployment-15cbdf8cd7a73ff1f74afa74703805568e5bbc2e.tar.bz2
deployment-15cbdf8cd7a73ff1f74afa74703805568e5bbc2e.zip
move sandcastle and some other docker files
Diffstat (limited to 'sandcastle/config/deployment.ts')
-rw-r--r--sandcastle/config/deployment.ts63
1 files changed, 63 insertions, 0 deletions
diff --git a/sandcastle/config/deployment.ts b/sandcastle/config/deployment.ts
new file mode 100644
index 0000000..6805171
--- /dev/null
+++ b/sandcastle/config/deployment.ts
@@ -0,0 +1,63 @@
+/**
+ * Not belonging here: ports to expose when
+ * starting the services and Git tags.
+ */
+
+interface BankAccount {
+ username: string;
+ password: string;
+}
+
+interface NexusAccount {
+ username: string;
+ password: string;
+}
+
+class ApiKey {
+ apikey: string;
+ constructor(apikey: string) {
+ if (!apikey.startsWith("secret-token:")) {
+ throw Error("Given API key lacks leading 'secret-token:' part.")
+ }
+ this.apikey = apikey;
+ }
+}
+
+interface TalerConfigUrls {
+ merchantUrl: URL;
+ landingUrl: URL;
+ blogUrl: URL;
+ donationsUrl: URL;
+ surveyUrl: URL;
+ syncUrl: URL;
+ // was bank-url in INI config:
+ bankWebUiUrl: URL;
+ // Used to point the Web UI.
+ bankSandboxUrl: URL;
+ // was default-exchange in INI config:
+ exchangeUrl: URL;
+}
+
+interface TalerConfigSecrets {
+ merchantApiKey: ApiKey;
+ dbPassword: string;
+}
+
+interface TalerConfigBankAccounts {
+ exchange: BankAccount;
+ blog: BankAccount;
+ pos: BankAccount;
+ gnunet: BankAccount;
+ taler: BankAccount;
+ tor: BankAccount;
+ survey: BankAccount;
+ defaultMerchantInstance: BankAccount;
+}
+
+interface TalerConfig {
+ currency: string;
+ urls: TalerConfigUrls;
+ secrets: TalerConfigSecrets;
+ bankAccounts: TalerConfigBankAccounts;
+ exchangeNexusAccount: NexusAccount;
+}