blob: 5269512213f632a555805f7cd1f0c36c1b08c764 [file] [log] [blame]
giolekva8aa73e82022-07-09 11:34:39 +04001package installer
giolekva050609f2021-12-29 15:51:40 +04002
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +04003import (
Giorgi Lekveishvili9d5e3f52024-03-13 15:02:50 +04004 "net"
Giorgi Lekveishvili94cda9d2023-07-20 10:16:09 +04005 "net/netip"
6)
7
8type EnvServiceIPs struct {
9 ConfigRepo netip.Addr `json:"configRepo"`
10 IngressPublic netip.Addr `json:"ingressPublic"`
11 From netip.Addr `json:"from"`
12 To netip.Addr `json:"to"`
13}
14
15type EnvConfig struct {
16 Name string `json:"name"`
17 PublicIP string `json:"publicIP"`
18 NamespacePrefix string `json:"namespacePrefix"`
19 StorageDir string `json:"storageDir"`
20 VolumeDefaultReplicaCount int `json:"volumeDefaultReplicaCount"`
21 AdminPublicKey []byte `json:"adminPublicKey"`
22 ServiceIPs EnvServiceIPs `json:"serviceIPs"`
23}
24
Giorgi Lekveishvili9d5e3f52024-03-13 15:02:50 +040025type EnvCIDR struct {
26 Name string
27 IP net.IP
28}
29
30type EnvCIDRs []EnvCIDR
31
giolekva050609f2021-12-29 15:51:40 +040032type Config struct {
Giorgi Lekveishvili9b52ab92024-01-05 13:12:48 +040033 Values Values `json:"input"` // TODO(gio): rename
giolekva050609f2021-12-29 15:51:40 +040034}
35
36type Values struct {
Giorgi Lekveishvili0ccd1482023-06-21 15:02:24 +040037 PCloudEnvName string `json:"pcloudEnvName,omitempty"`
38 Id string `json:"id,omitempty"`
39 ContactEmail string `json:"contactEmail,omitempty"`
40 Domain string `json:"domain,omitempty"`
41 PrivateDomain string `json:"privateDomain,omitempty"`
42 PublicIP string `json:"publicIP,omitempty"`
43 NamespacePrefix string `json:"namespacePrefix,omitempty"`
44 // GandiAPIToken string `json:"gandiAPIToken,omitempty"`
45 // LighthouseAuthUIIP string `json:"lighthouseAuthUIIP,omitempty"`
46 // LighthouseMainIP string `json:"lighthouseMainIP,omitempty"`
47 // LighthouseMainPort string `json:"lighthouseMainPort,omitempty"`
48 // MXHostname string `json:"mxHostname,omitempty"`
49 // MailGatewayAddress string `json:"mailGatewayAddress,omitempty"`
50 // MatrixOAuth2ClientSecret string `json:"matrixOAuth2ClientSecret,omitempty"`
51 // MatrixStorageSize string `json:"matrixStorageSize,omitempty"`
52 // PiholeOAuth2ClientSecret string `json:"piholeOAuth2ClientSecret,omitempty"`
53 // PiholeOAuth2CookieSecret string `json:"piholeOAuth2CookieSecret,omitempty"`
giolekva050609f2021-12-29 15:51:40 +040054}