iuna

iuna

iuna - experimental devnet protocol
git clone https://getiuna.org/git/iuna.git
Log | Files | Refs | README | LICENSE

deployment.yml (3702B)


      1 apiVersion: v1
      2 kind: Namespace
      3 metadata:
      4   name: iuna
      5 ---
      6 apiVersion: v1
      7 kind: PersistentVolumeClaim
      8 metadata:
      9   name: local-path-db-pvc
     10   namespace: iuna
     11 spec:
     12   accessModes:
     13     - ReadWriteOnce
     14   storageClassName: local-path
     15   resources:
     16     requests:
     17       storage: 1Gi
     18 ---
     19 apiVersion: apps/v1
     20 kind: Deployment
     21 metadata:
     22   name: www
     23   namespace: iuna
     24 spec:
     25   replicas: 1
     26   selector:
     27     matchLabels:
     28       app: iuna-www
     29   template:
     30     metadata:
     31       labels:
     32         app: iuna-www
     33     spec:
     34       containers:
     35         - name: iuna-www
     36           image: ${IUNA_WWW_IMAGE}
     37           imagePullPolicy: IfNotPresent
     38           ports:
     39             - name: http
     40               containerPort: 80
     41 ---
     42 apiVersion: v1
     43 kind: Service
     44 metadata:
     45   name: iuna-www
     46   namespace: iuna
     47 spec:
     48   selector:
     49     app: iuna-www
     50   ports:
     51     - name: http
     52       port: 80
     53       targetPort: 80
     54 ---
     55 apiVersion: networking.k8s.io/v1
     56 kind: Ingress
     57 metadata:
     58   name: iuna-tls-ingress
     59   namespace: iuna
     60   annotations:
     61     cert-manager.io/cluster-issuer: letsencrypt-prod
     62     traefik.ingress.kubernetes.io/router.middlewares: default-redirect-https@kubernetescrd
     63 spec:
     64   ingressClassName: traefik
     65   rules:
     66     - host: getiuna.org
     67       http:
     68         paths:
     69           - path: /
     70             pathType: Prefix
     71             backend:
     72               service:
     73                 name: iuna-www
     74                 port:
     75                   number: 80
     76   tls:
     77     - secretName: iuna-tls
     78       hosts:
     79         - getiuna.org
     80 ---
     81 apiVersion: traefik.containo.us/v1alpha1
     82 kind: Middleware
     83 metadata:
     84   name: iuna-redirect-to-getiuna
     85   namespace: iuna
     86 spec:
     87   redirectRegex:
     88     regex: "^https?://iuna\\.jhx\\.app(?:/(.*))?$"
     89     replacement: "https://getiuna.org/$1"
     90     permanent: true
     91 
     92 ---
     93 apiVersion: traefik.containo.us/v1alpha1
     94 kind: IngressRoute
     95 metadata:
     96   name: iuna-redirect
     97   namespace: iuna
     98 spec:
     99   entryPoints:
    100     - web
    101     - websecure
    102   routes:
    103     - match: Host(`iuna.jhx.app`)
    104       kind: Rule
    105       middlewares:
    106         - name: iuna-redirect-to-getiuna
    107       services:
    108         - name: iuna-www
    109           port: 80
    110   tls:
    111     secretName: iuna-redirect-tls
    112 ---
    113 apiVersion: networking.k8s.io/v1
    114 kind: Ingress
    115 metadata:
    116   name: iuna-admin-tls-ingress
    117   namespace: iuna
    118   annotations:
    119     cert-manager.io/cluster-issuer: letsencrypt-prod
    120     traefik.ingress.kubernetes.io/router.middlewares: default-redirect-https@kubernetescrd
    121 spec:
    122   ingressClassName: traefik
    123   rules:
    124     - host: admin.iuna.jhx.app
    125       http:
    126         paths:
    127           - path: /
    128             pathType: Prefix
    129             backend:
    130               service:
    131                 name: iuna
    132                 port:
    133                   number: 18661
    134   tls:
    135     - secretName: iuna-admin-tls
    136       hosts:
    137         - admin.iuna.jhx.app
    138 ---
    139 apiVersion: apps/v1
    140 kind: Deployment
    141 metadata:
    142   name: node
    143   namespace: iuna
    144 spec:
    145   replicas: 1
    146   selector:
    147     matchLabels:
    148       app: iuna-node
    149   template:
    150     metadata:
    151       labels:
    152         app: iuna-node
    153     spec:
    154       containers:
    155         - name: iuna-node
    156           image: ${IUNA_NODE_IMAGE}
    157           imagePullPolicy: IfNotPresent
    158           ports:
    159             - name: management
    160               containerPort: 18661
    161             - name: p2p
    162               containerPort: 9444
    163           volumeMounts:
    164             - name: data
    165               mountPath: /data
    166       volumes:
    167         - name: data
    168           persistentVolumeClaim:
    169             claimName: local-path-db-pvc
    170 ---
    171 apiVersion: v1
    172 kind: Service
    173 metadata:
    174   name: iuna
    175   namespace: iuna
    176 spec:
    177   type: LoadBalancer
    178   externalTrafficPolicy: Local
    179   selector:
    180     app: iuna-node
    181   ports:
    182     - name: management
    183       port: 18661
    184       targetPort: 18661
    185     - name: p2p
    186       port: 9444
    187       targetPort: 9444