You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From what I know, ngrok supposedly supports tcp connections tunneling, and http/2 as well.
Was trying to other day to use ngrok to expose a local argocd instance, as part of a workshop Im making, just to realize ngrok does not support grpc for the ingress controller.
Is there a workaround around it? is there anyone who would like to see this feature except me?
Also, is it even possible with the existing sdk used for the operator?
Use Case
Trying to expose argocd over ngrok ingress in k8s.
It needs both http/https and grpc.
Related issues
No response
The text was updated successfully, but these errors were encountered:
This should already be possible today. I run argo with the ngrok-operator in my home lab. Here is how I am running it:
---
# IPPolicy is optional if you want to restrict traffic to argocd by IPskind: IPPolicyapiVersion: ingress.k8s.ngrok.com/v1alpha1metadata:
name: argocd-ip-allowlistnamespace: argocdspec:
description: "Trusted IPs"rules:
- action: allowcidr: '1.2.3.4/32'# Replace this with your IP description: "Trusted IP"
---
# This uses the ipRestriction module to restrict traffic to argocdkind: NgrokModuleSetapiVersion: ingress.k8s.ngrok.com/v1alpha1metadata:
name: argocd-accessnamespace: argocdmodules:
ipRestriction:
policies: ["argocd-ip-allowlist"]
---
# This modifies the argocd-server service to tell the ngrok-operator that the upstream# is served over TLS and the app protocol is http/2apiVersion: v1kind: Servicemetadata:
name: argocd-servernamespace: argocdannotations:
k8s.ngrok.com/app-protocols: '{"https": "HTTPS"}'spec:
type: ClusterIPports:
- name: httpport: 80protocol: TCPtargetPort: 8080
- name: httpsport: 443protocol: TCPappProtocol: k8s.ngrok.com/http2 # OR "kubernetes.io/h2c"targetPort: 8080selector:
app.kubernetes.io/name: argocd-server
---
apiVersion: networking.k8s.io/v1kind: Ingressmetadata:
name: argocd-ingressnamespace: argocdannotations:
# (Optional) ExternalDNS annotations if using your own domain. If using a ngrok managed domain,# these can be omittedexternal-dns.alpha.kubernetes.io/hostname: argocd.mydomain.xyzexternal-dns.alpha.kubernetes.io/ttl: 1m# (Optional) Use the argocd-acess moduleset to restrict access by IPsk8s.ngrok.com/modules: argocd-accessspec:
ingressClassName: ngrokrules:
- host: argocd.mydomain.xyzhttp:
paths:
- path: /pathType: Prefixbackend:
service:
name: argocd-serverport:
name: https
And then logging in with argocd login argocd.mydomain.xyz --grpc-web.
Description
From what I know, ngrok supposedly supports tcp connections tunneling, and http/2 as well.
Was trying to other day to use ngrok to expose a local argocd instance, as part of a workshop Im making, just to realize ngrok does not support grpc for the ingress controller.
Is there a workaround around it? is there anyone who would like to see this feature except me?
Also, is it even possible with the existing sdk used for the operator?
Use Case
Trying to expose argocd over ngrok ingress in k8s.
It needs both http/https and grpc.
Related issues
No response
The text was updated successfully, but these errors were encountered: