Skip to content

Commit 24374a0

Browse files
Api changes
Signed-off-by: Arnob kumar saha <arnob@appscode.com>
1 parent 52a6372 commit 24374a0

30 files changed

Lines changed: 703 additions & 3 deletions

apis/installer/v1alpha1/ace_ace_types.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ type AceSpec struct {
5858
KubedbUi AceKubedbUi `json:"kubedb-ui"`
5959
PlatformApi AcePlatformApi `json:"platform-api"`
6060
IngressNginx AceIngressNginx `json:"ingress-nginx"`
61+
HTTPRoute AceHTTPRoute `json:"httpRoute"`
6162
IngressDns AceIngressDns `json:"ingress-dns"`
6263
Nats AceNats `json:"nats"`
6364
NatsDns AceNatsDns `json:"nats-dns"`
@@ -137,6 +138,11 @@ type AceIngressNginx struct {
137138
*IngressNginxSpec `json:",inline,omitempty"`
138139
}
139140

141+
type AceHTTPRoute struct {
142+
Enabled bool `json:"enabled"`
143+
*HTTPRouteSpec `json:",inline,omitempty"`
144+
}
145+
140146
type AceIngressDns struct {
141147
Enabled bool `json:"enabled"`
142148
Spec *dnsapi.ExternalDNSSpec `json:"spec,omitempty"`

apis/installer/v1alpha1/ace_inbox_ui_types.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,9 @@ type InboxUiSpec struct {
7373
Tolerations []core.Toleration `json:"tolerations"`
7474
// If specified, the pod's scheduling constraints
7575
// +optional
76-
Affinity *core.Affinity `json:"affinity"`
77-
Ingress PlatformIngress `json:"ingress"`
76+
Affinity *core.Affinity `json:"affinity"`
77+
Ingress PlatformIngress `json:"ingress"`
78+
HTTPRoute AppHTTPRoute `json:"httpRoute"`
7879
// +optional
7980
Distro shared.DistroSpec `json:"distro"`
8081
}

apis/installer/v1alpha1/ace_options_types.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ type AceOptionsSpec struct {
6666
KubedbUi AceOptionsComponentSpec `json:"kubedb-ui"`
6767
PlatformApi AceOptionsComponentSpec `json:"platform-api"`
6868
Ingress AceOptionsIngressNginx `json:"ingress"`
69+
HTTPRoute AceOptionsHTTPRoute `json:"httpRoute"`
6970
Nats AceOptionsNatsSettings `json:"nats"`
7071
Trickster AceOptionsComponentSpec `json:"trickster"`
7172
Openfga AceOptionsComponentSpec `json:"openfga"`
@@ -186,6 +187,7 @@ const (
186187
)
187188

188189
type AceOptionsIngressNginx struct {
190+
Enabled bool `json:"enabled"`
189191
Annotations map[string]string `json:"annotations,omitempty"`
190192
ExposeVia ServiceType `json:"exposeVia"`
191193
// DNS record types that will be considered for management
@@ -197,6 +199,10 @@ type AceOptionsIngressNginx struct {
197199
ExternalIPs []string `json:"externalIPs"`
198200
}
199201

202+
type AceOptionsHTTPRoute struct {
203+
Enabled bool `json:"enabled"`
204+
}
205+
200206
// +kubebuilder:validation:Enum=Ingress;HostPort
201207
type ExposeNatsVia string
202208

apis/installer/v1alpha1/ace_service_backend_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ type ServiceBackendSpec struct {
7777
Volumes []core.Volume `json:"volumes"`
7878
VolumeMounts []core.VolumeMount `json:"volumeMounts"`
7979
Ingress PlatformIngress `json:"ingress"`
80+
HTTPRoute AppHTTPRoute `json:"httpRoute"`
8081
Monitoring Monitoring `json:"monitoring"`
8182
Server ServerConfig `json:"server"`
8283
// +optional

apis/installer/v1alpha1/dns_proxy.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ type DnsProxySpec struct {
7676
Affinity *core.Affinity `json:"affinity"`
7777
Monitoring CustomMonitoring `json:"monitoring"`
7878
Ingress AppIngress `json:"ingress"`
79+
HTTPRoute AppHTTPRoute `json:"httpRoute"`
7980
Cloudflare CloudflareTokenReference `json:"cloudflare"`
8081
Auth DNSProxyAuth `json:"auth"`
8182
TLSSecretRef LocalObjectReference `json:"tlsSecretRef"`

apis/installer/v1alpha1/gh_ci_webhook_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ type GhCiWebhookSpec struct {
7373
// +optional
7474
Affinity *core.Affinity `json:"affinity"`
7575
Ingress AppIngress `json:"ingress"`
76+
HTTPRoute AppHTTPRoute `json:"httpRoute"`
7677
Volumes []core.Volume `json:"volumes"`
7778
VolumeMounts []core.VolumeMount `json:"volumeMounts"`
7879
Args []string `json:"args"`

apis/installer/v1alpha1/minio.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ type MinioSpec struct {
7575
Persistence PersistenceSpec `json:"persistence"`
7676
StorageClass LocalObjectReference `json:"storageClass"`
7777
Ingress MinioIngress `json:"ingress"`
78+
HTTPRoute AppHTTPRoute `json:"httpRoute"`
7879
Minio MinioConfig `json:"minio"`
7980
// +optional
8081
Distro shared.DistroSpec `json:"distro"`

apis/installer/v1alpha1/offline_license_server_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ type OfflineLicenseServerSpec struct {
7474
// +optional
7575
Affinity *core.Affinity `json:"affinity"`
7676
Ingress AppIngress `json:"ingress"`
77+
HTTPRoute AppHTTPRoute `json:"httpRoute"`
7778
Volumes []core.Volume `json:"volumes"`
7879
VolumeMounts []core.VolumeMount `json:"volumeMounts"`
7980
Args []string `json:"args"`

apis/installer/v1alpha1/s3proxy.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ type S3proxySpec struct {
7575
Persistence PersistenceSpec `json:"persistence"`
7676
StorageClass LocalObjectReference `json:"storageClass"`
7777
Ingress S3proxyIngress `json:"ingress"`
78+
HTTPRoute AppHTTPRoute `json:"httpRoute"`
7879
S3proxy S3proxyConfig `json:"s3proxy"`
7980
// +optional
8081
Distro shared.DistroSpec `json:"distro"`
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
/*
2+
Copyright AppsCode Inc. and Contributors
3+
4+
Licensed under the AppsCode Community License 1.0.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
https://github.com/appscode/licenses/raw/1.0.0/AppsCode-Community-1.0.0.md
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
package v1alpha1
18+
19+
import gwapi "sigs.k8s.io/gateway-api/apis/v1"
20+
21+
type AppHTTPRoute struct {
22+
Enabled bool `json:"enabled"`
23+
*HTTPRouteSpec `json:",inline,omitempty"`
24+
Hosts []HTTPRouteHost `json:"hosts"`
25+
}
26+
27+
type HTTPRouteSpec struct {
28+
Annotations map[string]string `json:"annotations,omitempty"`
29+
GatewayClassName string `json:"gatewayClassName"`
30+
TLS *HTTPRouteTLS `json:"tls"`
31+
}
32+
33+
type HTTPRouteTLS struct {
34+
Enabled bool `json:"enabled"`
35+
Secret *LocalObjectReference `json:"secret"`
36+
}
37+
38+
type HTTPRouteHost struct {
39+
Host string `json:"host"`
40+
Paths HTTPRoutePath `json:"paths"`
41+
}
42+
43+
type HTTPRoutePath struct {
44+
Path string `json:"path"`
45+
PathType gwapi.PathMatchType `json:"pathType,omitempty"`
46+
}

0 commit comments

Comments
 (0)