From 79706c90ffd74302629cef143b4207d818a6ec25 Mon Sep 17 00:00:00 2001 From: rblundon Date: Mon, 4 Aug 2025 14:04:50 -0500 Subject: [PATCH 01/20] deploy metallb to internal cluster and rebove ingress --- .../ingress-nginx-appset.yaml | 0 cluster/metallb-operator-appset.yaml | 46 +++++++++++++++++++ .../base/bgp_advertisement.yaml | 11 +++++ .../metallb-operator/base/kustomization.yaml | 15 ++++++ cluster/metallb-operator/base/metallb.yaml | 7 +++ cluster/metallb-operator/base/namespace.yaml | 13 ++++++ .../metallb-operator/base/operatorgroup.yaml | 9 ++++ .../metallb-operator/base/subscription.yaml | 12 +++++ .../metallb-operator/external/bgp_peer.yaml | 12 +++++ .../external/ip_addresspool.yaml | 12 +++++ .../metallb-operator/internal/bgp_peer.yaml | 12 +++++ .../internal/ip_addresspool.yaml | 12 +++++ .../internal/kustomization.yaml | 10 ++++ 13 files changed, 171 insertions(+) rename cluster/{ => ingress-nginx}/ingress-nginx-appset.yaml (100%) create mode 100644 cluster/metallb-operator-appset.yaml create mode 100644 cluster/metallb-operator/base/bgp_advertisement.yaml create mode 100644 cluster/metallb-operator/base/kustomization.yaml create mode 100644 cluster/metallb-operator/base/metallb.yaml create mode 100644 cluster/metallb-operator/base/namespace.yaml create mode 100644 cluster/metallb-operator/base/operatorgroup.yaml create mode 100644 cluster/metallb-operator/base/subscription.yaml create mode 100644 cluster/metallb-operator/external/bgp_peer.yaml create mode 100644 cluster/metallb-operator/external/ip_addresspool.yaml create mode 100644 cluster/metallb-operator/internal/bgp_peer.yaml create mode 100644 cluster/metallb-operator/internal/ip_addresspool.yaml create mode 100644 cluster/metallb-operator/internal/kustomization.yaml diff --git a/cluster/ingress-nginx-appset.yaml b/cluster/ingress-nginx/ingress-nginx-appset.yaml similarity index 100% rename from cluster/ingress-nginx-appset.yaml rename to cluster/ingress-nginx/ingress-nginx-appset.yaml diff --git a/cluster/metallb-operator-appset.yaml b/cluster/metallb-operator-appset.yaml new file mode 100644 index 0000000..56ea8aa --- /dev/null +++ b/cluster/metallb-operator-appset.yaml @@ -0,0 +1,46 @@ +--- + +apiVersion: argoproj.io/v1alpha1 +kind: ApplicationSet +metadata: + name: metallb-operator + namespace: openshift-gitops + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + goTemplate: true + goTemplateOptions: ["missingkey=error"] + generators: + # - clusters: {} # Variable is .name + - list: # Variable is .cluster + elements: + - cluster: internal + template: + metadata: + name: '{{.cluster}}-metallb-operator' + annotations: + argocd.argoproj.io/sync-wave: "2" + spec: + destination: + name: '{{.cluster}}' + namespace: metallb-system + project: default + source: + path: cluster/metallb-operator/overlays/{{.cluster}} + repoURL: https://github.com/rblundon/homelab.git + targetRevision: HEAD + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - RespectIgnoreDifferences=true + - CreateNamespace=true + managedNamespaceMetadata: + labels: + argocd.argoproj.io/managed-by: argocd + ignoreDifferences: + - group: apps + kind: Deployment + jsonPointers: + - /spec/replicas diff --git a/cluster/metallb-operator/base/bgp_advertisement.yaml b/cluster/metallb-operator/base/bgp_advertisement.yaml new file mode 100644 index 0000000..ef44f99 --- /dev/null +++ b/cluster/metallb-operator/base/bgp_advertisement.yaml @@ -0,0 +1,11 @@ +--- +apiVersion: metallb.io/v1beta1 +kind: BGPAdvertisement +metadata: + name: bgp-advert + namespace: metallb-system +spec: + aggregationLength: 32 + aggregationLengthV6: 128 + ipAddressPools: + - bgp-ip-addresspool diff --git a/cluster/metallb-operator/base/kustomization.yaml b/cluster/metallb-operator/base/kustomization.yaml new file mode 100644 index 0000000..9c6569e --- /dev/null +++ b/cluster/metallb-operator/base/kustomization.yaml @@ -0,0 +1,15 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +commonAnnotations: + argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true + +resources: +# Operator deployment +- namespace.yaml +- subscription.yaml +- operatorgroup.yaml +# Deploy cluster resources +- metallb.yaml +- bgp_advertisement.yaml diff --git a/cluster/metallb-operator/base/metallb.yaml b/cluster/metallb-operator/base/metallb.yaml new file mode 100644 index 0000000..b71dedb --- /dev/null +++ b/cluster/metallb-operator/base/metallb.yaml @@ -0,0 +1,7 @@ +--- +apiVersion: metallb.io/v1beta1 +kind: MetalLB +metadata: + name: metallb + namespace: metallb-system +spec: {} \ No newline at end of file diff --git a/cluster/metallb-operator/base/namespace.yaml b/cluster/metallb-operator/base/namespace.yaml new file mode 100644 index 0000000..1b4d263 --- /dev/null +++ b/cluster/metallb-operator/base/namespace.yaml @@ -0,0 +1,13 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + labels: + kubernetes.io/metadata.name: metallb-system + name: metallb-system + argocd.argoproj.io/managed-by: openshift-gitops-operator + openshift.io/cluster-monitoring: 'true' + name: metallb-system +spec: + finalizers: + - kubernetes \ No newline at end of file diff --git a/cluster/metallb-operator/base/operatorgroup.yaml b/cluster/metallb-operator/base/operatorgroup.yaml new file mode 100644 index 0000000..06a7f02 --- /dev/null +++ b/cluster/metallb-operator/base/operatorgroup.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: operators.coreos.com/v1 +kind: OperatorGroup +metadata: + name: metallb-operator + namespace: metallb-system +#spec: +# targetNamespaces: +# - metallb-system \ No newline at end of file diff --git a/cluster/metallb-operator/base/subscription.yaml b/cluster/metallb-operator/base/subscription.yaml new file mode 100644 index 0000000..bd5a7ab --- /dev/null +++ b/cluster/metallb-operator/base/subscription.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: metallb-operator + namespace: metallb-system +spec: + channel: stable + installPlanApproval: Automatic #Manual + name: metallb-operator + source: redhat-operators + sourceNamespace: openshift-marketplace diff --git a/cluster/metallb-operator/external/bgp_peer.yaml b/cluster/metallb-operator/external/bgp_peer.yaml new file mode 100644 index 0000000..ba594a3 --- /dev/null +++ b/cluster/metallb-operator/external/bgp_peer.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: metallb.io/v1beta2 +kind: BGPPeer +metadata: + name: bgp-peer-worlddrive + namespace: metallb-system +spec: + disableMP: false + myASN: 65003 + peerASN: 65002 + peerAddress: 10.1.71.1 + peerPort: 179 \ No newline at end of file diff --git a/cluster/metallb-operator/external/ip_addresspool.yaml b/cluster/metallb-operator/external/ip_addresspool.yaml new file mode 100644 index 0000000..bfd73d9 --- /dev/null +++ b/cluster/metallb-operator/external/ip_addresspool.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: metallb.io/v1beta1 +kind: IPAddressPool +metadata: + name: bgp-ip-addresspool + namespace: metallb-system +spec: + addresses: + - 10.1.182.0/24 + autoAssign: true + avoidBuggyIPs: false + \ No newline at end of file diff --git a/cluster/metallb-operator/internal/bgp_peer.yaml b/cluster/metallb-operator/internal/bgp_peer.yaml new file mode 100644 index 0000000..e949617 --- /dev/null +++ b/cluster/metallb-operator/internal/bgp_peer.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: metallb.io/v1beta2 +kind: BGPPeer +metadata: + name: bgp-peer-worlddrive + namespace: metallb-system +spec: + disableMP: false + myASN: 65001 + peerASN: 65002 + peerAddress: 10.1.71.1 + peerPort: 179 \ No newline at end of file diff --git a/cluster/metallb-operator/internal/ip_addresspool.yaml b/cluster/metallb-operator/internal/ip_addresspool.yaml new file mode 100644 index 0000000..dec26d4 --- /dev/null +++ b/cluster/metallb-operator/internal/ip_addresspool.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: metallb.io/v1beta1 +kind: IPAddressPool +metadata: + name: bgp-ip-addresspool + namespace: metallb-system +spec: + addresses: + - 10.1.82.0/24 + autoAssign: true + avoidBuggyIPs: false + \ No newline at end of file diff --git a/cluster/metallb-operator/internal/kustomization.yaml b/cluster/metallb-operator/internal/kustomization.yaml new file mode 100644 index 0000000..9ba5c3f --- /dev/null +++ b/cluster/metallb-operator/internal/kustomization.yaml @@ -0,0 +1,10 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +commonAnnotations: + argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true + +resources: +- ../../base +- bgp_peer.yaml +- ip_addresspool.yaml \ No newline at end of file From 31a4d7e3d3c9feb1156d0201f39cc73205054431 Mon Sep 17 00:00:00 2001 From: rblundon Date: Mon, 4 Aug 2025 14:06:32 -0500 Subject: [PATCH 02/20] fix directory structure --- cluster/metallb-operator/{ => overlays}/external/bgp_peer.yaml | 0 .../metallb-operator/{ => overlays}/external/ip_addresspool.yaml | 0 cluster/metallb-operator/{ => overlays}/internal/bgp_peer.yaml | 0 .../metallb-operator/{ => overlays}/internal/ip_addresspool.yaml | 0 .../metallb-operator/{ => overlays}/internal/kustomization.yaml | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename cluster/metallb-operator/{ => overlays}/external/bgp_peer.yaml (100%) rename cluster/metallb-operator/{ => overlays}/external/ip_addresspool.yaml (100%) rename cluster/metallb-operator/{ => overlays}/internal/bgp_peer.yaml (100%) rename cluster/metallb-operator/{ => overlays}/internal/ip_addresspool.yaml (100%) rename cluster/metallb-operator/{ => overlays}/internal/kustomization.yaml (100%) diff --git a/cluster/metallb-operator/external/bgp_peer.yaml b/cluster/metallb-operator/overlays/external/bgp_peer.yaml similarity index 100% rename from cluster/metallb-operator/external/bgp_peer.yaml rename to cluster/metallb-operator/overlays/external/bgp_peer.yaml diff --git a/cluster/metallb-operator/external/ip_addresspool.yaml b/cluster/metallb-operator/overlays/external/ip_addresspool.yaml similarity index 100% rename from cluster/metallb-operator/external/ip_addresspool.yaml rename to cluster/metallb-operator/overlays/external/ip_addresspool.yaml diff --git a/cluster/metallb-operator/internal/bgp_peer.yaml b/cluster/metallb-operator/overlays/internal/bgp_peer.yaml similarity index 100% rename from cluster/metallb-operator/internal/bgp_peer.yaml rename to cluster/metallb-operator/overlays/internal/bgp_peer.yaml diff --git a/cluster/metallb-operator/internal/ip_addresspool.yaml b/cluster/metallb-operator/overlays/internal/ip_addresspool.yaml similarity index 100% rename from cluster/metallb-operator/internal/ip_addresspool.yaml rename to cluster/metallb-operator/overlays/internal/ip_addresspool.yaml diff --git a/cluster/metallb-operator/internal/kustomization.yaml b/cluster/metallb-operator/overlays/internal/kustomization.yaml similarity index 100% rename from cluster/metallb-operator/internal/kustomization.yaml rename to cluster/metallb-operator/overlays/internal/kustomization.yaml From a493cb75f9396b4424d049e6b8c9413afb8ae022 Mon Sep 17 00:00:00 2001 From: rblundon Date: Thu, 7 Aug 2025 10:38:10 -0500 Subject: [PATCH 03/20] deploy nginx operator --- cluster/{ingress-nginx => }/ingress-nginx-appset.yaml | 0 cluster/ingress-nginx/base/kustomization.yaml | 2 +- cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename cluster/{ingress-nginx => }/ingress-nginx-appset.yaml (100%) diff --git a/cluster/ingress-nginx/ingress-nginx-appset.yaml b/cluster/ingress-nginx-appset.yaml similarity index 100% rename from cluster/ingress-nginx/ingress-nginx-appset.yaml rename to cluster/ingress-nginx-appset.yaml diff --git a/cluster/ingress-nginx/base/kustomization.yaml b/cluster/ingress-nginx/base/kustomization.yaml index 6efe024..6d86c7f 100644 --- a/cluster/ingress-nginx/base/kustomization.yaml +++ b/cluster/ingress-nginx/base/kustomization.yaml @@ -6,9 +6,9 @@ commonAnnotations: argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true resources: +- namespace.yaml # Operator deployment - subscription.yaml # Deploy cluster resources - scc.yaml -- namespace.yaml - pvcs.yaml diff --git a/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml b/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml index 09a978a..95329f5 100644 --- a/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml +++ b/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml @@ -82,7 +82,7 @@ spec: leaderElectionLockName: ingress-leader service: externalTrafficPolicy: Local -# loadBalancerIP: 10.1.82.2 + loadBalancerIP: 10.1.82.2 prometheus: create: true serviceMonitor: From 0f27698fef985d291373874be476be8ffa59c13a Mon Sep 17 00:00:00 2001 From: rblundon Date: Thu, 7 Aug 2025 11:53:46 -0500 Subject: [PATCH 04/20] update ingress controller --- .../internal/ingresscontroller-orig.yaml | 100 ++++++++ .../overlays/internal/ingresscontroller.yaml | 229 ++++++++++++------ 2 files changed, 254 insertions(+), 75 deletions(-) create mode 100644 cluster/ingress-nginx/overlays/internal/ingresscontroller-orig.yaml diff --git a/cluster/ingress-nginx/overlays/internal/ingresscontroller-orig.yaml b/cluster/ingress-nginx/overlays/internal/ingresscontroller-orig.yaml new file mode 100644 index 0000000..b3ae174 --- /dev/null +++ b/cluster/ingress-nginx/overlays/internal/ingresscontroller-orig.yaml @@ -0,0 +1,100 @@ +--- +kind: NginxIngress +apiVersion: charts.nginx.org/v1alpha1 +metadata: + name: nginx + namespace: nginx-ingress +spec: + routeSelector: + matchLabels: + type: nginx + controller: + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchLabels: + app.kubernetes.io/instance: nginx + app.kubernetes.io/name: nginx + topologyKey: kubernetes.io/hostname + config: + entries: + http-snippets: proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=static-cache:10m + max_size=10g inactive=60m use_temp_path=off; + log-format-escaping: json + log-format: |- + { + "msec": "$msec", + "connection": "$connection", + "connection_requests": "$connection_requests", + "pid": "$pid", + "request_id": "$request_id", + "request_length": "$request_length", + "remote_addr": "$remote_addr", + "remote_user": "$remote_user", + "remote_port": "$remote_port", + "time_local": "$time_local", + "time_iso8601": "$time_iso8601", + "request": "$request", + "request_uri": "$request_uri", + "args": "$args", + "status": "$status", + "body_bytes_sent": "$body_bytes_sent", + "bytes_sent": "$bytes_sent", + "http_referer": "$http_referer", + "http_user_agent": "$http_user_agent", + "http_x_forwarded_for": "$http_x_forwarded_for", + "http_host": "$http_host", + "server_name": "$server_name", + "request_time": "$request_time", + "upstream": "$upstream_addr", + "upstream_connect_time": "$upstream_connect_time", + "upstream_header_time": "$upstream_header_time", + "upstream_response_time": "$upstream_response_time", + "upstream_response_length": "$upstream_response_length", + "upstream_cache_status": "$upstream_cache_status", + "ssl_protocol": "$ssl_protocol", + "ssl_cipher": "$ssl_cipher", + "scheme": "$scheme", + "request_method": "$request_method", + "server_protocol": "$server_protocol", + "pipe": "$pipe", + "gzip_ratio": "$gzip_ratio", + "http_cf_ray": "$http_cf_ray" + } + enableCustomResources: true + enableTLSPassthrough: true + enableSnippets: true + image: + pullPolicy: IfNotPresent + repository: nginx/nginx-ingress + tag: 5.1.0-ubi + ingressClass: + create: true + name: nginx + setAsDefaultIngress: false + initContainerResources: + requests: + cpu: 100m + memory: 128Mi + replicaCount: 2 + reportIngressStatus: + annotations: {} + enable: true + enableLeaderElection: true + ingressLink: '' + leaderElectionLockName: nginx-ingress-leader + service: + externalTrafficPolicy: Local + loadBalancerIP: 10.1.82.0 + prometheus: + create: true + serviceMonitor: + create: true + volumes: + - name: nginx-cache + persistentVolumeClaim: + claimName: nginx-cache + volumeMounts: + - name: nginx-cache + mountPath: /var/cache/nginx \ No newline at end of file diff --git a/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml b/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml index 95329f5..be165af 100644 --- a/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml +++ b/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml @@ -1,96 +1,175 @@ ---- -kind: NginxIngress apiVersion: charts.nginx.org/v1alpha1 +kind: NginxIngress metadata: - name: nginx - namespace: nginx-ingress + name: nginxingress-sample + namespace: openshift-operators spec: - routeSelector: - matchLabels: - type: nginx controller: - affinity: - podAntiAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchLabels: - app.kubernetes.io/instance: nginx - app.kubernetes.io/name: nginx - topologyKey: kubernetes.io/hostname + affinity: {} + annotations: {} + appprotect: + enable: false + appprotectdos: + debug: false + enable: false + maxDaemons: 0 + maxWorkers: 0 + memory: 0 + autoscaling: + annotations: {} + behavior: {} + enabled: false + maxReplicas: 3 + minReplicas: 1 + targetCPUUtilizationPercentage: 50 + targetMemoryUtilizationPercentage: 50 config: - entries: - http-snippets: proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=static-cache:10m - max_size=10g inactive=60m use_temp_path=off; - log-format-escaping: json - log-format: |- - { - "msec": "$msec", - "connection": "$connection", - "connection_requests": "$connection_requests", - "pid": "$pid", - "request_id": "$request_id", - "request_length": "$request_length", - "remote_addr": "$remote_addr", - "remote_user": "$remote_user", - "remote_port": "$remote_port", - "time_local": "$time_local", - "time_iso8601": "$time_iso8601", - "request": "$request", - "request_uri": "$request_uri", - "args": "$args", - "status": "$status", - "body_bytes_sent": "$body_bytes_sent", - "bytes_sent": "$bytes_sent", - "http_referer": "$http_referer", - "http_user_agent": "$http_user_agent", - "http_x_forwarded_for": "$http_x_forwarded_for", - "http_host": "$http_host", - "server_name": "$server_name", - "request_time": "$request_time", - "upstream": "$upstream_addr", - "upstream_connect_time": "$upstream_connect_time", - "upstream_header_time": "$upstream_header_time", - "upstream_response_time": "$upstream_response_time", - "upstream_response_length": "$upstream_response_length", - "upstream_cache_status": "$upstream_cache_status", - "ssl_protocol": "$ssl_protocol", - "ssl_cipher": "$ssl_cipher", - "scheme": "$scheme", - "request_method": "$request_method", - "server_protocol": "$server_protocol", - "pipe": "$pipe", - "gzip_ratio": "$gzip_ratio", - "http_cf_ray": "$http_cf_ray" - } + annotations: {} + entries: {} + containerPort: + http: 80 + https: 443 + customConfigMap: '' + customPorts: [] + defaultHTTPListenerPort: 80 + defaultHTTPSListenerPort: 443 + defaultTLS: + cert: '' + key: '' + secret: '' + disableIPV6: false + dnsPolicy: ClusterFirst + enableCertManager: false enableCustomResources: true - enableTLSPassthrough: true - enableSnippets: true + enableExternalDNS: false + enableLatencyMetrics: false + enableOIDC: false + enableSSLDynamicReload: true + enableSnippets: false + enableTLSPassthrough: false + env: [] + extraContainers: [] + globalConfiguration: + create: false + spec: {} + healthStatus: false + healthStatusURI: /nginx-health + hostNetwork: false + hostPort: + enable: false + http: 80 + https: 443 image: pullPolicy: IfNotPresent repository: nginx/nginx-ingress - tag: 3.7.0-ubi + tag: 5.1.0-ubi ingressClass: create: true name: nginx setAsDefaultIngress: false - replicaCount: 2 + initContainerResources: + requests: + cpu: 100m + memory: 128Mi + initContainers: [] + lifecycle: {} + logFormat: glog + logLevel: info + mgmt: + licenseTokenSecretName: license-token + minReadySeconds: 0 + name: controller + nginxDebug: false + nginxReloadTimeout: 60000 + nginxStatus: + allowCidrs: 127.0.0.1 + enable: true + port: 8080 + nginxplus: false + pod: + annotations: {} + extraLabels: {} + podDisruptionBudget: + annotations: {} + enabled: false + readOnlyRootFilesystem: false + readyStatus: + enable: true + initialDelaySeconds: 0 + port: 8081 + replicaCount: 1 reportIngressStatus: annotations: {} enable: true enableLeaderElection: true ingressLink: '' - leaderElectionLockName: ingress-leader + leaderElectionLockName: nginx-ingress-leader + resources: + requests: + cpu: 100m + memory: 128Mi + selectorLabels: {} service: + annotations: {} + clusterIP: '' + create: true + customPorts: [] + externalIPs: [] externalTrafficPolicy: Local - loadBalancerIP: 10.1.82.2 - prometheus: - create: true + extraLabels: {} + httpPort: + enable: true + port: 80 + targetPort: 80 + httpsPort: + enable: true + port: 443 + targetPort: 443 + loadBalancerIP: '' + loadBalancerSourceRanges: [] + type: LoadBalancer + serviceAccount: + annotations: {} + imagePullSecretName: '' + imagePullSecretsNames: [] + shareProcessNamespace: false + strategy: {} + terminationGracePeriodSeconds: 30 + tlsPassthroughPort: 443 + tolerations: [] + volumeMounts: [] + volumes: [] + watchNamespace: '' + watchNamespaceLabel: '' + watchSecretNamespace: '' + wildcardTLS: + cert: '' + key: '' + secret: '' + kind: deployment + nginxServiceMesh: + enable: false + enableEgress: false + prometheus: + create: true + port: 9113 + scheme: http + secret: '' + service: + create: false + labels: + service: nginx-ingress-prometheus-service serviceMonitor: - create: true - volumes: - - name: nginx-cache - persistentVolumeClaim: - claimName: nginx-cache - volumeMounts: - - name: nginx-cache - mountPath: /var/cache/nginx \ No newline at end of file + create: false + endpoints: + - port: prometheus + labels: {} + selectorMatchLabels: + service: nginx-ingress-prometheus-service + rbac: + create: true + serviceInsight: + create: false + port: 9114 + scheme: http + secret: '' From 7aa29a3f671531dc76127005128e950a0c7919a2 Mon Sep 17 00:00:00 2001 From: rblundon Date: Thu, 7 Aug 2025 11:55:53 -0500 Subject: [PATCH 05/20] change name and namespace --- .../ingress-nginx/overlays/internal/ingresscontroller.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml b/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml index be165af..010f712 100644 --- a/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml +++ b/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml @@ -1,8 +1,8 @@ apiVersion: charts.nginx.org/v1alpha1 kind: NginxIngress metadata: - name: nginxingress-sample - namespace: openshift-operators + name: nginxingress + namespace: nginx-ingress spec: controller: affinity: {} From bca855046f85eeff35f5777a33e62bcebdf796ac Mon Sep 17 00:00:00 2001 From: rblundon Date: Thu, 7 Aug 2025 12:01:51 -0500 Subject: [PATCH 06/20] ingress --- .../ingress-nginx/overlays/internal/ingresscontroller.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml b/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml index 010f712..be165af 100644 --- a/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml +++ b/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml @@ -1,8 +1,8 @@ apiVersion: charts.nginx.org/v1alpha1 kind: NginxIngress metadata: - name: nginxingress - namespace: nginx-ingress + name: nginxingress-sample + namespace: openshift-operators spec: controller: affinity: {} From 593e71509ba32720ca19891047daccbd51014b39 Mon Sep 17 00:00:00 2001 From: rblundon Date: Thu, 7 Aug 2025 12:02:55 -0500 Subject: [PATCH 07/20] remove nginx --- cluster/{ => ingress-nginx}/ingress-nginx-appset.yaml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename cluster/{ => ingress-nginx}/ingress-nginx-appset.yaml (100%) diff --git a/cluster/ingress-nginx-appset.yaml b/cluster/ingress-nginx/ingress-nginx-appset.yaml similarity index 100% rename from cluster/ingress-nginx-appset.yaml rename to cluster/ingress-nginx/ingress-nginx-appset.yaml From cfc70229ee69d332245aa7210a63327f75400018 Mon Sep 17 00:00:00 2001 From: rblundon Date: Thu, 7 Aug 2025 12:04:17 -0500 Subject: [PATCH 08/20] redeploy --- cluster/{ingress-nginx => }/ingress-nginx-appset.yaml | 0 .../ingress-nginx/overlays/internal/ingresscontroller.yaml | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) rename cluster/{ingress-nginx => }/ingress-nginx-appset.yaml (100%) diff --git a/cluster/ingress-nginx/ingress-nginx-appset.yaml b/cluster/ingress-nginx-appset.yaml similarity index 100% rename from cluster/ingress-nginx/ingress-nginx-appset.yaml rename to cluster/ingress-nginx-appset.yaml diff --git a/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml b/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml index be165af..010f712 100644 --- a/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml +++ b/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml @@ -1,8 +1,8 @@ apiVersion: charts.nginx.org/v1alpha1 kind: NginxIngress metadata: - name: nginxingress-sample - namespace: openshift-operators + name: nginxingress + namespace: nginx-ingress spec: controller: affinity: {} From 2a323f5675dd8e6ea2ff662631b02468cbe6ae54 Mon Sep 17 00:00:00 2001 From: rblundon Date: Thu, 7 Aug 2025 12:06:49 -0500 Subject: [PATCH 09/20] add routeselector --- cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml b/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml index 010f712..9d5e970 100644 --- a/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml +++ b/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml @@ -4,6 +4,9 @@ metadata: name: nginxingress namespace: nginx-ingress spec: + routeSelector: + matchLabels: + type: nginx controller: affinity: {} annotations: {} From 8dc22431400a5627f253cf2889fea2cd5ea531b5 Mon Sep 17 00:00:00 2001 From: rblundon Date: Thu, 7 Aug 2025 12:14:01 -0500 Subject: [PATCH 10/20] add loadbalancer --- cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml b/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml index 9d5e970..782df95 100644 --- a/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml +++ b/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml @@ -128,7 +128,7 @@ spec: enable: true port: 443 targetPort: 443 - loadBalancerIP: '' + loadBalancerIP: 10.1.82.0 loadBalancerSourceRanges: [] type: LoadBalancer serviceAccount: From d2d3ee7c784601c3fa508a593b6056809fb6fbb1 Mon Sep 17 00:00:00 2001 From: rblundon Date: Thu, 7 Aug 2025 13:37:40 -0500 Subject: [PATCH 11/20] deploy homepage --- applications/homepage.yaml | 33 ++++++++ applications/homepage/clusterrole.yaml | 55 ++++++++++++ applications/homepage/configmap-eso.yaml | 30 +++++++ applications/homepage/configmap.yaml | 66 +++++++++++++++ applications/homepage/deployment.yaml | 84 +++++++++++++++++++ .../homepage/ingress-certificate.yaml | 20 +++++ applications/homepage/ingress.yaml | 46 ++++++++++ applications/homepage/kustomization.yaml | 15 ++++ applications/homepage/namespace.yaml | 12 +++ applications/homepage/route.yaml | 46 ++++++++++ applications/homepage/secret.yaml | 11 +++ applications/homepage/service.yaml | 18 ++++ applications/homepage/serviceaccount.yaml | 10 +++ applications/homepage/temp.yaml | 20 +++++ cluster/{temp => }/applications-AoA.yaml | 0 15 files changed, 466 insertions(+) create mode 100644 applications/homepage.yaml create mode 100644 applications/homepage/clusterrole.yaml create mode 100644 applications/homepage/configmap-eso.yaml create mode 100644 applications/homepage/configmap.yaml create mode 100644 applications/homepage/deployment.yaml create mode 100644 applications/homepage/ingress-certificate.yaml create mode 100644 applications/homepage/ingress.yaml create mode 100644 applications/homepage/kustomization.yaml create mode 100644 applications/homepage/namespace.yaml create mode 100644 applications/homepage/route.yaml create mode 100644 applications/homepage/secret.yaml create mode 100644 applications/homepage/service.yaml create mode 100644 applications/homepage/serviceaccount.yaml create mode 100644 applications/homepage/temp.yaml rename cluster/{temp => }/applications-AoA.yaml (100%) diff --git a/applications/homepage.yaml b/applications/homepage.yaml new file mode 100644 index 0000000..761cc6e --- /dev/null +++ b/applications/homepage.yaml @@ -0,0 +1,33 @@ +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: homepage-app + finalizers: + - resources-finalizer.argocd.argoproj.io + annotations: + argocd.argoproj.io/sync-wave: "5" +spec: + destination: + name: internal + namespace: homepage-app + project: default + source: + path: applications/homepage + repoURL: git@github.com:rblundon/MK-Labs.git + targetRevision: HEAD + syncPolicy: + automated: + prune: false + selfHeal: true + syncOptions: + - RespectIgnoreDifferences=true + - CreateNamespace=true + managedNamespaceMetadata: + labels: + argocd.argoproj.io/managed-by: openshift-gitops + ignoreDifferences: + - group: apps + kind: Deployment + jsonPointers: + - /spec/replicas \ No newline at end of file diff --git a/applications/homepage/clusterrole.yaml b/applications/homepage/clusterrole.yaml new file mode 100644 index 0000000..2e9f174 --- /dev/null +++ b/applications/homepage/clusterrole.yaml @@ -0,0 +1,55 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: homepage + labels: + app.kubernetes.io/name: homepage +rules: + - apiGroups: + - "" + resources: + - namespaces + - pods + - nodes + verbs: + - get + - list + - apiGroups: + - extensions + - networking.k8s.io + resources: + - ingresses + verbs: + - get + - list + - apiGroups: + - traefik.containo.us + resources: + - ingressroutes + verbs: + - get + - list + - apiGroups: + - metrics.k8s.io + resources: + - nodes + - pods + verbs: + - get + - list +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: homepage + labels: + app.kubernetes.io/name: homepage +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: homepage +subjects: + - kind: ServiceAccount + name: homepage + namespace: homepage-app diff --git a/applications/homepage/configmap-eso.yaml b/applications/homepage/configmap-eso.yaml new file mode 100644 index 0000000..833aae9 --- /dev/null +++ b/applications/homepage/configmap-eso.yaml @@ -0,0 +1,30 @@ +--- +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: homepage-bookmarks-secret + namespace: homepage-app +spec: + secretStoreRef: + kind: ClusterSecretStore + name: doppler-cluster + refreshInterval: "1h" + data: + - secretKey: bookmarks.yaml + remoteRef: + key: HOMEPAGE_BOOKMARKS +--- +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: homepage-services-secret + namespace: homepage-app +spec: + secretStoreRef: + kind: ClusterSecretStore + name: doppler-cluster + refreshInterval: "1h" + data: + - secretKey: services.yaml + remoteRef: + key: HOMEPAGE_SERVICES diff --git a/applications/homepage/configmap.yaml b/applications/homepage/configmap.yaml new file mode 100644 index 0000000..858bd08 --- /dev/null +++ b/applications/homepage/configmap.yaml @@ -0,0 +1,66 @@ +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: homepage + namespace: homepage-app + labels: + app.kubernetes.io/name: homepage +data: + kubernetes.yaml: | + mode: cluster + settings.yaml: | + title: MK-Labs Homepage + + background: + image: https://images.unsplash.com/photo-1502790671504-542ad42d5189?auto=format&fit=crop&w=2560&q=80 + saturate: 100 # 0, 50, 100... see https://tailwindcss.com/docs/backdrop-saturate + brightness: 50 # 0, 50, 75... see https://tailwindcss.com/docs/backdrop-brightness + opacity: 100 # 0-100 + + theme: dark + color: slate + + useEqualHeights: true + + layout: + Proxmox: + header: true + style: row + columns: 4 + Network: + header: true + style: row + columns: 4 + Other: + header: true + style: row + columns: 4 + + providers: + openweathermap: openweathermapapikey + weatherapi: weatherapiapikey + custom.css: "" + custom.js: "" + widgets.yaml: | + - kubernetes: + cluster: + show: true + cpu: true + memory: true + showLabel: true + label: "cluster" + nodes: + show: true + cpu: true + memory: true + showLabel: true + - resources: + backend: resources + expanded: true + cpu: true + memory: true + - search: + provider: duckduckgo + target: _blank + docker.yaml: "" \ No newline at end of file diff --git a/applications/homepage/deployment.yaml b/applications/homepage/deployment.yaml new file mode 100644 index 0000000..f916180 --- /dev/null +++ b/applications/homepage/deployment.yaml @@ -0,0 +1,84 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: homepage + namespace: homepage-app + labels: + app.kubernetes.io/name: homepage +spec: + revisionHistoryLimit: 3 + replicas: 1 + strategy: + type: RollingUpdate + selector: + matchLabels: + app.kubernetes.io/name: homepage + template: + metadata: + labels: + app.kubernetes.io/name: homepage + spec: + serviceAccountName: homepage + automountServiceAccountToken: true + dnsPolicy: ClusterFirst + enableServiceLinks: true + containers: + - name: homepage + image: "ghcr.io/gethomepage/homepage:latest" + imagePullPolicy: Always + env: + - name: HOMEPAGE_ALLOWED_HOSTS + value: "homepage.apps.ocp.int.mk-labs.cloud" + ports: + - name: http + containerPort: 3000 + protocol: TCP + volumeMounts: + - mountPath: /app/config/custom.js + name: homepage-config + subPath: custom.js + - mountPath: /app/config/custom.css + name: homepage-config + subPath: custom.css + - mountPath: /app/config/bookmarks.yaml + name: bookmarks + subPath: bookmarks.yaml + - mountPath: /app/config/docker.yaml + name: homepage-config + subPath: docker.yaml + - mountPath: /app/config/kubernetes.yaml + name: homepage-config + subPath: kubernetes.yaml + - mountPath: /app/config/services.yaml + name: services + subPath: services.yaml + - mountPath: /app/config/settings.yaml + name: homepage-config + subPath: settings.yaml + - mountPath: /app/config/widgets.yaml + name: homepage-config + subPath: widgets.yaml + - mountPath: /app/config/logs + name: logs +# - mountPath: /usr/local/etc/ssl/certs/tls.crt +# name: ssl-certs +# subPath: tls.crt +# - mountPath: /usr/local/etc/ssl/certs/tls.key +# name: ssl-certs +# subPath: tls.key + volumes: + - name: homepage-config + configMap: + name: homepage + - name: bookmarks + secret: + secretName: homepage-bookmarks-secret + - name: services + secret: + secretName: homepage-services-secret +# - name: ssl-certs +# secret: +# secretName: letsencrypt-homepage + - name: logs + emptyDir: {} \ No newline at end of file diff --git a/applications/homepage/ingress-certificate.yaml b/applications/homepage/ingress-certificate.yaml new file mode 100644 index 0000000..e95b3a4 --- /dev/null +++ b/applications/homepage/ingress-certificate.yaml @@ -0,0 +1,20 @@ +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + annotations: + name: letsencrypt-homepage + namespace: homepage-app +spec: + commonName: 'homepage.int.mk-labs.cloud' + dnsNames: + - homepage.int.mk-labs.cloud + duration: 2160h0m0s + issuerRef: + kind: ClusterIssuer + name: letsencrypt-prod + renewBefore: 360h0m0s + secretName: letsencrypt-homepage + usages: + - server auth + - client auth \ No newline at end of file diff --git a/applications/homepage/ingress.yaml b/applications/homepage/ingress.yaml new file mode 100644 index 0000000..929c868 --- /dev/null +++ b/applications/homepage/ingress.yaml @@ -0,0 +1,46 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: homepage-ingress + namespace: homepage-app + annotations: {} + +# route.openshift.io/termination: "reencrypt" +# route.openshift.io/destination-ca-certificate-secret: letsencrypt-homepage +spec: + ingressClassName: + openshift-default + rules: + - host: homepage.int.mk-labs.cloud + http: + paths: + - path: / + pathType: Exact + backend: + service: + name: homepage + port: + number: 443 +# tls: +# - hosts: +# - homepage.int.mk-labs.cloud +# secretName: letsencrypt-homepage +#--- +#apiVersion: networking.k8s.io/v1 +#kind: Ingress +#metadata: +# name: hello-openshift +#spec: +# rules: +# - host: hello-openshift.yourcluster.example.com +# http: +# paths: +# - backend: +# # Forward to a Service called 'hello-openshift' +# service: +# name: hello-openshift +# port: +# number: 8080 +# path: / +# pathType: Exact \ No newline at end of file diff --git a/applications/homepage/kustomization.yaml b/applications/homepage/kustomization.yaml new file mode 100644 index 0000000..4b40059 --- /dev/null +++ b/applications/homepage/kustomization.yaml @@ -0,0 +1,15 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: +- namespace.yaml +- secret.yaml +- serviceaccount.yaml +- configmap-eso.yaml +- configmap.yaml +- clusterrole.yaml +- service.yaml +- ingress-certificate.yaml +- deployment.yaml +- route.yaml \ No newline at end of file diff --git a/applications/homepage/namespace.yaml b/applications/homepage/namespace.yaml new file mode 100644 index 0000000..84461f5 --- /dev/null +++ b/applications/homepage/namespace.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + labels: + kubernetes.io/metadata.name: homepage-app + name: homepage-app + argocd.argoproj.io/managed-by: openshift-gitops-operator + name: homepage-app +spec: + finalizers: + - kubernetes diff --git a/applications/homepage/route.yaml b/applications/homepage/route.yaml new file mode 100644 index 0000000..01be54a --- /dev/null +++ b/applications/homepage/route.yaml @@ -0,0 +1,46 @@ +#--- +#3apiVersion: route.openshift.io/v1 +#kind: Route +#metadata: +# labels: +# app.kubernetes.io/instance: homepage-app +# app.kubernetes.io/name: homepage-app +# name: homepage-app +# namespace: homepage-app +#spec: +# host: homepage.int.mk-labs.cloud + +# port: +# targetPort: http +# tls: +# insecureEdgeTerminationPolicy: Redirect +# termination: edge +# externalCertificate: +# name: letsencrypt-homepage +# to: +# kind: Service +# name: homepage +# weight: 100 +# wildcardPolicy: None +--- +apiVersion: route.openshift.io/v1 +kind: Route +metadata: + labels: + app.kubernetes.io/instance: homepage-app + app.kubernetes.io/name: homepage-app + name: homepage-app2 + namespace: homepage-app +spec: + host: homepage.apps.ocp.int.mk-labs.cloud + + port: + targetPort: http + tls: + insecureEdgeTerminationPolicy: Redirect + termination: edge + to: + kind: Service + name: homepage + weight: 100 + wildcardPolicy: None diff --git a/applications/homepage/secret.yaml b/applications/homepage/secret.yaml new file mode 100644 index 0000000..5bc4aee --- /dev/null +++ b/applications/homepage/secret.yaml @@ -0,0 +1,11 @@ +--- +apiVersion: v1 +kind: Secret +type: kubernetes.io/service-account-token +metadata: + name: homepage + namespace: homepage-app + labels: + app.kubernetes.io/name: homepage + annotations: + kubernetes.io/service-account.name: homepage diff --git a/applications/homepage/service.yaml b/applications/homepage/service.yaml new file mode 100644 index 0000000..1c309f9 --- /dev/null +++ b/applications/homepage/service.yaml @@ -0,0 +1,18 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: homepage + namespace: homepage-app + labels: + app.kubernetes.io/name: homepage + annotations: {} +spec: + type: ClusterIP + ports: + - port: 3000 + targetPort: http + protocol: TCP + name: http + selector: + app.kubernetes.io/name: homepage \ No newline at end of file diff --git a/applications/homepage/serviceaccount.yaml b/applications/homepage/serviceaccount.yaml new file mode 100644 index 0000000..a4c561e --- /dev/null +++ b/applications/homepage/serviceaccount.yaml @@ -0,0 +1,10 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: homepage + namespace: homepage-app + labels: + app.kubernetes.io/name: homepage +secrets: + - name: homepage diff --git a/applications/homepage/temp.yaml b/applications/homepage/temp.yaml new file mode 100644 index 0000000..c94b2be --- /dev/null +++ b/applications/homepage/temp.yaml @@ -0,0 +1,20 @@ +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + annotations: + name: letsencrypt-homepage2 + namespace: homepage-app +spec: + commonName: 'homepage2.int.mk-labs.cloud' + dnsNames: + - homepage2.int.mk-labs.cloud + duration: 2160h0m0s + issuerRef: + kind: ClusterIssuer + name: letsencrypt-prod + renewBefore: 360h0m0s + secretName: letsencrypt-homepage2 + usages: + - server auth + - client auth \ No newline at end of file diff --git a/cluster/temp/applications-AoA.yaml b/cluster/applications-AoA.yaml similarity index 100% rename from cluster/temp/applications-AoA.yaml rename to cluster/applications-AoA.yaml From 7e93e9b1b1a8445a871e83434066d0dcf0db50f0 Mon Sep 17 00:00:00 2001 From: rblundon Date: Thu, 7 Aug 2025 13:41:09 -0500 Subject: [PATCH 12/20] updates to homepage --- applications/homepage/deployment.yaml | 2 +- applications/homepage/ingress.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/applications/homepage/deployment.yaml b/applications/homepage/deployment.yaml index f916180..7fb8286 100644 --- a/applications/homepage/deployment.yaml +++ b/applications/homepage/deployment.yaml @@ -29,7 +29,7 @@ spec: imagePullPolicy: Always env: - name: HOMEPAGE_ALLOWED_HOSTS - value: "homepage.apps.ocp.int.mk-labs.cloud" + value: "homepage.apps.openshift.int.mk-labs.cloud" ports: - name: http containerPort: 3000 diff --git a/applications/homepage/ingress.yaml b/applications/homepage/ingress.yaml index 929c868..67a91a5 100644 --- a/applications/homepage/ingress.yaml +++ b/applications/homepage/ingress.yaml @@ -10,7 +10,7 @@ metadata: # route.openshift.io/destination-ca-certificate-secret: letsencrypt-homepage spec: ingressClassName: - openshift-default + nginx rules: - host: homepage.int.mk-labs.cloud http: From 0c9961291316b09d397d90756be6bfb3a3307200 Mon Sep 17 00:00:00 2001 From: rblundon Date: Thu, 7 Aug 2025 13:43:15 -0500 Subject: [PATCH 13/20] fix repo --- applications/homepage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/homepage.yaml b/applications/homepage.yaml index 761cc6e..c28defa 100644 --- a/applications/homepage.yaml +++ b/applications/homepage.yaml @@ -14,7 +14,7 @@ spec: project: default source: path: applications/homepage - repoURL: git@github.com:rblundon/MK-Labs.git + repoURL: https://github.com/rblundon/homelab.git targetRevision: HEAD syncPolicy: automated: From 2725aecb584f973d1a2e815e5822eb42b6d0e0ef Mon Sep 17 00:00:00 2001 From: rblundon Date: Thu, 7 Aug 2025 13:58:13 -0500 Subject: [PATCH 14/20] update route --- applications/homepage/route.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/homepage/route.yaml b/applications/homepage/route.yaml index 01be54a..95e7e37 100644 --- a/applications/homepage/route.yaml +++ b/applications/homepage/route.yaml @@ -32,7 +32,7 @@ metadata: name: homepage-app2 namespace: homepage-app spec: - host: homepage.apps.ocp.int.mk-labs.cloud + host: homepage.apps.openshift.int.mk-labs.cloud port: targetPort: http From 86c03c882d77e7f93c7e3e61872a73841ed808d0 Mon Sep 17 00:00:00 2001 From: rblundon Date: Thu, 7 Aug 2025 14:03:46 -0500 Subject: [PATCH 15/20] create ingress --- applications/homepage/kustomization.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/homepage/kustomization.yaml b/applications/homepage/kustomization.yaml index 4b40059..5fa40a4 100644 --- a/applications/homepage/kustomization.yaml +++ b/applications/homepage/kustomization.yaml @@ -11,5 +11,6 @@ resources: - clusterrole.yaml - service.yaml - ingress-certificate.yaml +- ingress.yaml - deployment.yaml - route.yaml \ No newline at end of file From 2124f868794904f5e2f8bf2adb19c9115f3e807b Mon Sep 17 00:00:00 2001 From: rblundon Date: Thu, 7 Aug 2025 14:12:53 -0500 Subject: [PATCH 16/20] ing --- applications/homepage/ingress.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/applications/homepage/ingress.yaml b/applications/homepage/ingress.yaml index 67a91a5..6560ac1 100644 --- a/applications/homepage/ingress.yaml +++ b/applications/homepage/ingress.yaml @@ -22,10 +22,10 @@ spec: name: homepage port: number: 443 -# tls: -# - hosts: -# - homepage.int.mk-labs.cloud -# secretName: letsencrypt-homepage + tls: + - hosts: + - homepage.int.mk-labs.cloud + secretName: letsencrypt-homepage #--- #apiVersion: networking.k8s.io/v1 #kind: Ingress From 040307749501fed6bc42d9f91072d8bd17583594 Mon Sep 17 00:00:00 2001 From: rblundon Date: Thu, 7 Aug 2025 14:13:54 -0500 Subject: [PATCH 17/20] undo --- applications/homepage/ingress.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/applications/homepage/ingress.yaml b/applications/homepage/ingress.yaml index 6560ac1..67a91a5 100644 --- a/applications/homepage/ingress.yaml +++ b/applications/homepage/ingress.yaml @@ -22,10 +22,10 @@ spec: name: homepage port: number: 443 - tls: - - hosts: - - homepage.int.mk-labs.cloud - secretName: letsencrypt-homepage +# tls: +# - hosts: +# - homepage.int.mk-labs.cloud +# secretName: letsencrypt-homepage #--- #apiVersion: networking.k8s.io/v1 #kind: Ingress From ffd5e085e1a6560245273e1f48afd1dc519ba108 Mon Sep 17 00:00:00 2001 From: rblundon Date: Thu, 7 Aug 2025 14:24:49 -0500 Subject: [PATCH 18/20] change ingress controller name --- .../ingress-nginx/overlays/internal/ingresscontroller.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml b/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml index 782df95..3776c6f 100644 --- a/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml +++ b/cluster/ingress-nginx/overlays/internal/ingresscontroller.yaml @@ -1,12 +1,9 @@ apiVersion: charts.nginx.org/v1alpha1 kind: NginxIngress metadata: - name: nginxingress + name: nginx namespace: nginx-ingress spec: - routeSelector: - matchLabels: - type: nginx controller: affinity: {} annotations: {} From 9cb44fb15cce0e31608c7e9d83dfc6e9b8eb0904 Mon Sep 17 00:00:00 2001 From: rblundon Date: Thu, 7 Aug 2025 14:35:50 -0500 Subject: [PATCH 19/20] ? --- applications/homepage/ingress.yaml | 13 ++++++++----- applications/homepage/kustomization.yaml | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/applications/homepage/ingress.yaml b/applications/homepage/ingress.yaml index 67a91a5..8644217 100644 --- a/applications/homepage/ingress.yaml +++ b/applications/homepage/ingress.yaml @@ -4,13 +4,16 @@ kind: Ingress metadata: name: homepage-ingress namespace: homepage-app - annotations: {} - -# route.openshift.io/termination: "reencrypt" -# route.openshift.io/destination-ca-certificate-secret: letsencrypt-homepage + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" spec: ingressClassName: nginx + tls: + - hosts: + - homepage.int.mk-labs.cloud + secretName: letsencrypt-homepage rules: - host: homepage.int.mk-labs.cloud http: @@ -19,7 +22,7 @@ spec: pathType: Exact backend: service: - name: homepage + name: homepage-nginx port: number: 443 # tls: diff --git a/applications/homepage/kustomization.yaml b/applications/homepage/kustomization.yaml index 5fa40a4..93ccdf5 100644 --- a/applications/homepage/kustomization.yaml +++ b/applications/homepage/kustomization.yaml @@ -10,7 +10,7 @@ resources: - configmap.yaml - clusterrole.yaml - service.yaml -- ingress-certificate.yaml +#- ingress-certificate.yaml - ingress.yaml - deployment.yaml - route.yaml \ No newline at end of file From a12ff980c5a203a8f3668b182cd1324c53788faa Mon Sep 17 00:00:00 2001 From: rblundon Date: Thu, 7 Aug 2025 14:39:08 -0500 Subject: [PATCH 20/20] more --- applications/homepage/ingress.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/applications/homepage/ingress.yaml b/applications/homepage/ingress.yaml index 8644217..d99f351 100644 --- a/applications/homepage/ingress.yaml +++ b/applications/homepage/ingress.yaml @@ -8,8 +8,7 @@ metadata: cert-manager.io/cluster-issuer: letsencrypt-prod nginx.ingress.kubernetes.io/force-ssl-redirect: "true" spec: - ingressClassName: - nginx + ingressClassName: nginx tls: - hosts: - homepage.int.mk-labs.cloud