| giolekva | 8aa73e8 | 2022-07-09 11:34:39 +0400 | [diff] [blame] | 1 | package installer |
| giolekva | 050609f | 2021-12-29 15:51:40 +0400 | [diff] [blame] | 2 | |
| Giorgi Lekveishvili | 94cda9d | 2023-07-20 10:16:09 +0400 | [diff] [blame] | 3 | import ( |
| Giorgi Lekveishvili | 9d5e3f5 | 2024-03-13 15:02:50 +0400 | [diff] [blame^] | 4 | "net" |
| Giorgi Lekveishvili | 94cda9d | 2023-07-20 10:16:09 +0400 | [diff] [blame] | 5 | "net/netip" |
| 6 | ) |
| 7 | |
| 8 | type 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 | |
| 15 | type 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 Lekveishvili | 9d5e3f5 | 2024-03-13 15:02:50 +0400 | [diff] [blame^] | 25 | type EnvCIDR struct { |
| 26 | Name string |
| 27 | IP net.IP |
| 28 | } |
| 29 | |
| 30 | type EnvCIDRs []EnvCIDR |
| 31 | |
| giolekva | 050609f | 2021-12-29 15:51:40 +0400 | [diff] [blame] | 32 | type Config struct { |
| Giorgi Lekveishvili | 9b52ab9 | 2024-01-05 13:12:48 +0400 | [diff] [blame] | 33 | Values Values `json:"input"` // TODO(gio): rename |
| giolekva | 050609f | 2021-12-29 15:51:40 +0400 | [diff] [blame] | 34 | } |
| 35 | |
| 36 | type Values struct { |
| Giorgi Lekveishvili | 0ccd148 | 2023-06-21 15:02:24 +0400 | [diff] [blame] | 37 | 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"` |
| giolekva | 050609f | 2021-12-29 15:51:40 +0400 | [diff] [blame] | 54 | } |