| Giorgi Lekveishvili | e009a5d | 2024-01-05 14:10:11 +0400 | [diff] [blame] | 1 | input: { |
| Giorgi Lekveishvili | 7c42760 | 2024-01-04 00:13:55 +0400 | [diff] [blame] | 2 | network: #Network |
| 3 | subdomain: string |
| Giorgi Lekveishvili | a09fad7 | 2024-03-21 15:24:35 +0400 | [diff] [blame^] | 4 | auth: #Auth |
| Giorgi Lekveishvili | 7c42760 | 2024-01-04 00:13:55 +0400 | [diff] [blame] | 5 | } |
| 6 | |
| Giorgi Lekveishvili | 7c42760 | 2024-01-04 00:13:55 +0400 | [diff] [blame] | 7 | _domain: "\(input.subdomain).\(input.network.domain)" |
| 8 | |
| Giorgi Lekveishvili | ef21c13 | 2024-01-17 18:57:58 +0400 | [diff] [blame] | 9 | name: "rpuppy" |
| 10 | namespace: "app-rpuppy" |
| Giorgi Lekveishvili | 7c42760 | 2024-01-04 00:13:55 +0400 | [diff] [blame] | 11 | readme: "rpuppy application will be installed on \(input.network.name) network and be accessible to any user on https://\(_domain)" |
| Giorgi Lekveishvili | ef21c13 | 2024-01-17 18:57:58 +0400 | [diff] [blame] | 12 | description: "Delights users with randomly generate puppy pictures. Can be configured to be reachable only from private network or publicly." |
| 13 | icon: "<svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 256 256'><path fill='currentColor' d='M100 140a8 8 0 1 1-8-8a8 8 0 0 1 8 8Zm64 8a8 8 0 1 0-8-8a8 8 0 0 0 8 8Zm64.94-9.11a12.12 12.12 0 0 1-5 1.11a11.83 11.83 0 0 1-9.35-4.62l-2.59-3.29V184a36 36 0 0 1-36 36H80a36 36 0 0 1-36-36v-51.91l-2.53 3.27A11.88 11.88 0 0 1 32.1 140a12.08 12.08 0 0 1-5-1.11a11.82 11.82 0 0 1-6.84-13.14l16.42-88a12 12 0 0 1 14.7-9.43h.16L104.58 44h46.84l53.08-15.6h.16a12 12 0 0 1 14.7 9.43l16.42 88a11.81 11.81 0 0 1-6.84 13.06ZM97.25 50.18L49.34 36.1a4.18 4.18 0 0 0-.92-.1a4 4 0 0 0-3.92 3.26l-16.42 88a4 4 0 0 0 7.08 3.22ZM204 121.75L150 52h-44l-54 69.75V184a28 28 0 0 0 28 28h44v-18.34l-14.83-14.83a4 4 0 0 1 5.66-5.66L128 186.34l13.17-13.17a4 4 0 0 1 5.66 5.66L132 193.66V212h44a28 28 0 0 0 28-28Zm23.92 5.48l-16.42-88a4 4 0 0 0-4.84-3.16l-47.91 14.11l62.11 80.28a4 4 0 0 0 7.06-3.23Z'/></svg>" |
| Giorgi Lekveishvili | 7c42760 | 2024-01-04 00:13:55 +0400 | [diff] [blame] | 14 | |
| 15 | images: { |
| 16 | rpuppy: { |
| 17 | repository: "giolekva" |
| 18 | name: "rpuppy" |
| 19 | tag: "latest" |
| 20 | pullPolicy: "Always" |
| 21 | } |
| Giorgi Lekveishvili | 0ba5e40 | 2024-03-20 15:56:30 +0400 | [diff] [blame] | 22 | authProxy: { |
| 23 | repository: "giolekva" |
| 24 | name: "auth-proxy" |
| 25 | tag: "latest" |
| 26 | pullPolicy: "Always" |
| 27 | } |
| Giorgi Lekveishvili | 7c42760 | 2024-01-04 00:13:55 +0400 | [diff] [blame] | 28 | } |
| 29 | |
| 30 | charts: { |
| 31 | rpuppy: { |
| Giorgi Lekveishvili | 9b52ab9 | 2024-01-05 13:12:48 +0400 | [diff] [blame] | 32 | chart: "charts/rpuppy" |
| 33 | sourceRef: { |
| Giorgi Lekveishvili | 7c42760 | 2024-01-04 00:13:55 +0400 | [diff] [blame] | 34 | kind: "GitRepository" |
| Giorgi Lekveishvili | 9b52ab9 | 2024-01-05 13:12:48 +0400 | [diff] [blame] | 35 | name: "pcloud" |
| 36 | namespace: global.id |
| Giorgi Lekveishvili | 7c42760 | 2024-01-04 00:13:55 +0400 | [diff] [blame] | 37 | } |
| Giorgi Lekveishvili | 7c42760 | 2024-01-04 00:13:55 +0400 | [diff] [blame] | 38 | } |
| Giorgi Lekveishvili | 0ba5e40 | 2024-03-20 15:56:30 +0400 | [diff] [blame] | 39 | ingress: { |
| 40 | chart: "charts/ingress" |
| 41 | sourceRef: { |
| 42 | kind: "GitRepository" |
| 43 | name: "pcloud" |
| 44 | namespace: global.id |
| 45 | } |
| 46 | } |
| 47 | authProxy: { |
| 48 | chart: "charts/auth-proxy" |
| 49 | sourceRef: { |
| 50 | kind: "GitRepository" |
| 51 | name: "pcloud" |
| 52 | namespace: global.id |
| 53 | } |
| 54 | } |
| Giorgi Lekveishvili | 7c42760 | 2024-01-04 00:13:55 +0400 | [diff] [blame] | 55 | } |
| 56 | |
| Giorgi Lekveishvili | 0ba5e40 | 2024-03-20 15:56:30 +0400 | [diff] [blame] | 57 | _rpuppyServiceName: "rpuppy" |
| 58 | _authProxyServiceName: "auth-proxy" |
| 59 | _httpPortName: "http" |
| 60 | |
| Giorgi Lekveishvili | 7c42760 | 2024-01-04 00:13:55 +0400 | [diff] [blame] | 61 | helm: { |
| 62 | rpuppy: { |
| 63 | chart: charts.rpuppy |
| 64 | values: { |
| Giorgi Lekveishvili | 7c42760 | 2024-01-04 00:13:55 +0400 | [diff] [blame] | 65 | image: { |
| 66 | repository: images.rpuppy.fullName |
| 67 | tag: images.rpuppy.tag |
| 68 | pullPolicy: images.rpuppy.pullPolicy |
| 69 | } |
| Giorgi Lekveishvili | 0ba5e40 | 2024-03-20 15:56:30 +0400 | [diff] [blame] | 70 | portName: _httpPortName |
| 71 | } |
| 72 | } |
| Giorgi Lekveishvili | a09fad7 | 2024-03-21 15:24:35 +0400 | [diff] [blame^] | 73 | if input.auth.enabled { |
| Giorgi Lekveishvili | 0ba5e40 | 2024-03-20 15:56:30 +0400 | [diff] [blame] | 74 | "auth-proxy": { |
| 75 | chart: charts.authProxy |
| 76 | values: { |
| 77 | image: { |
| 78 | repository: images.authProxy.fullName |
| 79 | tag: images.authProxy.tag |
| 80 | pullPolicy: images.authProxy.pullPolicy |
| 81 | } |
| 82 | upstream: "\(_rpuppyServiceName).\(release.namespace).svc.cluster.local" |
| 83 | whoAmIAddr: "https://accounts.\(global.domain)/sessions/whoami" |
| 84 | loginAddr: "https://accounts-ui.\(global.domain)/login" |
| Giorgi Lekveishvili | a09fad7 | 2024-03-21 15:24:35 +0400 | [diff] [blame^] | 85 | membershipAddr: "http://memberships.\(global.id)-core-auth-memberships.svc.cluster.local/api/user" |
| 86 | groups: input.auth.groups |
| Giorgi Lekveishvili | 0ba5e40 | 2024-03-20 15:56:30 +0400 | [diff] [blame] | 87 | portName: _httpPortName |
| 88 | } |
| 89 | } |
| 90 | } |
| 91 | ingress: { |
| 92 | chart: charts.ingress |
| 93 | values: { |
| 94 | domain: _domain |
| 95 | ingressClassName: input.network.ingressClass |
| 96 | certificateIssuer: input.network.certificateIssuer |
| 97 | service: { |
| Giorgi Lekveishvili | a09fad7 | 2024-03-21 15:24:35 +0400 | [diff] [blame^] | 98 | if input.auth.enabled { |
| Giorgi Lekveishvili | 0ba5e40 | 2024-03-20 15:56:30 +0400 | [diff] [blame] | 99 | name: _authProxyServiceName |
| 100 | } |
| Giorgi Lekveishvili | a09fad7 | 2024-03-21 15:24:35 +0400 | [diff] [blame^] | 101 | if !input.auth.enabled { |
| Giorgi Lekveishvili | 0ba5e40 | 2024-03-20 15:56:30 +0400 | [diff] [blame] | 102 | name: _rpuppyServiceName |
| 103 | } |
| 104 | port: name: _httpPortName |
| 105 | } |
| Giorgi Lekveishvili | 7c42760 | 2024-01-04 00:13:55 +0400 | [diff] [blame] | 106 | } |
| 107 | } |
| 108 | } |