diff --git a/external-services/freshrss.yaml b/external-services/freshrss.yaml new file mode 100644 index 0000000..9377cf1 --- /dev/null +++ b/external-services/freshrss.yaml @@ -0,0 +1,109 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: freshrss + namespace: external-services +spec: + type: ClusterIP + ports: + - name: http + port: 80 +... +--- +apiVersion: discovery.k8s.io/v1 +kind: EndpointSlice +metadata: + name: freshrss + namespace: external-services + labels: + kubernetes.io/service-name: freshrss +addressType: IPv4 +ports: + - name: http + appProtocol: http + protocol: TCP + port: 21046 +endpoints: + - addresses: + - "192.168.0.12" + conditions: + ready: true +... +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: freshrss-cert + namespace: istio-system +spec: + secretName: freshrss-cert + commonName: rss.minhas.io + dnsNames: + - rss.minhas.io + issuerRef: + name: letsencrypt-prod + kind: ClusterIssuer + group: cert-manager.io +... +--- +apiVersion: networking.istio.io/v1beta1 +kind: Gateway +metadata: + name: freshrss-gateway + namespace: external-services +spec: + selector: + istio: ingressgateway + servers: + - port: + number: 443 + name: https + protocol: HTTPS + tls: + mode: SIMPLE + credentialName: freshrss-cert + hosts: + - rss.minhas.io +... +--- +apiVersion: networking.istio.io/v1beta1 +kind: ServiceEntry +metadata: + name: freshrss + namespace: external-services +spec: + hosts: + - rss.minhas.io + addresses: + - 0.0.0.0/0 + ports: + - number: 21046 + name: freshrss + protocol: HTTP + location: MESH_EXTERNAL + resolution: STATIC + endpoints: + - address: 192.168.0.12 +... +--- +apiVersion: networking.istio.io/v1beta1 +kind: VirtualService +metadata: + name: freshrss-gateway + namespace: external-services +spec: + hosts: + - rss.minhas.io + gateways: + - freshrss-gateway + http: + - match: + - uri: + prefix: / + route: + - destination: + port: + number: 80 + host: freshrss +... diff --git a/external-services/gitea.yaml b/external-services/gitea.yaml new file mode 100644 index 0000000..4ae6e43 --- /dev/null +++ b/external-services/gitea.yaml @@ -0,0 +1,109 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: git + namespace: external-services +spec: + type: ClusterIP + ports: + - name: http + port: 80 +... +--- +apiVersion: discovery.k8s.io/v1 +kind: EndpointSlice +metadata: + name: git + namespace: external-services + labels: + kubernetes.io/service-name: git +addressType: IPv4 +ports: + - name: http + appProtocol: http + protocol: TCP + port: 23922 +endpoints: + - addresses: + - "192.168.0.12" + conditions: + ready: true +... +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: git-cert + namespace: istio-system +spec: + secretName: git-cert + commonName: git.minhas.io + dnsNames: + - git.minhas.io + issuerRef: + name: letsencrypt-prod + kind: ClusterIssuer + group: cert-manager.io +... +--- +apiVersion: networking.istio.io/v1beta1 +kind: Gateway +metadata: + name: git-gateway + namespace: external-services +spec: + selector: + istio: ingressgateway + servers: + - port: + number: 443 + name: https + protocol: HTTPS + tls: + mode: SIMPLE + credentialName: git-cert + hosts: + - git.minhas.io +... +--- +apiVersion: networking.istio.io/v1beta1 +kind: ServiceEntry +metadata: + name: git + namespace: external-services +spec: + hosts: + - git.minhas.io + addresses: + - 0.0.0.0/0 + ports: + - number: 23922 + name: git + protocol: HTTP + location: MESH_EXTERNAL + resolution: STATIC + endpoints: + - address: 192.168.0.12 +... +--- +apiVersion: networking.istio.io/v1beta1 +kind: VirtualService +metadata: + name: git-gateway + namespace: external-services +spec: + hosts: + - git.minhas.io + gateways: + - git-gateway + http: + - match: + - uri: + prefix: / + route: + - destination: + port: + number: 80 + host: git +... diff --git a/external-services/kanban.yaml b/external-services/kanban.yaml new file mode 100644 index 0000000..e0b3ed1 --- /dev/null +++ b/external-services/kanban.yaml @@ -0,0 +1,109 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: kanban + namespace: external-services +spec: + type: ClusterIP + ports: + - name: http + port: 80 +... +--- +apiVersion: discovery.k8s.io/v1 +kind: EndpointSlice +metadata: + name: kanban + namespace: external-services + labels: + kubernetes.io/service-name: kanban +addressType: IPv4 +ports: + - name: http + appProtocol: http + protocol: TCP + port: 3453 +endpoints: + - addresses: + - "192.168.0.12" + conditions: + ready: true +... +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: kanban-cert + namespace: istio-system +spec: + secretName: kanban-cert + commonName: kanban.minhas.io + dnsNames: + - kanban.minhas.io + issuerRef: + name: letsencrypt-prod + kind: ClusterIssuer + group: cert-manager.io +... +--- +apiVersion: networking.istio.io/v1beta1 +kind: Gateway +metadata: + name: kanban-gateway + namespace: external-services +spec: + selector: + istio: ingressgateway + servers: + - port: + number: 443 + name: https + protocol: HTTPS + tls: + mode: SIMPLE + credentialName: kanban-cert + hosts: + - kanban.minhas.io +... +--- +apiVersion: networking.istio.io/v1beta1 +kind: ServiceEntry +metadata: + name: kanban + namespace: external-services +spec: + hosts: + - kanban.minhas.io + addresses: + - 0.0.0.0/0 + ports: + - number: 3453 + name: kanban + protocol: HTTP + location: MESH_EXTERNAL + resolution: STATIC + endpoints: + - address: 192.168.0.12 +... +--- +apiVersion: networking.istio.io/v1beta1 +kind: VirtualService +metadata: + name: kanban-gateway + namespace: external-services +spec: + hosts: + - kanban.minhas.io + gateways: + - kanban-gateway + http: + - match: + - uri: + prefix: / + route: + - destination: + port: + number: 80 + host: kanban +... diff --git a/external-services/nextcloud.yaml b/external-services/nextcloud.yaml new file mode 100644 index 0000000..a569ab0 --- /dev/null +++ b/external-services/nextcloud.yaml @@ -0,0 +1,109 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: nextcloud + namespace: external-services +spec: + type: ClusterIP + ports: + - name: http + port: 80 +... +--- +apiVersion: discovery.k8s.io/v1 +kind: EndpointSlice +metadata: + name: nextcloud + namespace: external-services + labels: + kubernetes.io/service-name: nextcloud +addressType: IPv4 +ports: + - name: http + appProtocol: http + protocol: TCP + port: 23006 +endpoints: + - addresses: + - "192.168.0.12" + conditions: + ready: true +... +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: nextcloud-cert + namespace: istio-system +spec: + secretName: nextcloud-cert + commonName: nextcloud.minhas.io + dnsNames: + - nextcloud.minhas.io + issuerRef: + name: letsencrypt-prod + kind: ClusterIssuer + group: cert-manager.io +... +--- +apiVersion: networking.istio.io/v1beta1 +kind: Gateway +metadata: + name: nextcloud-gateway + namespace: external-services +spec: + selector: + istio: ingressgateway + servers: + - port: + number: 443 + name: https + protocol: HTTPS + tls: + mode: SIMPLE + credentialName: nextcloud-cert + hosts: + - nextcloud.minhas.io +... +--- +apiVersion: networking.istio.io/v1beta1 +kind: ServiceEntry +metadata: + name: nextcloud + namespace: external-services +spec: + hosts: + - nextcloud.minhas.io + addresses: + - 0.0.0.0/0 + ports: + - number: 23006 + name: nextcloud + protocol: HTTP + location: MESH_EXTERNAL + resolution: STATIC + endpoints: + - address: 192.168.0.12 +... +--- +apiVersion: networking.istio.io/v1beta1 +kind: VirtualService +metadata: + name: nextcloud-gateway + namespace: external-services +spec: + hosts: + - nextcloud.minhas.io + gateways: + - nextcloud-gateway + http: + - match: + - uri: + prefix: / + route: + - destination: + port: + number: 80 + host: nextcloud +... diff --git a/external-services/ns.yaml b/external-services/ns.yaml new file mode 100644 index 0000000..63edb09 --- /dev/null +++ b/external-services/ns.yaml @@ -0,0 +1,5 @@ +--- +kind: Namespace +apiVersion: v1 +metadata: + name: external-services diff --git a/external-services/sudoscientist-go-backend.yaml b/external-services/sudoscientist-go-backend.yaml new file mode 100644 index 0000000..90a187a --- /dev/null +++ b/external-services/sudoscientist-go-backend.yaml @@ -0,0 +1,109 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: sudosci + namespace: external-services +spec: + type: ClusterIP + ports: + - name: http + port: 80 +... +--- +apiVersion: discovery.k8s.io/v1 +kind: EndpointSlice +metadata: + name: sudosci + namespace: external-services + labels: + kubernetes.io/service-name: sudosci +addressType: IPv4 +ports: + - name: http + appProtocol: http + protocol: TCP + port: 28824 +endpoints: + - addresses: + - "192.168.0.12" + conditions: + ready: true +... +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: sudosci-cert + namespace: istio-system +spec: + secretName: sudosci-cert + commonName: api.sudoscientist.com + dnsNames: + - api.sudoscientist.com + issuerRef: + name: route53-issuer + kind: ClusterIssuer + group: cert-manager.io +... +--- +apiVersion: networking.istio.io/v1beta1 +kind: Gateway +metadata: + name: sudosci-gateway + namespace: external-services +spec: + selector: + istio: ingressgateway + servers: + - port: + number: 443 + name: https + protocol: HTTPS + tls: + mode: SIMPLE + credentialName: sudosci-cert + hosts: + - api.sudoscientist.com +... +--- +apiVersion: networking.istio.io/v1beta1 +kind: ServiceEntry +metadata: + name: sudosci + namespace: external-services +spec: + hosts: + - api.sudoscientist.com + addresses: + - 0.0.0.0/0 + ports: + - number: 28824 + name: sudosci + protocol: HTTP + location: MESH_EXTERNAL + resolution: STATIC + endpoints: + - address: 192.168.0.12 +... +--- +apiVersion: networking.istio.io/v1beta1 +kind: VirtualService +metadata: + name: sudosci-gateway + namespace: external-services +spec: + hosts: + - api.sudoscientist.com + gateways: + - sudosci-gateway + http: + - match: + - uri: + prefix: / + route: + - destination: + port: + number: 80 + host: sudosci +...