@highstate/talos 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2177 @@
1
+ ---
2
+ # Source: cilium/templates/cilium-agent/serviceaccount.yaml
3
+ apiVersion: v1
4
+ kind: ServiceAccount
5
+ metadata:
6
+ name: "cilium"
7
+ namespace: kube-system
8
+ ---
9
+ # Source: cilium/templates/cilium-envoy/serviceaccount.yaml
10
+ apiVersion: v1
11
+ kind: ServiceAccount
12
+ metadata:
13
+ name: "cilium-envoy"
14
+ namespace: kube-system
15
+ ---
16
+ # Source: cilium/templates/cilium-operator/serviceaccount.yaml
17
+ apiVersion: v1
18
+ kind: ServiceAccount
19
+ metadata:
20
+ name: "cilium-operator"
21
+ namespace: kube-system
22
+ ---
23
+ # Source: cilium/templates/hubble-relay/serviceaccount.yaml
24
+ apiVersion: v1
25
+ kind: ServiceAccount
26
+ metadata:
27
+ name: "hubble-relay"
28
+ namespace: kube-system
29
+ automountServiceAccountToken: false
30
+ ---
31
+ # Source: cilium/templates/hubble-ui/serviceaccount.yaml
32
+ apiVersion: v1
33
+ kind: ServiceAccount
34
+ metadata:
35
+ name: "hubble-ui"
36
+ namespace: kube-system
37
+ ---
38
+ # Source: cilium/templates/cilium-ca-secret.yaml
39
+ apiVersion: v1
40
+ kind: Secret
41
+ metadata:
42
+ name: cilium-ca
43
+ namespace: kube-system
44
+ data:
45
+ ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURGRENDQWZ5Z0F3SUJBZ0lSQUlTc1hES1V5Q3plb1B3ZHN4cHRPZm93RFFZSktvWklodmNOQVFFTEJRQXcKRkRFU01CQUdBMVVFQXhNSlEybHNhWFZ0SUVOQk1CNFhEVEkwTVRJeE5URXpNemd6TVZvWERUSTNNVEl4TlRFegpNemd6TVZvd0ZERVNNQkFHQTFVRUF4TUpRMmxzYVhWdElFTkJNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFNSUlCQ2dLQ0FRRUEyWm1GdGJUVjZLaTF2MGpMa2cyUFJrNUZYV25YYmUzakZkN1JHVzdHZTI4WXFvMzgKdXlxdzhZSmVlUEN0OHBYdW1QOTV5ZDM5cEVCRVFXVU1rY1FHdFBLSlM4RitXb0dNY0pkWDlEOXl0MXBIVkxMZAp3MG84emJBWjYvbWhFV0ZXMkx6Y2U2cWVyUHdNc0ZIQVBFdnRKQjlBRXUwd2IzcnhHbEF1UEhaTTNuZU9PS1hvCnM1bVRPZ3B2bVZKVnkxUk5VVVVSTWwrYVdyT0UvZlAyQ0MyWXRlT3BMQlV5UkFBdXpiMVZOckVwQ09uNkRydjEKSzJNSjhPbEgwcS9nRWFyRitiZVNoeVkrYk9Hd1AyRWEvcUUrbksybmZPbFVqWnNvRjF3RGVDeE54dXQ2WUo5Nwp2c1pYeEJFNmNCSWpXL0FLZGZGMzIwejJTT2dKUFpZd0tTUUtNUUlEQVFBQm8yRXdYekFPQmdOVkhROEJBZjhFCkJBTUNBcVF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01BOEdBMVVkRXdFQi93UUYKTUFNQkFmOHdIUVlEVlIwT0JCWUVGQnFJV1pIbE9hejhWdVJkRGNuQVhmeHVvNlVLTUEwR0NTcUdTSWIzRFFFQgpDd1VBQTRJQkFRQnN1eThFQzdpTFA1NGV6OWU0UXV0N0hMOEJwNThFMDVGNDUzRmUvMmZGTWZPUldoR3BZTjl5Cit6NFpQVEhHMFBLbjN0TFpERmprTzRnTGZnV0h1YnNVcEYyU2tsNm5qRE5TU05QVGk0WmhqZFBoSXJkRU9WRzkKWjl4cXdHRk9DSG5QZXZBUjZFRE8zdXFqSkR6WVE0Zmo3d3JNc1MwYXA4NEcwRmVSdEtDK1N4dmEvR21oS3J5Zwp1SDdkbnpZVkwwaExoVzhPRllGUHB5dklqNlAzOWVjaHBYMW0waVp0OEltUkxOcXJDMzFYY2ZaZUptWE0xbEIwCm1CZHg5bVhFUHhRM0R1RU5BNXFjRFJFdnFHaHJNcEZFY0NiTkxCbHdTWFMvN2wrclRCUGlEZUh1bWgwV3Q0ZlMKc0tvSzFRYXBnN0RqaVhJY2phMWFzVWw3WHRRODN4aW0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
46
+ ca.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb2dJQkFBS0NBUUVBMlptRnRiVFY2S2kxdjBqTGtnMlBSazVGWFduWGJlM2pGZDdSR1c3R2UyOFlxbzM4CnV5cXc4WUplZVBDdDhwWHVtUDk1eWQzOXBFQkVRV1VNa2NRR3RQS0pTOEYrV29HTWNKZFg5RDl5dDFwSFZMTGQKdzBvOHpiQVo2L21oRVdGVzJMemNlNnFlclB3TXNGSEFQRXZ0SkI5QUV1MHdiM3J4R2xBdVBIWk0zbmVPT0tYbwpzNW1UT2dwdm1WSlZ5MVJOVVVVUk1sK2FXck9FL2ZQMkNDMll0ZU9wTEJVeVJBQXV6YjFWTnJFcENPbjZEcnYxCksyTUo4T2xIMHEvZ0VhckYrYmVTaHlZK2JPR3dQMkVhL3FFK25LMm5mT2xValpzb0Yxd0RlQ3hOeHV0NllKOTcKdnNaWHhCRTZjQklqVy9BS2RmRjMyMHoyU09nSlBaWXdLU1FLTVFJREFRQUJBb0lCQUR2NzJDSVk4WWFyU3o2cAp3SVJJZktCeTN5ZzdEd25jcytiSmYzYTFWTDJlQ0h5cm0ybTFBUVh5WER5V2pEejlHOExOV2pOTm9LZndsMkEzCmpObDU0aWRyWEhHbnF6OGp5eVVXYzBaL1h3NHdNczJrYVFGMnE0QS85VVZaa1E4TGVEZFRDS3lHZ2l0SlorNEsKK3lVa0FRRWVKRG1UYlBDdVFWeHhrZTFVNXlmRDV5Mjl2RDMwWWdoUnZ1N3hxSDhSZXdKd2o0QkpQYWFnbFVlYQp0MEdzSk82R1hMVUZPckxOZnRIQ1p2bDNmRy8veUF1VUJXUngxb2RCWTBLMUs3dnJ2RVpSV1NqSXZRQW4vL3hkCnoxNEhTMHo5Wk04Q2FWK3dBWFhDZnFDYUsxbEY1WEZ5OFByeWJvelZYb0VoQ1FEMkFhU0JTYm9NQUdiTTcvMGoKa0NGTXZPRUNnWUVBN2NnMG1CTHlRdkdvNEIwdTN6eTBFdXFRQldmdkJkT2g5MWZBakVnb2tqQjh5MTNNaHA1dApYaHI0azBIaUNUQUtOWmxlZnZVRlB5V1paWGFyN1hpRC9ZR1J4dHY1QklUVmtGNm9iTm5JS3lxQmtHV2t6emdaCldPa2xnYzJSbW1PSFlaK292cU1FOWUzUXVVR0czbXR2TmtycVhrVEJSeGdDV2RuYmpSSGMvdjBDZ1lFQTZrVjMKSjBFNDN1a2h1RWtXdndONVpvZE9EcktteStnbzc0R2tRTHhmU0JBeUJiQ09PTjMvS3ByamQrZUN4c0I0UkdXTQoxVmhOQjNTdEhnUFFScytTcFBVNFFLOVEybkZmRTBMVzFwM1RCVVdON0xBUUFCcVJTNWxJdVZjTGphekdmQi83CjhvRHBQSEFWNDh5L1ZEY09qUnh5a0Y5bUdUT1pVeFZZY285SmtFVUNnWUIrcXdoWmVyNVRxeWlyT3VDZFMxa2kKT3BJK1R2K2x1dmV0SzdJSENPbVQ5d0NEMVpQK29xYmdXcjNRdEdnVlBPSXphMkJMZ1hzcUNIMk83NGpuR0N3MwovNjRJb1dZbVloemlxNHBOY2phUHlEVDlGeWlVdXUzRnoyMkxtRmJZUit6MnRIYlFGMGV0T3VMVnpYSnJTaEFVCmZCUWQ0OEtTZk5mRHhhcVBtOVIrZ1FLQmdDRENEZU5EVDN4OEJPY0w4VTVNWWhGZ0loNFVCUmJHSTlNNXdZbjcKelNiNmZNUW01L3d6cnBaNmlnd2VKejg3Y3BXOXpXK1hwVTNCbHVOM2pRd1p3bHVtbm5NTkVMVTYzUnlJWUJvcQpmM05oUW5NeU8wcUliSUN4c21XWU1sbGhLMi8zMlBjVDU0azM4eGVqYmEyTTlVL3VCbWNCci9rZUtmWmdLYm43CkowSXhBb0dBR0ZFR3B4eGR0RjVQNWVDdHpFWXQ2YWE1UVdDWWNiOGNNenVCU1ZLcGNjR1FVMWhDbWVpcGgyWGgKUkVoTWQ0Z1Y5ZUtJOTh0TVhjbmU3ZUl3NUpWc3UwdWpTSXAvM1RvVnRZSXpJbU1sUmEzRENGQ1BoNEhpYVpRdApNblhrWHR6eE95YjFJQlhaaGtsQ1VoVlc1TWNBSW9LRGoxMWdvLzdTbHQ3Z1hZWmc2TkU9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
47
+ ---
48
+ # Source: cilium/templates/hubble/tls-helm/relay-client-secret.yaml
49
+ apiVersion: v1
50
+ kind: Secret
51
+ metadata:
52
+ name: hubble-relay-client-certs
53
+ namespace: kube-system
54
+ type: kubernetes.io/tls
55
+ data:
56
+ ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURGRENDQWZ5Z0F3SUJBZ0lSQUlTc1hES1V5Q3plb1B3ZHN4cHRPZm93RFFZSktvWklodmNOQVFFTEJRQXcKRkRFU01CQUdBMVVFQXhNSlEybHNhWFZ0SUVOQk1CNFhEVEkwTVRJeE5URXpNemd6TVZvWERUSTNNVEl4TlRFegpNemd6TVZvd0ZERVNNQkFHQTFVRUF4TUpRMmxzYVhWdElFTkJNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFNSUlCQ2dLQ0FRRUEyWm1GdGJUVjZLaTF2MGpMa2cyUFJrNUZYV25YYmUzakZkN1JHVzdHZTI4WXFvMzgKdXlxdzhZSmVlUEN0OHBYdW1QOTV5ZDM5cEVCRVFXVU1rY1FHdFBLSlM4RitXb0dNY0pkWDlEOXl0MXBIVkxMZAp3MG84emJBWjYvbWhFV0ZXMkx6Y2U2cWVyUHdNc0ZIQVBFdnRKQjlBRXUwd2IzcnhHbEF1UEhaTTNuZU9PS1hvCnM1bVRPZ3B2bVZKVnkxUk5VVVVSTWwrYVdyT0UvZlAyQ0MyWXRlT3BMQlV5UkFBdXpiMVZOckVwQ09uNkRydjEKSzJNSjhPbEgwcS9nRWFyRitiZVNoeVkrYk9Hd1AyRWEvcUUrbksybmZPbFVqWnNvRjF3RGVDeE54dXQ2WUo5Nwp2c1pYeEJFNmNCSWpXL0FLZGZGMzIwejJTT2dKUFpZd0tTUUtNUUlEQVFBQm8yRXdYekFPQmdOVkhROEJBZjhFCkJBTUNBcVF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01BOEdBMVVkRXdFQi93UUYKTUFNQkFmOHdIUVlEVlIwT0JCWUVGQnFJV1pIbE9hejhWdVJkRGNuQVhmeHVvNlVLTUEwR0NTcUdTSWIzRFFFQgpDd1VBQTRJQkFRQnN1eThFQzdpTFA1NGV6OWU0UXV0N0hMOEJwNThFMDVGNDUzRmUvMmZGTWZPUldoR3BZTjl5Cit6NFpQVEhHMFBLbjN0TFpERmprTzRnTGZnV0h1YnNVcEYyU2tsNm5qRE5TU05QVGk0WmhqZFBoSXJkRU9WRzkKWjl4cXdHRk9DSG5QZXZBUjZFRE8zdXFqSkR6WVE0Zmo3d3JNc1MwYXA4NEcwRmVSdEtDK1N4dmEvR21oS3J5Zwp1SDdkbnpZVkwwaExoVzhPRllGUHB5dklqNlAzOWVjaHBYMW0waVp0OEltUkxOcXJDMzFYY2ZaZUptWE0xbEIwCm1CZHg5bVhFUHhRM0R1RU5BNXFjRFJFdnFHaHJNcEZFY0NiTkxCbHdTWFMvN2wrclRCUGlEZUh1bWgwV3Q0ZlMKc0tvSzFRYXBnN0RqaVhJY2phMWFzVWw3WHRRODN4aW0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
57
+ tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURTRENDQWpDZ0F3SUJBZ0lRTEkybWIvRkdXTVZpdmFzM3JuS21aVEFOQmdrcWhraUc5dzBCQVFzRkFEQVUKTVJJd0VBWURWUVFERXdsRGFXeHBkVzBnUTBFd0hoY05NalF4TWpFMU1UTXpPRE14V2hjTk1qVXhNakUxTVRNegpPRE14V2pBak1TRXdId1lEVlFRRERCZ3FMbWgxWW1Kc1pTMXlaV3hoZVM1amFXeHBkVzB1YVc4d2dnRWlNQTBHCkNTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDNTRsNGVHRTd2NWN1dXJscXQrUXRMbmw5NnpZcVcKMzBwUmZwcGNHK3g4MUVYT3BSRzl2K1BEazQwTUljSjRhOUNrdVlNa3BGL3JnNlU0dllkZ29DVTRveVRHZTRsdQpjUzdJVmRVSWRvKzFPME95ZXJ5aEg2akJiTVlKN21DSkVvWnRDWnZXb3BubnlmQWo0bXBKSGpPVE80QzZEU25hCnNsRTJ4Z2s1Z1k3ZmNHNmdnZ3l1WnhlQ2pLZG5DYTNuSzkzTUdLVG1aVjRwVnF5Wld4Ynd2WHBodWVUTGx3aWoKMXhCandVNHlmc0IyQlQyM0o5OUxCU3ZRUTJoMkZnSkV2dEhHRHVldnNOcVYvUW9KakV5NHU5d1h2V01zbXVqQwpaUDg4Nlg1UEZ3QklDOGRHOUJyQk9GNm1nNTA1Q05acGNpdlljRnBwUnhFZGhvZzNuVUN3dEduZEFnTUJBQUdqCmdZWXdnWU13RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQU1CZ05WSFJNQkFmOEVBakFBTUI4R0ExVWRJd1FZTUJhQUZCcUlXWkhsT2F6OFZ1UmREY25BWGZ4dQpvNlVLTUNNR0ExVWRFUVFjTUJxQ0dDb3VhSFZpWW14bExYSmxiR0Y1TG1OcGJHbDFiUzVwYnpBTkJna3Foa2lHCjl3MEJBUXNGQUFPQ0FRRUF1cm9IVHFvSnFaSE5QNHJLdFhxMHl4SzRESFJPYksrOTF4M2p4eUZQRjUwRXJ2bEIKM0sram9DV1lhNEJEemJ1REltYzE3NENVdnpqSTdGdEdUbEdPa21scHh5WlZ0cmZ6dEFocHhqVkc4Y29UYnV3KwozV05lMENmMmMrWFdxdVB1N21NeTJsY096V1ViZENwa0lJVGZFNEhWcUJjd0lxMnI0cGV6Sk9GVXhsbElZOXJyCk44eURQTkJTcThVa2lCOTVPVE5hb3RNTXJXOHkzSUt3Vy9RQVFMZUVXK0tzbFVmRHU2Zk0vZkZ1eldhL0hoeWYKYnBjTm94bmhOK0Y4QjJKaGx0TUd1bHc5d2xZdjZ3Q1lpeXRFWUl3aHVoOXIyWk5yUGw2Y2FzREUyTi9EV2JDbwpybU1FL1FXSm95UGVxMW5FS1FKWnRHaVFzUytKUFl0ak5RcGFnUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
58
+ tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBdWVKZUhoaE83K1hMcnE1YXJma0xTNTVmZXMyS2x0OUtVWDZhWEJ2c2ZOUkZ6cVVSCnZiL2p3NU9ORENIQ2VHdlFwTG1ESktSZjY0T2xPTDJIWUtBbE9LTWt4bnVKYm5FdXlGWFZDSGFQdFR0RHNucTgKb1Irb3dXekdDZTVnaVJLR2JRbWIxcUtaNThud0krSnFTUjR6a3p1QXVnMHAyckpSTnNZSk9ZR08zM0J1b0lJTQpybWNYZ295blp3bXQ1eXZkekJpazVtVmVLVmFzbVZzVzhMMTZZYm5reTVjSW85Y1FZOEZPTW43QWRnVTl0eWZmClN3VXIwRU5vZGhZQ1JMN1J4ZzducjdEYWxmMEtDWXhNdUx2Y0Y3MWpMSnJvd21UL1BPbCtUeGNBU0F2SFJ2UWEKd1RoZXBvT2RPUWpXYVhJcjJIQmFhVWNSSFlhSU41MUFzTFJwM1FJREFRQUJBb0lCQVFDd2Y3U0dOdWFjKzBGUApkOVk2WXNMSzVuSWFsSmdIY2JXTGMvNzFmcjRxT1JTZmhqVTJTc0hscm5DN0dFTWpQSnc4RExudFRQYVhGY1VICi8wNVAvVC9hYTI0NzJJbENDTTQzQXVqb3hFcm45b0h0TW9WeEtES0FsdHZrQ2lnM2Z4T003UmEvMGx6NHJkSUwKQUsyVEI4NUkrckxiOWl2THNJMVV5TzF4WVFkY09ES3g4K1pNTmNraUVZTDVGY1J6YjVDZk13Ym44UXNRV3o3RApvVUtaQTRNdWIzaFlEWnNYN0g1a1FDTlpQZlcxdHhoUXNhYlQ3Mk51QlROQjhUT2k1a3hTWld1c2RsRHJJem85ClA4TSszU3Y3ZEJ2N2VJNURsNGZIazlkV2xvODZYbmNTTjJ6dERtNEtxK20yMGZBQXYyYmpBRW10Wk9zYVRndmoKT2szVERsS0JBb0dCQU02VkF1U0NSRS9zQXdTTWxmV0wzbGx1eXo0V20xSzFzWFpzWWh2aXZWVHdFYkdWdXA0aApBUUxqSXJtdkt3aWI1bzdpRkI5djBzL3dGUHhZRGZQRFUzZjlvYURvaW1lcVdlV1VpV2VLb3NrZXVwV1JaQzh3ClpFY0lGYnF3aDkxdnBIMjZvL1JoRmNoQXc2VWxML3IzMUJlNjhuU1Nxc2VpaW83d0FzZHM2VnZWQW9HQkFPWloKMU1wNVExTEZMYTJKN29Gd2R2TzVoV1F6RVBDS2dsaUY3bmtMeFRmSXNrSnExdzRYRGJacWp2dGEyM2NBZFVmTgorZ2dCOE1rdlAzdEd4aEFxeWYxN0F6SHY5K2dndVBUMjFuNzJwQXZwSVlMN1dHTE1uRDZCR2J6bFBxQzE0NXFCCnhXNit6cEdlN05OU0prVHVBZ2dQVDNsR0VmV0c3U05pWm8xSkpBSHBBb0dBVk5QTlowV3loVnIxZGtYQVFoN1kKQThOQ0E5SEduL1RwMVNYMk4xc293WnIrdVB3eHNFTC9KazljY0FEazI5a2dtR1Z2TytWd0hHQ0tUWUJlNGt5LwpscEw0YnBsdVU5a1lwdlFTWkFrQ2hURndEb0N3TWN4ZU1PaTUrM29Ib0Q3NnZZSUpWdzBTbzdNc1kwRGM3ZUljCkhrNXV4cjEvRVJER2NxRk5rdFEvRXEwQ2dZRUFwSFZpVFNTQ2dtZXdrd08xT3NqV3hHK2g0c1hxeERHL21nQVYKSUdyYzVWVHVvQ2l6WGFYcjdsN3BzbDlON1Fwd3NWRkh2OHZTNDNCT1BHOXRIVUhQY0tBUXllaHY4RlRjZUZoNwpENjU3dE4wL1JjcTVjZUJ2ZE5pclRZZkdUT3RQa3BJd0tUOGxNQ1p0SXZxMXcrVEJvb3Q3ekRQUXdxRVFVWUVCCmdzSERhWEVDZ1lFQWxaQlB5TUx5U2l6YzhIbFJGY0xJRVRvVis2WUNsNzhiT1hhQXFYWlpQSkU5aXNITE9JVlkKT0NjQzhHT2pEVG1LSFM0Y2d4OVhTWXFxWEY5UHZOVXVmTm1KRUY5YWRtRHRsQjRmRUNKU3JhY0xiUExGRFR6MApTbGt2dVdDcmh6cEZROGJmMjlZVnA1aWh3Uy85bU4wTzVYa2hwSkFQY3dOb3hvc0RDVTRKNGxrPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
59
+ ---
60
+ # Source: cilium/templates/hubble/tls-helm/server-secret.yaml
61
+ apiVersion: v1
62
+ kind: Secret
63
+ metadata:
64
+ name: hubble-server-certs
65
+ namespace: kube-system
66
+ type: kubernetes.io/tls
67
+ data:
68
+ ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURGRENDQWZ5Z0F3SUJBZ0lSQUlTc1hES1V5Q3plb1B3ZHN4cHRPZm93RFFZSktvWklodmNOQVFFTEJRQXcKRkRFU01CQUdBMVVFQXhNSlEybHNhWFZ0SUVOQk1CNFhEVEkwTVRJeE5URXpNemd6TVZvWERUSTNNVEl4TlRFegpNemd6TVZvd0ZERVNNQkFHQTFVRUF4TUpRMmxzYVhWdElFTkJNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFNSUlCQ2dLQ0FRRUEyWm1GdGJUVjZLaTF2MGpMa2cyUFJrNUZYV25YYmUzakZkN1JHVzdHZTI4WXFvMzgKdXlxdzhZSmVlUEN0OHBYdW1QOTV5ZDM5cEVCRVFXVU1rY1FHdFBLSlM4RitXb0dNY0pkWDlEOXl0MXBIVkxMZAp3MG84emJBWjYvbWhFV0ZXMkx6Y2U2cWVyUHdNc0ZIQVBFdnRKQjlBRXUwd2IzcnhHbEF1UEhaTTNuZU9PS1hvCnM1bVRPZ3B2bVZKVnkxUk5VVVVSTWwrYVdyT0UvZlAyQ0MyWXRlT3BMQlV5UkFBdXpiMVZOckVwQ09uNkRydjEKSzJNSjhPbEgwcS9nRWFyRitiZVNoeVkrYk9Hd1AyRWEvcUUrbksybmZPbFVqWnNvRjF3RGVDeE54dXQ2WUo5Nwp2c1pYeEJFNmNCSWpXL0FLZGZGMzIwejJTT2dKUFpZd0tTUUtNUUlEQVFBQm8yRXdYekFPQmdOVkhROEJBZjhFCkJBTUNBcVF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01BOEdBMVVkRXdFQi93UUYKTUFNQkFmOHdIUVlEVlIwT0JCWUVGQnFJV1pIbE9hejhWdVJkRGNuQVhmeHVvNlVLTUEwR0NTcUdTSWIzRFFFQgpDd1VBQTRJQkFRQnN1eThFQzdpTFA1NGV6OWU0UXV0N0hMOEJwNThFMDVGNDUzRmUvMmZGTWZPUldoR3BZTjl5Cit6NFpQVEhHMFBLbjN0TFpERmprTzRnTGZnV0h1YnNVcEYyU2tsNm5qRE5TU05QVGk0WmhqZFBoSXJkRU9WRzkKWjl4cXdHRk9DSG5QZXZBUjZFRE8zdXFqSkR6WVE0Zmo3d3JNc1MwYXA4NEcwRmVSdEtDK1N4dmEvR21oS3J5Zwp1SDdkbnpZVkwwaExoVzhPRllGUHB5dklqNlAzOWVjaHBYMW0waVp0OEltUkxOcXJDMzFYY2ZaZUptWE0xbEIwCm1CZHg5bVhFUHhRM0R1RU5BNXFjRFJFdnFHaHJNcEZFY0NiTkxCbHdTWFMvN2wrclRCUGlEZUh1bWgwV3Q0ZlMKc0tvSzFRYXBnN0RqaVhJY2phMWFzVWw3WHRRODN4aW0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
69
+ tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURWekNDQWorZ0F3SUJBZ0lSQU5GZVNVODBVb0dML0x2ZVJpL1Y5NmN3RFFZSktvWklodmNOQVFFTEJRQXcKRkRFU01CQUdBMVVFQXhNSlEybHNhWFZ0SUVOQk1CNFhEVEkwTVRJeE5URXpNemd6TVZvWERUSTFNVEl4TlRFegpNemd6TVZvd0tqRW9NQ1lHQTFVRUF3d2ZLaTVrWldaaGRXeDBMbWgxWW1Kc1pTMW5jbkJqTG1OcGJHbDFiUzVwCmJ6Q0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU1HcllNcDYrb1RkZW8zcHpTTUYKdytNUWtVS3F6U2UyVWJUL2dDTW50TDhydTRNZGtmQ1Q3ZzNDMUlTU1Bva3Zmd3ZLNHNyeTVrdmI3b0lwSVZBLwpjVHpoOTJVcjI5eHFRTnA2OFEwdU1IbFcvK0ZWUXMzdlg1QndaVVZGY0FTZHUrM0U1NUVDVi9OT1A3K201Vnl5CmN4TWI5eHI1UG1uNmI5c3FGWFVGcFo5bDVjeVFmR0JGYVhPMTkrVllFbWhNcmZvYnJucWd4ckdwcWVLay9vTCsKT0RHWXlNY2ZVN0hkdHZuYnBqSWZXRzN2Y3Vab2poVzdWemVIbnYyTUZ2L2RSaXQxdmIyRHFjbElucFJCb0o0dQorODdvOExlQjZoNWdHWEFmeWJTaHdoTlNxMUIrV3Y3c2lwSzIzM1BrZHhENUJFV3FDdnA2VGlXOFBPTHZacWh4CmxKMENBd0VBQWFPQmpUQ0JpakFPQmdOVkhROEJBZjhFQkFNQ0JhQXdIUVlEVlIwbEJCWXdGQVlJS3dZQkJRVUgKQXdFR0NDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3SHdZRFZSMGpCQmd3Rm9BVUdvaFprZVU1clB4Vwo1RjBOeWNCZC9HNmpwUW93S2dZRFZSMFJCQ013SVlJZktpNWtaV1poZFd4MExtaDFZbUpzWlMxbmNuQmpMbU5wCmJHbDFiUzVwYnpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQTArWktjM2ZockxBTG9DaHJvdGQycDdaR1A2aEQKY0UvV2o4elFyVUxrVGZSbEtpWUNCckxEK2NYMytMeHRWS3Yzb041Y0pOVGIyc2lkTGRaWVJSS01GMXJFNWQrbQpZRVVEdEVLYi9GUXVYWGEyMUhBa2l2UTZHNHNXT2VDUXU4dWtUZkxDRW82akp0eG13QkxuR1Ava09IdStRRTdOCkJMZFRqVTZSN3dOMTBiQ0QxTjVYaGc5MzBkWkcrQ0tWUzVLcjU4T2E1U3g0eGdzRUlNcytuRlB4c1Z5K1NOUWoKSG5kTU9nV3RraGk3aW5Jc1Y1dHJLRGZJRW4yYzA3OFBLWEFCdjdmRW9ibVgxaXkrSkwydWh4bFg3dERyTjhYegpwTmNpT0p2bFdZS0o4a3NUYU8rRmhReUkxMkVGUmpPdmpkOWl2WEdFTk1xTkc1N1FBZDBQR0pmQ3N3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
70
+ tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBd2F0Z3lucjZoTjE2amVuTkl3WEQ0eENSUXFyTko3WlJ0UCtBSXllMHZ5dTdneDJSCjhKUHVEY0xVaEpJK2lTOS9DOHJpeXZMbVM5dnVnaWtoVUQ5eFBPSDNaU3ZiM0dwQTJucnhEUzR3ZVZiLzRWVkMKemU5ZmtIQmxSVVZ3QkoyNzdjVG5rUUpYODA0L3Y2YmxYTEp6RXh2M0d2aythZnB2MnlvVmRRV2xuMlhsekpCOApZRVZwYzdYMzVWZ1NhRXl0K2h1dWVxREdzYW1wNHFUK2d2NDRNWmpJeHg5VHNkMjIrZHVtTWg5WWJlOXk1bWlPCkZidFhONGVlL1l3Vy85MUdLM1c5dllPcHlVaWVsRUdnbmk3N3p1and0NEhxSG1BWmNCL0p0S0hDRTFLclVINWEKL3V5S2tyYmZjK1IzRVBrRVJhb0srbnBPSmJ3ODR1OW1xSEdVblFJREFRQUJBb0lCQVFDSDNzM20vK1FsdHFRMgpUNkxGUVZRdVJ2OUNBRVl4NkN6bWlLSERDQ1k4UUZnckltR3lvSFhRWGJGdTJKTGE5K0Z2eW9UVjBSZFVmUldWClozbWhyUUNxci9VNm0weUNGR0V2WmpVYkJCNnA0aWxlVXN5dFlaUnY1d3FGVUxQSDZVbGhCRlZaWElXTGdvZ2kKMHRueThKYmUveTJiVk9VK3dKNGM2aWRuay9DZ0pFa1BrVWd0QzJZYTNsanMwcGtub0krdzczOHB6eGdrWXdFNwp1L29vK0gzcGFRVEFjdFFTYy9BMkdhQmVQSXY0Y2Q4dUJ1cjh5Sk8wWUJMMTBoQ284YzZwR2t3TXdOZ1BMb1ZkCitTNHZVblcreDMvS0FUZWgzbyttRXhpTTFKSHVRb1owNDBJSE1MS3N1NGlhWDU3WXlIajJiWURWdW1uRFp1OEUKeDNEZHZ0Q0JBb0dCQVBSUnRLdEhSVXhSVUpUUGo2Q0NIUFRSTHZOVG1DWVgrbW9jdXhYcFVBaFhxWHFOcDU4cApqVE9vYTlKV25hL0lDUW5WTFFFd2V6eWJseW9RRDhiTmhnbUR1SHdUaGZhejhiNDlJL1JWb3ZLUEF0bnpSd2dwCndxZ012SW5FZis5eGthZVNIUVc4RlV5cFE0ekNuZTM5dG1rMVQwRzcrM2FxUW9xWjY2UnZJVC94QW9HQkFNcnQKd1dwUzYzNi91dzQ4TnhRdDZkYkxnQTUvRWxPdGFTYlFVYU9IOHRzeW94ZHRxY3A4TFN6dE9oNEFCdFNIVDV5dQpuL3BuLzIrVXNPNVJ0bjYwZ1FyemhpREpFT0hHaEdoTFJvcFQ0Uzl6RW1KQ05BbENPdTF5dldFT1lib0hRUDV5ClFmc1V5bFlVWm1NUUJIQWJTdmhYMS9lZysvejlGS01XSk5zc0tndHRBb0dCQUxLTEJ5SG4rbzkwR1JRMnZycEkKZTRxNVY3dEFTcjhENU44bzBkdUlYaEZLcHJMRjFFb3ZIbDR5NVdDWUpiSXcxOUlVdEVmYk95UW1mQWlrSmpOZApQR2UxbDlzc2xVaWRaYnRsaU9Ia3R5alZNL3M4bXBzdmtXNG5xSnh4T2lFc2VJbmg4RTJoamxzd2t3bkpxNG9oClQrMkFwTVBmOFR0ZDN6VFVtT3pZdlk2eEFvR0FUZXIwdFNxWm1kVnNzWTZWWjM0cHAzd0Q4NHovTUhvSlFnb0QKRHRPSWdIbjAvVzN5SC9tR0x4WDNsc1ZUMmc4S2xwTEdncE9rRk9mMjk4c1FVNTVqWGgwYmgwTXM1RVFoV3hwcwpQM2p0b2hhQkhKRm5BWmNZb1V2SlE1Y09GeXZwM01scVpFb2JWdW9HVmtzMEtRZVJ4Y0dVLzFRazdZTVBoWDlmCkwzakp2QkVDZ1lCc0NFRGxjV21aNFNkTVFVWS80M1pqcUR4akF4UklLQXZZNVh4b1RxZmZjcm9jSXJmZkZYMkoKaTkzbkxqdmVJNUhuU1l2Z3hFRFQ3ank0MlJUNlBNZ0h5VHNqK2hpa1haOGF6cllZT1RZalgvbDkrMlJlQVBKUgpaZFpmZ0hJQnRKTmVURm1CZDh6aS92eE82R0NhR3FSMjFmSnNZZFc4b1FYUmZpZWpWand1bEE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
71
+ ---
72
+ # Source: cilium/templates/cilium-configmap.yaml
73
+ apiVersion: v1
74
+ kind: ConfigMap
75
+ metadata:
76
+ name: cilium-config
77
+ namespace: kube-system
78
+ data:
79
+
80
+ # Identity allocation mode selects how identities are shared between cilium
81
+ # nodes by setting how they are stored. The options are "crd" or "kvstore".
82
+ # - "crd" stores identities in kubernetes as CRDs (custom resource definition).
83
+ # These can be queried with:
84
+ # kubectl get ciliumid
85
+ # - "kvstore" stores identities in an etcd kvstore, that is
86
+ # configured below. Cilium versions before 1.6 supported only the kvstore
87
+ # backend. Upgrades from these older cilium versions should continue using
88
+ # the kvstore by commenting out the identity-allocation-mode below, or
89
+ # setting it to "kvstore".
90
+ identity-allocation-mode: crd
91
+ identity-heartbeat-timeout: "30m0s"
92
+ identity-gc-interval: "15m0s"
93
+ cilium-endpoint-gc-interval: "5m0s"
94
+ nodes-gc-interval: "5m0s"
95
+
96
+ # If you want to run cilium in debug mode change this value to true
97
+ debug: "false"
98
+ debug-verbose: ""
99
+ # The agent can be put into the following three policy enforcement modes
100
+ # default, always and never.
101
+ # https://docs.cilium.io/en/latest/security/policy/intro/#policy-enforcement-modes
102
+ enable-policy: "default"
103
+ policy-cidr-match-mode: ""
104
+ # If you want metrics enabled in cilium-operator, set the port for
105
+ # which the Cilium Operator will have their metrics exposed.
106
+ # NOTE that this will open the port on the nodes where Cilium operator pod
107
+ # is scheduled.
108
+ operator-prometheus-serve-addr: ":9963"
109
+ enable-metrics: "true"
110
+
111
+ # Enable IPv4 addressing. If enabled, all endpoints are allocated an IPv4
112
+ # address.
113
+ enable-ipv4: "true"
114
+
115
+ # Enable IPv6 addressing. If enabled, all endpoints are allocated an IPv6
116
+ # address.
117
+ enable-ipv6: "false"
118
+ # Users who wish to specify their own custom CNI configuration file must set
119
+ # custom-cni-conf to "true", otherwise Cilium may overwrite the configuration.
120
+ custom-cni-conf: "false"
121
+ enable-bpf-clock-probe: "false"
122
+ # If you want cilium monitor to aggregate tracing for packets, set this level
123
+ # to "low", "medium", or "maximum". The higher the level, the less packets
124
+ # that will be seen in monitor output.
125
+ monitor-aggregation: medium
126
+
127
+ # The monitor aggregation interval governs the typical time between monitor
128
+ # notification events for each allowed connection.
129
+ #
130
+ # Only effective when monitor aggregation is set to "medium" or higher.
131
+ monitor-aggregation-interval: "5s"
132
+
133
+ # The monitor aggregation flags determine which TCP flags which, upon the
134
+ # first observation, cause monitor notifications to be generated.
135
+ #
136
+ # Only effective when monitor aggregation is set to "medium" or higher.
137
+ monitor-aggregation-flags: all
138
+ # Specifies the ratio (0.0-1.0] of total system memory to use for dynamic
139
+ # sizing of the TCP CT, non-TCP CT, NAT and policy BPF maps.
140
+ bpf-map-dynamic-size-ratio: "0.0025"
141
+ # bpf-policy-map-max specifies the maximum number of entries in endpoint
142
+ # policy map (per endpoint)
143
+ bpf-policy-map-max: "16384"
144
+ # bpf-lb-map-max specifies the maximum number of entries in bpf lb service,
145
+ # backend and affinity maps.
146
+ bpf-lb-map-max: "65536"
147
+ bpf-lb-external-clusterip: "false"
148
+
149
+ bpf-events-drop-enabled: "true"
150
+ bpf-events-policy-verdict-enabled: "true"
151
+ bpf-events-trace-enabled: "true"
152
+
153
+ # Pre-allocation of map entries allows per-packet latency to be reduced, at
154
+ # the expense of up-front memory allocation for the entries in the maps. The
155
+ # default value below will minimize memory usage in the default installation;
156
+ # users who are sensitive to latency may consider setting this to "true".
157
+ #
158
+ # This option was introduced in Cilium 1.4. Cilium 1.3 and earlier ignore
159
+ # this option and behave as though it is set to "true".
160
+ #
161
+ # If this value is modified, then during the next Cilium startup the restore
162
+ # of existing endpoints and tracking of ongoing connections may be disrupted.
163
+ # As a result, reply packets may be dropped and the load-balancing decisions
164
+ # for established connections may change.
165
+ #
166
+ # If this option is set to "false" during an upgrade from 1.3 or earlier to
167
+ # 1.4 or later, then it may cause one-time disruptions during the upgrade.
168
+ preallocate-bpf-maps: "false"
169
+
170
+ # Name of the cluster. Only relevant when building a mesh of clusters.
171
+ cluster-name: default
172
+ # Unique ID of the cluster. Must be unique across all conneted clusters and
173
+ # in the range of 1 and 255. Only relevant when building a mesh of clusters.
174
+ cluster-id: "0"
175
+
176
+ # Encapsulation mode for communication between nodes
177
+ # Possible values:
178
+ # - disabled
179
+ # - vxlan (default)
180
+ # - geneve
181
+ # Default case
182
+ routing-mode: "tunnel"
183
+ tunnel-protocol: "vxlan"
184
+ service-no-backend-response: "reject"
185
+
186
+
187
+ # Enables L7 proxy for L7 policy enforcement and visibility
188
+ enable-l7-proxy: "true"
189
+
190
+ enable-ipv4-masquerade: "true"
191
+ enable-ipv4-big-tcp: "false"
192
+ enable-ipv6-big-tcp: "false"
193
+ enable-ipv6-masquerade: "true"
194
+ enable-tcx: "true"
195
+ datapath-mode: "veth"
196
+ enable-masquerade-to-route-source: "false"
197
+
198
+ enable-xt-socket-fallback: "true"
199
+ install-no-conntrack-iptables-rules: "false"
200
+
201
+ auto-direct-node-routes: "false"
202
+ direct-routing-skip-unreachable: "false"
203
+ enable-local-redirect-policy: "false"
204
+ enable-runtime-device-detection: "true"
205
+
206
+ kube-proxy-replacement: "true"
207
+ kube-proxy-replacement-healthz-bind-address: ""
208
+ bpf-lb-sock: "false"
209
+ bpf-lb-sock-terminate-pod-connections: "false"
210
+ nodeport-addresses: ""
211
+ enable-health-check-nodeport: "true"
212
+ enable-health-check-loadbalancer-ip: "false"
213
+ node-port-bind-protection: "true"
214
+ enable-auto-protect-node-port-range: "true"
215
+ bpf-lb-acceleration: "disabled"
216
+ enable-svc-source-range-check: "true"
217
+ enable-l2-neigh-discovery: "true"
218
+ arping-refresh-period: "30s"
219
+ k8s-require-ipv4-pod-cidr: "false"
220
+ k8s-require-ipv6-pod-cidr: "false"
221
+ enable-k8s-networkpolicy: "true"
222
+ # Tell the agent to generate and write a CNI configuration file
223
+ write-cni-conf-when-ready: /host/etc/cni/net.d/05-cilium.conflist
224
+ cni-exclusive: "true"
225
+ cni-log-file: "/var/run/cilium/cilium-cni.log"
226
+ enable-endpoint-health-checking: "true"
227
+ enable-health-checking: "true"
228
+ enable-well-known-identities: "false"
229
+ enable-node-selector-labels: "false"
230
+ synchronize-k8s-nodes: "true"
231
+ operator-api-serve-addr: "127.0.0.1:9234"
232
+ # Enable Hubble gRPC service.
233
+ enable-hubble: "true"
234
+ # UNIX domain socket for Hubble server to listen to.
235
+ hubble-socket-path: "/var/run/cilium/hubble.sock"
236
+ hubble-export-file-max-size-mb: "10"
237
+ hubble-export-file-max-backups: "5"
238
+ # An additional address for Hubble server to listen to (e.g. ":4244").
239
+ hubble-listen-address: ":4244"
240
+ hubble-disable-tls: "false"
241
+ hubble-tls-cert-file: /var/lib/cilium/tls/hubble/server.crt
242
+ hubble-tls-key-file: /var/lib/cilium/tls/hubble/server.key
243
+ hubble-tls-client-ca-files: /var/lib/cilium/tls/hubble/client-ca.crt
244
+ ipam: "kubernetes"
245
+ ipam-cilium-node-update-rate: "15s"
246
+ egress-gateway-reconciliation-trigger-interval: "1s"
247
+ enable-vtep: "false"
248
+ vtep-endpoint: ""
249
+ vtep-cidr: ""
250
+ vtep-mask: ""
251
+ vtep-mac: ""
252
+ procfs: "/host/proc"
253
+ bpf-root: "/sys/fs/bpf"
254
+ cgroup-root: "/sys/fs/cgroup"
255
+ enable-k8s-terminating-endpoint: "true"
256
+ enable-sctp: "false"
257
+
258
+ k8s-client-qps: "10"
259
+ k8s-client-burst: "20"
260
+ remove-cilium-node-taints: "true"
261
+ set-cilium-node-taints: "true"
262
+ set-cilium-is-up-condition: "true"
263
+ unmanaged-pod-watcher-interval: "15"
264
+ # default DNS proxy to transparent mode in non-chaining modes
265
+ dnsproxy-enable-transparent-mode: "true"
266
+ dnsproxy-socket-linger-timeout: "10"
267
+ tofqdns-dns-reject-response-code: "refused"
268
+ tofqdns-enable-dns-compression: "true"
269
+ tofqdns-endpoint-max-ip-per-hostname: "50"
270
+ tofqdns-idle-connection-grace-period: "0s"
271
+ tofqdns-max-deferred-connection-deletes: "10000"
272
+ tofqdns-proxy-response-max-delay: "100ms"
273
+ agent-not-ready-taint-key: "node.cilium.io/agent-not-ready"
274
+
275
+ mesh-auth-enabled: "true"
276
+ mesh-auth-queue-size: "1024"
277
+ mesh-auth-rotated-identities-queue-size: "1024"
278
+ mesh-auth-gc-interval: "5m0s"
279
+
280
+ proxy-xff-num-trusted-hops-ingress: "0"
281
+ proxy-xff-num-trusted-hops-egress: "0"
282
+ proxy-connect-timeout: "2"
283
+ proxy-initial-fetch-timeout: "30"
284
+ proxy-max-requests-per-connection: "0"
285
+ proxy-max-connection-duration-seconds: "0"
286
+ proxy-idle-timeout-seconds: "60"
287
+
288
+ external-envoy-proxy: "true"
289
+ envoy-base-id: "0"
290
+
291
+ envoy-keep-cap-netbindservice: "false"
292
+ max-connected-clusters: "255"
293
+ clustermesh-enable-endpoint-sync: "false"
294
+ clustermesh-enable-mcs-api: "false"
295
+
296
+ nat-map-stats-entries: "32"
297
+ nat-map-stats-interval: "30s"
298
+
299
+ # Extra config allows adding arbitrary properties to the cilium config.
300
+ # By putting it at the end of the ConfigMap, it's also possible to override existing properties.
301
+ ---
302
+ # Source: cilium/templates/cilium-envoy/configmap.yaml
303
+ apiVersion: v1
304
+ kind: ConfigMap
305
+ metadata:
306
+ name: cilium-envoy-config
307
+ namespace: kube-system
308
+ data:
309
+ bootstrap-config.json: |
310
+ {
311
+ "node": {
312
+ "id": "host~127.0.0.1~no-id~localdomain",
313
+ "cluster": "ingress-cluster"
314
+ },
315
+ "staticResources": {
316
+ "listeners": [
317
+ {
318
+ "name": "envoy-prometheus-metrics-listener",
319
+ "address": {
320
+ "socket_address": {
321
+ "address": "0.0.0.0",
322
+ "port_value": 9964
323
+ }
324
+ },
325
+ "filter_chains": [
326
+ {
327
+ "filters": [
328
+ {
329
+ "name": "envoy.filters.network.http_connection_manager",
330
+ "typed_config": {
331
+ "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
332
+ "stat_prefix": "envoy-prometheus-metrics-listener",
333
+ "route_config": {
334
+ "virtual_hosts": [
335
+ {
336
+ "name": "prometheus_metrics_route",
337
+ "domains": [
338
+ "*"
339
+ ],
340
+ "routes": [
341
+ {
342
+ "name": "prometheus_metrics_route",
343
+ "match": {
344
+ "prefix": "/metrics"
345
+ },
346
+ "route": {
347
+ "cluster": "/envoy-admin",
348
+ "prefix_rewrite": "/stats/prometheus"
349
+ }
350
+ }
351
+ ]
352
+ }
353
+ ]
354
+ },
355
+ "http_filters": [
356
+ {
357
+ "name": "envoy.filters.http.router",
358
+ "typed_config": {
359
+ "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
360
+ }
361
+ }
362
+ ],
363
+ "stream_idle_timeout": "0s"
364
+ }
365
+ }
366
+ ]
367
+ }
368
+ ]
369
+ },
370
+ {
371
+ "name": "envoy-health-listener",
372
+ "address": {
373
+ "socket_address": {
374
+ "address": "127.0.0.1",
375
+ "port_value": 9878
376
+ }
377
+ },
378
+ "filter_chains": [
379
+ {
380
+ "filters": [
381
+ {
382
+ "name": "envoy.filters.network.http_connection_manager",
383
+ "typed_config": {
384
+ "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
385
+ "stat_prefix": "envoy-health-listener",
386
+ "route_config": {
387
+ "virtual_hosts": [
388
+ {
389
+ "name": "health",
390
+ "domains": [
391
+ "*"
392
+ ],
393
+ "routes": [
394
+ {
395
+ "name": "health",
396
+ "match": {
397
+ "prefix": "/healthz"
398
+ },
399
+ "route": {
400
+ "cluster": "/envoy-admin",
401
+ "prefix_rewrite": "/ready"
402
+ }
403
+ }
404
+ ]
405
+ }
406
+ ]
407
+ },
408
+ "http_filters": [
409
+ {
410
+ "name": "envoy.filters.http.router",
411
+ "typed_config": {
412
+ "@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router"
413
+ }
414
+ }
415
+ ],
416
+ "stream_idle_timeout": "0s"
417
+ }
418
+ }
419
+ ]
420
+ }
421
+ ]
422
+ }
423
+ ],
424
+ "clusters": [
425
+ {
426
+ "name": "ingress-cluster",
427
+ "type": "ORIGINAL_DST",
428
+ "connectTimeout": "2s",
429
+ "lbPolicy": "CLUSTER_PROVIDED",
430
+ "typedExtensionProtocolOptions": {
431
+ "envoy.extensions.upstreams.http.v3.HttpProtocolOptions": {
432
+ "@type": "type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions",
433
+ "commonHttpProtocolOptions": {
434
+ "idleTimeout": "60s",
435
+ "maxConnectionDuration": "0s",
436
+ "maxRequestsPerConnection": 0
437
+ },
438
+ "useDownstreamProtocolConfig": {}
439
+ }
440
+ },
441
+ "cleanupInterval": "2.500s"
442
+ },
443
+ {
444
+ "name": "egress-cluster-tls",
445
+ "type": "ORIGINAL_DST",
446
+ "connectTimeout": "2s",
447
+ "lbPolicy": "CLUSTER_PROVIDED",
448
+ "typedExtensionProtocolOptions": {
449
+ "envoy.extensions.upstreams.http.v3.HttpProtocolOptions": {
450
+ "@type": "type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions",
451
+ "commonHttpProtocolOptions": {
452
+ "idleTimeout": "60s",
453
+ "maxConnectionDuration": "0s",
454
+ "maxRequestsPerConnection": 0
455
+ },
456
+ "upstreamHttpProtocolOptions": {},
457
+ "useDownstreamProtocolConfig": {}
458
+ }
459
+ },
460
+ "cleanupInterval": "2.500s",
461
+ "transportSocket": {
462
+ "name": "cilium.tls_wrapper",
463
+ "typedConfig": {
464
+ "@type": "type.googleapis.com/cilium.UpstreamTlsWrapperContext"
465
+ }
466
+ }
467
+ },
468
+ {
469
+ "name": "egress-cluster",
470
+ "type": "ORIGINAL_DST",
471
+ "connectTimeout": "2s",
472
+ "lbPolicy": "CLUSTER_PROVIDED",
473
+ "typedExtensionProtocolOptions": {
474
+ "envoy.extensions.upstreams.http.v3.HttpProtocolOptions": {
475
+ "@type": "type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions",
476
+ "commonHttpProtocolOptions": {
477
+ "idleTimeout": "60s",
478
+ "maxConnectionDuration": "0s",
479
+ "maxRequestsPerConnection": 0
480
+ },
481
+ "useDownstreamProtocolConfig": {}
482
+ }
483
+ },
484
+ "cleanupInterval": "2.500s"
485
+ },
486
+ {
487
+ "name": "ingress-cluster-tls",
488
+ "type": "ORIGINAL_DST",
489
+ "connectTimeout": "2s",
490
+ "lbPolicy": "CLUSTER_PROVIDED",
491
+ "typedExtensionProtocolOptions": {
492
+ "envoy.extensions.upstreams.http.v3.HttpProtocolOptions": {
493
+ "@type": "type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions",
494
+ "commonHttpProtocolOptions": {
495
+ "idleTimeout": "60s",
496
+ "maxConnectionDuration": "0s",
497
+ "maxRequestsPerConnection": 0
498
+ },
499
+ "upstreamHttpProtocolOptions": {},
500
+ "useDownstreamProtocolConfig": {}
501
+ }
502
+ },
503
+ "cleanupInterval": "2.500s",
504
+ "transportSocket": {
505
+ "name": "cilium.tls_wrapper",
506
+ "typedConfig": {
507
+ "@type": "type.googleapis.com/cilium.UpstreamTlsWrapperContext"
508
+ }
509
+ }
510
+ },
511
+ {
512
+ "name": "xds-grpc-cilium",
513
+ "type": "STATIC",
514
+ "connectTimeout": "2s",
515
+ "loadAssignment": {
516
+ "clusterName": "xds-grpc-cilium",
517
+ "endpoints": [
518
+ {
519
+ "lbEndpoints": [
520
+ {
521
+ "endpoint": {
522
+ "address": {
523
+ "pipe": {
524
+ "path": "/var/run/cilium/envoy/sockets/xds.sock"
525
+ }
526
+ }
527
+ }
528
+ }
529
+ ]
530
+ }
531
+ ]
532
+ },
533
+ "typedExtensionProtocolOptions": {
534
+ "envoy.extensions.upstreams.http.v3.HttpProtocolOptions": {
535
+ "@type": "type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions",
536
+ "explicitHttpConfig": {
537
+ "http2ProtocolOptions": {}
538
+ }
539
+ }
540
+ }
541
+ },
542
+ {
543
+ "name": "/envoy-admin",
544
+ "type": "STATIC",
545
+ "connectTimeout": "2s",
546
+ "loadAssignment": {
547
+ "clusterName": "/envoy-admin",
548
+ "endpoints": [
549
+ {
550
+ "lbEndpoints": [
551
+ {
552
+ "endpoint": {
553
+ "address": {
554
+ "pipe": {
555
+ "path": "/var/run/cilium/envoy/sockets/admin.sock"
556
+ }
557
+ }
558
+ }
559
+ }
560
+ ]
561
+ }
562
+ ]
563
+ }
564
+ }
565
+ ]
566
+ },
567
+ "dynamicResources": {
568
+ "ldsConfig": {
569
+ "initialFetchTimeout": "30s",
570
+ "apiConfigSource": {
571
+ "apiType": "GRPC",
572
+ "transportApiVersion": "V3",
573
+ "grpcServices": [
574
+ {
575
+ "envoyGrpc": {
576
+ "clusterName": "xds-grpc-cilium"
577
+ }
578
+ }
579
+ ],
580
+ "setNodeOnFirstMessageOnly": true
581
+ },
582
+ "resourceApiVersion": "V3"
583
+ },
584
+ "cdsConfig": {
585
+ "initialFetchTimeout": "30s",
586
+ "apiConfigSource": {
587
+ "apiType": "GRPC",
588
+ "transportApiVersion": "V3",
589
+ "grpcServices": [
590
+ {
591
+ "envoyGrpc": {
592
+ "clusterName": "xds-grpc-cilium"
593
+ }
594
+ }
595
+ ],
596
+ "setNodeOnFirstMessageOnly": true
597
+ },
598
+ "resourceApiVersion": "V3"
599
+ }
600
+ },
601
+ "bootstrapExtensions": [
602
+ {
603
+ "name": "envoy.bootstrap.internal_listener",
604
+ "typed_config": {
605
+ "@type": "type.googleapis.com/envoy.extensions.bootstrap.internal_listener.v3.InternalListener"
606
+ }
607
+ }
608
+ ],
609
+ "overload_manager": {
610
+ "resource_monitors": [
611
+ {
612
+ "name": "envoy.resource_monitors.global_downstream_max_connections",
613
+ "typed_config": {
614
+ "@type": "type.googleapis.com/envoy.extensions.resource_monitors.downstream_connections.v3.DownstreamConnectionsConfig",
615
+ "max_active_downstream_connections": "50000"
616
+ }
617
+ }
618
+ ]
619
+ },
620
+ "admin": {
621
+ "address": {
622
+ "pipe": {
623
+ "path": "/var/run/cilium/envoy/sockets/admin.sock"
624
+ }
625
+ }
626
+ }
627
+ }
628
+ ---
629
+ # Source: cilium/templates/hubble-relay/configmap.yaml
630
+ apiVersion: v1
631
+ kind: ConfigMap
632
+ metadata:
633
+ name: hubble-relay-config
634
+ namespace: kube-system
635
+ data:
636
+ config.yaml: |
637
+ cluster-name: default
638
+ peer-service: "hubble-peer.kube-system.svc.cluster.local:443"
639
+ listen-address: :4245
640
+ gops: true
641
+ gops-port: "9893"
642
+ dial-timeout:
643
+ retry-timeout:
644
+ sort-buffer-len-max:
645
+ sort-buffer-drain-timeout:
646
+ tls-hubble-client-cert-file: /var/lib/hubble-relay/tls/client.crt
647
+ tls-hubble-client-key-file: /var/lib/hubble-relay/tls/client.key
648
+ tls-hubble-server-ca-files: /var/lib/hubble-relay/tls/hubble-server-ca.crt
649
+
650
+ disable-server-tls: true
651
+ ---
652
+ # Source: cilium/templates/hubble-ui/configmap.yaml
653
+ apiVersion: v1
654
+ kind: ConfigMap
655
+ metadata:
656
+ name: hubble-ui-nginx
657
+ namespace: kube-system
658
+ data:
659
+ nginx.conf: "server {\n listen 8081;\n listen [::]:8081;\n server_name localhost;\n root /app;\n index index.html;\n client_max_body_size 1G;\n\n location / {\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n\n # CORS\n add_header Access-Control-Allow-Methods \"GET, POST, PUT, HEAD, DELETE, OPTIONS\";\n add_header Access-Control-Allow-Origin *;\n add_header Access-Control-Max-Age 1728000;\n add_header Access-Control-Expose-Headers content-length,grpc-status,grpc-message;\n add_header Access-Control-Allow-Headers range,keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout;\n if ($request_method = OPTIONS) {\n return 204;\n }\n # /CORS\n\n location /api {\n proxy_http_version 1.1;\n proxy_pass_request_headers on;\n proxy_hide_header Access-Control-Allow-Origin;\n proxy_pass http://127.0.0.1:8090;\n }\n location / {\n # double `/index.html` is required here \n try_files $uri $uri/ /index.html /index.html;\n }\n\n # Liveness probe\n location /healthz {\n access_log off;\n add_header Content-Type text/plain;\n return 200 'ok';\n }\n }\n}"
660
+ ---
661
+ # Source: cilium/templates/cilium-agent/clusterrole.yaml
662
+ apiVersion: rbac.authorization.k8s.io/v1
663
+ kind: ClusterRole
664
+ metadata:
665
+ name: cilium
666
+ labels:
667
+ app.kubernetes.io/part-of: cilium
668
+ rules:
669
+ - apiGroups:
670
+ - networking.k8s.io
671
+ resources:
672
+ - networkpolicies
673
+ verbs:
674
+ - get
675
+ - list
676
+ - watch
677
+ - apiGroups:
678
+ - discovery.k8s.io
679
+ resources:
680
+ - endpointslices
681
+ verbs:
682
+ - get
683
+ - list
684
+ - watch
685
+ - apiGroups:
686
+ - ""
687
+ resources:
688
+ - namespaces
689
+ - services
690
+ - pods
691
+ - endpoints
692
+ - nodes
693
+ verbs:
694
+ - get
695
+ - list
696
+ - watch
697
+ - apiGroups:
698
+ - apiextensions.k8s.io
699
+ resources:
700
+ - customresourcedefinitions
701
+ verbs:
702
+ - list
703
+ - watch
704
+ # This is used when validating policies in preflight. This will need to stay
705
+ # until we figure out how to avoid "get" inside the preflight, and then
706
+ # should be removed ideally.
707
+ - get
708
+ - apiGroups:
709
+ - cilium.io
710
+ resources:
711
+ - ciliumloadbalancerippools
712
+ - ciliumbgppeeringpolicies
713
+ - ciliumbgpnodeconfigs
714
+ - ciliumbgpadvertisements
715
+ - ciliumbgppeerconfigs
716
+ - ciliumclusterwideenvoyconfigs
717
+ - ciliumclusterwidenetworkpolicies
718
+ - ciliumegressgatewaypolicies
719
+ - ciliumendpoints
720
+ - ciliumendpointslices
721
+ - ciliumenvoyconfigs
722
+ - ciliumidentities
723
+ - ciliumlocalredirectpolicies
724
+ - ciliumnetworkpolicies
725
+ - ciliumnodes
726
+ - ciliumnodeconfigs
727
+ - ciliumcidrgroups
728
+ - ciliuml2announcementpolicies
729
+ - ciliumpodippools
730
+ verbs:
731
+ - list
732
+ - watch
733
+ - apiGroups:
734
+ - cilium.io
735
+ resources:
736
+ - ciliumidentities
737
+ - ciliumendpoints
738
+ - ciliumnodes
739
+ verbs:
740
+ - create
741
+ - apiGroups:
742
+ - cilium.io
743
+ # To synchronize garbage collection of such resources
744
+ resources:
745
+ - ciliumidentities
746
+ verbs:
747
+ - update
748
+ - apiGroups:
749
+ - cilium.io
750
+ resources:
751
+ - ciliumendpoints
752
+ verbs:
753
+ - delete
754
+ - get
755
+ - apiGroups:
756
+ - cilium.io
757
+ resources:
758
+ - ciliumnodes
759
+ - ciliumnodes/status
760
+ verbs:
761
+ - get
762
+ - update
763
+ - apiGroups:
764
+ - cilium.io
765
+ resources:
766
+ - ciliumendpoints/status
767
+ - ciliumendpoints
768
+ - ciliuml2announcementpolicies/status
769
+ - ciliumbgpnodeconfigs/status
770
+ verbs:
771
+ - patch
772
+ ---
773
+ # Source: cilium/templates/cilium-operator/clusterrole.yaml
774
+ apiVersion: rbac.authorization.k8s.io/v1
775
+ kind: ClusterRole
776
+ metadata:
777
+ name: cilium-operator
778
+ labels:
779
+ app.kubernetes.io/part-of: cilium
780
+ rules:
781
+ - apiGroups:
782
+ - ""
783
+ resources:
784
+ - pods
785
+ verbs:
786
+ - get
787
+ - list
788
+ - watch
789
+ # to automatically delete [core|kube]dns pods so that are starting to being
790
+ # managed by Cilium
791
+ - delete
792
+ - apiGroups:
793
+ - ""
794
+ resources:
795
+ - configmaps
796
+ resourceNames:
797
+ - cilium-config
798
+ verbs:
799
+ # allow patching of the configmap to set annotations
800
+ - patch
801
+ - apiGroups:
802
+ - ""
803
+ resources:
804
+ - nodes
805
+ verbs:
806
+ - list
807
+ - watch
808
+ - apiGroups:
809
+ - ""
810
+ resources:
811
+ # To remove node taints
812
+ - nodes
813
+ # To set NetworkUnavailable false on startup
814
+ - nodes/status
815
+ verbs:
816
+ - patch
817
+ - apiGroups:
818
+ - discovery.k8s.io
819
+ resources:
820
+ - endpointslices
821
+ verbs:
822
+ - get
823
+ - list
824
+ - watch
825
+ - apiGroups:
826
+ - ""
827
+ resources:
828
+ # to perform LB IP allocation for BGP
829
+ - services/status
830
+ verbs:
831
+ - update
832
+ - patch
833
+ - apiGroups:
834
+ - ""
835
+ resources:
836
+ # to check apiserver connectivity
837
+ - namespaces
838
+ verbs:
839
+ - get
840
+ - list
841
+ - watch
842
+ - apiGroups:
843
+ - ""
844
+ resources:
845
+ # to perform the translation of a CNP that contains `ToGroup` to its endpoints
846
+ - services
847
+ - endpoints
848
+ verbs:
849
+ - get
850
+ - list
851
+ - watch
852
+ - apiGroups:
853
+ - cilium.io
854
+ resources:
855
+ - ciliumnetworkpolicies
856
+ - ciliumclusterwidenetworkpolicies
857
+ verbs:
858
+ # Create auto-generated CNPs and CCNPs from Policies that have 'toGroups'
859
+ - create
860
+ - update
861
+ - deletecollection
862
+ # To update the status of the CNPs and CCNPs
863
+ - patch
864
+ - get
865
+ - list
866
+ - watch
867
+ - apiGroups:
868
+ - cilium.io
869
+ resources:
870
+ - ciliumnetworkpolicies/status
871
+ - ciliumclusterwidenetworkpolicies/status
872
+ verbs:
873
+ # Update the auto-generated CNPs and CCNPs status.
874
+ - patch
875
+ - update
876
+ - apiGroups:
877
+ - cilium.io
878
+ resources:
879
+ - ciliumendpoints
880
+ - ciliumidentities
881
+ verbs:
882
+ # To perform garbage collection of such resources
883
+ - delete
884
+ - list
885
+ - watch
886
+ - apiGroups:
887
+ - cilium.io
888
+ resources:
889
+ - ciliumidentities
890
+ verbs:
891
+ # To synchronize garbage collection of such resources
892
+ - update
893
+ - apiGroups:
894
+ - cilium.io
895
+ resources:
896
+ - ciliumnodes
897
+ verbs:
898
+ - create
899
+ - update
900
+ - get
901
+ - list
902
+ - watch
903
+ # To perform CiliumNode garbage collector
904
+ - delete
905
+ - apiGroups:
906
+ - cilium.io
907
+ resources:
908
+ - ciliumnodes/status
909
+ verbs:
910
+ - update
911
+ - apiGroups:
912
+ - cilium.io
913
+ resources:
914
+ - ciliumendpointslices
915
+ - ciliumenvoyconfigs
916
+ - ciliumbgppeerconfigs
917
+ - ciliumbgpadvertisements
918
+ - ciliumbgpnodeconfigs
919
+ verbs:
920
+ - create
921
+ - update
922
+ - get
923
+ - list
924
+ - watch
925
+ - delete
926
+ - patch
927
+ - apiGroups:
928
+ - apiextensions.k8s.io
929
+ resources:
930
+ - customresourcedefinitions
931
+ verbs:
932
+ - create
933
+ - get
934
+ - list
935
+ - watch
936
+ - apiGroups:
937
+ - apiextensions.k8s.io
938
+ resources:
939
+ - customresourcedefinitions
940
+ verbs:
941
+ - update
942
+ resourceNames:
943
+ - ciliumloadbalancerippools.cilium.io
944
+ - ciliumbgppeeringpolicies.cilium.io
945
+ - ciliumbgpclusterconfigs.cilium.io
946
+ - ciliumbgppeerconfigs.cilium.io
947
+ - ciliumbgpadvertisements.cilium.io
948
+ - ciliumbgpnodeconfigs.cilium.io
949
+ - ciliumbgpnodeconfigoverrides.cilium.io
950
+ - ciliumclusterwideenvoyconfigs.cilium.io
951
+ - ciliumclusterwidenetworkpolicies.cilium.io
952
+ - ciliumegressgatewaypolicies.cilium.io
953
+ - ciliumendpoints.cilium.io
954
+ - ciliumendpointslices.cilium.io
955
+ - ciliumenvoyconfigs.cilium.io
956
+ - ciliumexternalworkloads.cilium.io
957
+ - ciliumidentities.cilium.io
958
+ - ciliumlocalredirectpolicies.cilium.io
959
+ - ciliumnetworkpolicies.cilium.io
960
+ - ciliumnodes.cilium.io
961
+ - ciliumnodeconfigs.cilium.io
962
+ - ciliumcidrgroups.cilium.io
963
+ - ciliuml2announcementpolicies.cilium.io
964
+ - ciliumpodippools.cilium.io
965
+ - apiGroups:
966
+ - cilium.io
967
+ resources:
968
+ - ciliumloadbalancerippools
969
+ - ciliumpodippools
970
+ - ciliumbgppeeringpolicies
971
+ - ciliumbgpclusterconfigs
972
+ - ciliumbgpnodeconfigoverrides
973
+ verbs:
974
+ - get
975
+ - list
976
+ - watch
977
+ - apiGroups:
978
+ - cilium.io
979
+ resources:
980
+ - ciliumpodippools
981
+ verbs:
982
+ - create
983
+ - apiGroups:
984
+ - cilium.io
985
+ resources:
986
+ - ciliumloadbalancerippools/status
987
+ verbs:
988
+ - patch
989
+ # For cilium-operator running in HA mode.
990
+ #
991
+ # Cilium operator running in HA mode requires the use of ResourceLock for Leader Election
992
+ # between multiple running instances.
993
+ # The preferred way of doing this is to use LeasesResourceLock as edits to Leases are less
994
+ # common and fewer objects in the cluster watch "all Leases".
995
+ - apiGroups:
996
+ - coordination.k8s.io
997
+ resources:
998
+ - leases
999
+ verbs:
1000
+ - create
1001
+ - get
1002
+ - update
1003
+ ---
1004
+ # Source: cilium/templates/hubble-ui/clusterrole.yaml
1005
+ kind: ClusterRole
1006
+ apiVersion: rbac.authorization.k8s.io/v1
1007
+ metadata:
1008
+ name: hubble-ui
1009
+ labels:
1010
+ app.kubernetes.io/part-of: cilium
1011
+ rules:
1012
+ - apiGroups:
1013
+ - networking.k8s.io
1014
+ resources:
1015
+ - networkpolicies
1016
+ verbs:
1017
+ - get
1018
+ - list
1019
+ - watch
1020
+ - apiGroups:
1021
+ - ""
1022
+ resources:
1023
+ - componentstatuses
1024
+ - endpoints
1025
+ - namespaces
1026
+ - nodes
1027
+ - pods
1028
+ - services
1029
+ verbs:
1030
+ - get
1031
+ - list
1032
+ - watch
1033
+ - apiGroups:
1034
+ - apiextensions.k8s.io
1035
+ resources:
1036
+ - customresourcedefinitions
1037
+ verbs:
1038
+ - get
1039
+ - list
1040
+ - watch
1041
+ - apiGroups:
1042
+ - cilium.io
1043
+ resources:
1044
+ - "*"
1045
+ verbs:
1046
+ - get
1047
+ - list
1048
+ - watch
1049
+ ---
1050
+ # Source: cilium/templates/cilium-agent/clusterrolebinding.yaml
1051
+ apiVersion: rbac.authorization.k8s.io/v1
1052
+ kind: ClusterRoleBinding
1053
+ metadata:
1054
+ name: cilium
1055
+ labels:
1056
+ app.kubernetes.io/part-of: cilium
1057
+ roleRef:
1058
+ apiGroup: rbac.authorization.k8s.io
1059
+ kind: ClusterRole
1060
+ name: cilium
1061
+ subjects:
1062
+ - kind: ServiceAccount
1063
+ name: "cilium"
1064
+ namespace: kube-system
1065
+ ---
1066
+ # Source: cilium/templates/cilium-operator/clusterrolebinding.yaml
1067
+ apiVersion: rbac.authorization.k8s.io/v1
1068
+ kind: ClusterRoleBinding
1069
+ metadata:
1070
+ name: cilium-operator
1071
+ labels:
1072
+ app.kubernetes.io/part-of: cilium
1073
+ roleRef:
1074
+ apiGroup: rbac.authorization.k8s.io
1075
+ kind: ClusterRole
1076
+ name: cilium-operator
1077
+ subjects:
1078
+ - kind: ServiceAccount
1079
+ name: "cilium-operator"
1080
+ namespace: kube-system
1081
+ ---
1082
+ # Source: cilium/templates/hubble-ui/clusterrolebinding.yaml
1083
+ kind: ClusterRoleBinding
1084
+ apiVersion: rbac.authorization.k8s.io/v1
1085
+ metadata:
1086
+ name: hubble-ui
1087
+ labels:
1088
+ app.kubernetes.io/part-of: cilium
1089
+ roleRef:
1090
+ apiGroup: rbac.authorization.k8s.io
1091
+ kind: ClusterRole
1092
+ name: hubble-ui
1093
+ subjects:
1094
+ - kind: ServiceAccount
1095
+ name: "hubble-ui"
1096
+ namespace: kube-system
1097
+ ---
1098
+ # Source: cilium/templates/cilium-agent/role.yaml
1099
+ apiVersion: rbac.authorization.k8s.io/v1
1100
+ kind: Role
1101
+ metadata:
1102
+ name: cilium-config-agent
1103
+ namespace: kube-system
1104
+ labels:
1105
+ app.kubernetes.io/part-of: cilium
1106
+ rules:
1107
+ - apiGroups:
1108
+ - ""
1109
+ resources:
1110
+ - configmaps
1111
+ verbs:
1112
+ - get
1113
+ - list
1114
+ - watch
1115
+ ---
1116
+ # Source: cilium/templates/cilium-agent/rolebinding.yaml
1117
+ apiVersion: rbac.authorization.k8s.io/v1
1118
+ kind: RoleBinding
1119
+ metadata:
1120
+ name: cilium-config-agent
1121
+ namespace: kube-system
1122
+ labels:
1123
+ app.kubernetes.io/part-of: cilium
1124
+ roleRef:
1125
+ apiGroup: rbac.authorization.k8s.io
1126
+ kind: Role
1127
+ name: cilium-config-agent
1128
+ subjects:
1129
+ - kind: ServiceAccount
1130
+ name: "cilium"
1131
+ namespace: kube-system
1132
+ ---
1133
+ # Source: cilium/templates/cilium-envoy/service.yaml
1134
+ apiVersion: v1
1135
+ kind: Service
1136
+ metadata:
1137
+ name: cilium-envoy
1138
+ namespace: kube-system
1139
+ annotations:
1140
+ prometheus.io/scrape: "true"
1141
+ prometheus.io/port: "9964"
1142
+ labels:
1143
+ k8s-app: cilium-envoy
1144
+ app.kubernetes.io/name: cilium-envoy
1145
+ app.kubernetes.io/part-of: cilium
1146
+ io.cilium/app: proxy
1147
+ spec:
1148
+ clusterIP: None
1149
+ type: ClusterIP
1150
+ selector:
1151
+ k8s-app: cilium-envoy
1152
+ ports:
1153
+ - name: envoy-metrics
1154
+ port: 9964
1155
+ protocol: TCP
1156
+ targetPort: envoy-metrics
1157
+ ---
1158
+ # Source: cilium/templates/hubble-relay/service.yaml
1159
+ kind: Service
1160
+ apiVersion: v1
1161
+ metadata:
1162
+ name: hubble-relay
1163
+ namespace: kube-system
1164
+ annotations:
1165
+ labels:
1166
+ k8s-app: hubble-relay
1167
+ app.kubernetes.io/name: hubble-relay
1168
+ app.kubernetes.io/part-of: cilium
1169
+ spec:
1170
+ type: "ClusterIP"
1171
+ selector:
1172
+ k8s-app: hubble-relay
1173
+ ports:
1174
+ - protocol: TCP
1175
+ port: 80
1176
+ targetPort: grpc
1177
+ ---
1178
+ # Source: cilium/templates/hubble-ui/service.yaml
1179
+ kind: Service
1180
+ apiVersion: v1
1181
+ metadata:
1182
+ name: hubble-ui
1183
+ namespace: kube-system
1184
+ labels:
1185
+ k8s-app: hubble-ui
1186
+ app.kubernetes.io/name: hubble-ui
1187
+ app.kubernetes.io/part-of: cilium
1188
+ spec:
1189
+ type: "ClusterIP"
1190
+ selector:
1191
+ k8s-app: hubble-ui
1192
+ ports:
1193
+ - name: http
1194
+ port: 80
1195
+ targetPort: 8081
1196
+ ---
1197
+ # Source: cilium/templates/hubble/peer-service.yaml
1198
+ apiVersion: v1
1199
+ kind: Service
1200
+ metadata:
1201
+ name: hubble-peer
1202
+ namespace: kube-system
1203
+ labels:
1204
+ k8s-app: cilium
1205
+ app.kubernetes.io/part-of: cilium
1206
+ app.kubernetes.io/name: hubble-peer
1207
+ spec:
1208
+ selector:
1209
+ k8s-app: cilium
1210
+ ports:
1211
+ - name: peer-service
1212
+ port: 443
1213
+ protocol: TCP
1214
+ targetPort: 4244
1215
+ internalTrafficPolicy: Local
1216
+ ---
1217
+ # Source: cilium/templates/cilium-agent/daemonset.yaml
1218
+ apiVersion: apps/v1
1219
+ kind: DaemonSet
1220
+ metadata:
1221
+ name: cilium
1222
+ namespace: kube-system
1223
+ labels:
1224
+ k8s-app: cilium
1225
+ app.kubernetes.io/part-of: cilium
1226
+ app.kubernetes.io/name: cilium-agent
1227
+ spec:
1228
+ selector:
1229
+ matchLabels:
1230
+ k8s-app: cilium
1231
+ updateStrategy:
1232
+ rollingUpdate:
1233
+ maxUnavailable: 2
1234
+ type: RollingUpdate
1235
+ template:
1236
+ metadata:
1237
+ annotations:
1238
+ labels:
1239
+ k8s-app: cilium
1240
+ app.kubernetes.io/name: cilium-agent
1241
+ app.kubernetes.io/part-of: cilium
1242
+ spec:
1243
+ securityContext:
1244
+ appArmorProfile:
1245
+ type: Unconfined
1246
+ containers:
1247
+ - name: cilium-agent
1248
+ image: "quay.io/cilium/cilium:v1.16.4@sha256:d55ec38938854133e06739b1af237932b9c4dd4e75e9b7b2ca3acc72540a44bf"
1249
+ imagePullPolicy: IfNotPresent
1250
+ command:
1251
+ - cilium-agent
1252
+ args:
1253
+ - --config-dir=/tmp/cilium/config-map
1254
+ startupProbe:
1255
+ httpGet:
1256
+ host: "127.0.0.1"
1257
+ path: /healthz
1258
+ port: 9879
1259
+ scheme: HTTP
1260
+ httpHeaders:
1261
+ - name: "brief"
1262
+ value: "true"
1263
+ failureThreshold: 105
1264
+ periodSeconds: 2
1265
+ successThreshold: 1
1266
+ initialDelaySeconds: 5
1267
+ livenessProbe:
1268
+ httpGet:
1269
+ host: "127.0.0.1"
1270
+ path: /healthz
1271
+ port: 9879
1272
+ scheme: HTTP
1273
+ httpHeaders:
1274
+ - name: "brief"
1275
+ value: "true"
1276
+ periodSeconds: 30
1277
+ successThreshold: 1
1278
+ failureThreshold: 10
1279
+ timeoutSeconds: 5
1280
+ readinessProbe:
1281
+ httpGet:
1282
+ host: "127.0.0.1"
1283
+ path: /healthz
1284
+ port: 9879
1285
+ scheme: HTTP
1286
+ httpHeaders:
1287
+ - name: "brief"
1288
+ value: "true"
1289
+ periodSeconds: 30
1290
+ successThreshold: 1
1291
+ failureThreshold: 3
1292
+ timeoutSeconds: 5
1293
+ env:
1294
+ - name: K8S_NODE_NAME
1295
+ valueFrom:
1296
+ fieldRef:
1297
+ apiVersion: v1
1298
+ fieldPath: spec.nodeName
1299
+ - name: CILIUM_K8S_NAMESPACE
1300
+ valueFrom:
1301
+ fieldRef:
1302
+ apiVersion: v1
1303
+ fieldPath: metadata.namespace
1304
+ - name: CILIUM_CLUSTERMESH_CONFIG
1305
+ value: /var/lib/cilium/clustermesh/
1306
+ - name: GOMEMLIMIT
1307
+ valueFrom:
1308
+ resourceFieldRef:
1309
+ resource: limits.memory
1310
+ divisor: '1'
1311
+ - name: KUBERNETES_SERVICE_HOST
1312
+ value: "localhost"
1313
+ - name: KUBERNETES_SERVICE_PORT
1314
+ value: "7445"
1315
+ lifecycle:
1316
+ postStart:
1317
+ exec:
1318
+ command:
1319
+ - "bash"
1320
+ - "-c"
1321
+ - |
1322
+ set -o errexit
1323
+ set -o pipefail
1324
+ set -o nounset
1325
+
1326
+ # When running in AWS ENI mode, it's likely that 'aws-node' has
1327
+ # had a chance to install SNAT iptables rules. These can result
1328
+ # in dropped traffic, so we should attempt to remove them.
1329
+ # We do it using a 'postStart' hook since this may need to run
1330
+ # for nodes which might have already been init'ed but may still
1331
+ # have dangling rules. This is safe because there are no
1332
+ # dependencies on anything that is part of the startup script
1333
+ # itself, and can be safely run multiple times per node (e.g. in
1334
+ # case of a restart).
1335
+ if [[ "$(iptables-save | grep -E -c 'AWS-SNAT-CHAIN|AWS-CONNMARK-CHAIN')" != "0" ]];
1336
+ then
1337
+ echo 'Deleting iptables rules created by the AWS CNI VPC plugin'
1338
+ iptables-save | grep -E -v 'AWS-SNAT-CHAIN|AWS-CONNMARK-CHAIN' | iptables-restore
1339
+ fi
1340
+ echo 'Done!'
1341
+
1342
+ preStop:
1343
+ exec:
1344
+ command:
1345
+ - /cni-uninstall.sh
1346
+ securityContext:
1347
+ seLinuxOptions:
1348
+ level: s0
1349
+ type: spc_t
1350
+ capabilities:
1351
+ add:
1352
+ - CHOWN
1353
+ - KILL
1354
+ - NET_ADMIN
1355
+ - NET_RAW
1356
+ - IPC_LOCK
1357
+ - SYS_ADMIN
1358
+ - SYS_RESOURCE
1359
+ - DAC_OVERRIDE
1360
+ - FOWNER
1361
+ - SETGID
1362
+ - SETUID
1363
+ drop:
1364
+ - ALL
1365
+ terminationMessagePolicy: FallbackToLogsOnError
1366
+ volumeMounts:
1367
+ - name: envoy-sockets
1368
+ mountPath: /var/run/cilium/envoy/sockets
1369
+ readOnly: false
1370
+ # Unprivileged containers need to mount /proc/sys/net from the host
1371
+ # to have write access
1372
+ - mountPath: /host/proc/sys/net
1373
+ name: host-proc-sys-net
1374
+ # Unprivileged containers need to mount /proc/sys/kernel from the host
1375
+ # to have write access
1376
+ - mountPath: /host/proc/sys/kernel
1377
+ name: host-proc-sys-kernel
1378
+ - name: bpf-maps
1379
+ mountPath: /sys/fs/bpf
1380
+ # Unprivileged containers can't set mount propagation to bidirectional
1381
+ # in this case we will mount the bpf fs from an init container that
1382
+ # is privileged and set the mount propagation from host to container
1383
+ # in Cilium.
1384
+ mountPropagation: HostToContainer
1385
+ # Check for duplicate mounts before mounting
1386
+ - name: cilium-cgroup
1387
+ mountPath: /sys/fs/cgroup
1388
+ - name: cilium-run
1389
+ mountPath: /var/run/cilium
1390
+ - name: etc-cni-netd
1391
+ mountPath: /host/etc/cni/net.d
1392
+ - name: clustermesh-secrets
1393
+ mountPath: /var/lib/cilium/clustermesh
1394
+ readOnly: true
1395
+ # Needed to be able to load kernel modules
1396
+ - name: lib-modules
1397
+ mountPath: /lib/modules
1398
+ readOnly: true
1399
+ - name: xtables-lock
1400
+ mountPath: /run/xtables.lock
1401
+ - name: hubble-tls
1402
+ mountPath: /var/lib/cilium/tls/hubble
1403
+ readOnly: true
1404
+ - name: tmp
1405
+ mountPath: /tmp
1406
+ initContainers:
1407
+ - name: config
1408
+ image: "quay.io/cilium/cilium:v1.16.4@sha256:d55ec38938854133e06739b1af237932b9c4dd4e75e9b7b2ca3acc72540a44bf"
1409
+ imagePullPolicy: IfNotPresent
1410
+ command:
1411
+ - cilium-dbg
1412
+ - build-config
1413
+ env:
1414
+ - name: K8S_NODE_NAME
1415
+ valueFrom:
1416
+ fieldRef:
1417
+ apiVersion: v1
1418
+ fieldPath: spec.nodeName
1419
+ - name: CILIUM_K8S_NAMESPACE
1420
+ valueFrom:
1421
+ fieldRef:
1422
+ apiVersion: v1
1423
+ fieldPath: metadata.namespace
1424
+ - name: KUBERNETES_SERVICE_HOST
1425
+ value: "localhost"
1426
+ - name: KUBERNETES_SERVICE_PORT
1427
+ value: "7445"
1428
+ volumeMounts:
1429
+ - name: tmp
1430
+ mountPath: /tmp
1431
+ terminationMessagePolicy: FallbackToLogsOnError
1432
+ - name: apply-sysctl-overwrites
1433
+ image: "quay.io/cilium/cilium:v1.16.4@sha256:d55ec38938854133e06739b1af237932b9c4dd4e75e9b7b2ca3acc72540a44bf"
1434
+ imagePullPolicy: IfNotPresent
1435
+ env:
1436
+ - name: BIN_PATH
1437
+ value: /opt/cni/bin
1438
+ command:
1439
+ - sh
1440
+ - -ec
1441
+ # The statically linked Go program binary is invoked to avoid any
1442
+ # dependency on utilities like sh that can be missing on certain
1443
+ # distros installed on the underlying host. Copy the binary to the
1444
+ # same directory where we install cilium cni plugin so that exec permissions
1445
+ # are available.
1446
+ - |
1447
+ cp /usr/bin/cilium-sysctlfix /hostbin/cilium-sysctlfix;
1448
+ nsenter --mount=/hostproc/1/ns/mnt "${BIN_PATH}/cilium-sysctlfix";
1449
+ rm /hostbin/cilium-sysctlfix
1450
+ volumeMounts:
1451
+ - name: hostproc
1452
+ mountPath: /hostproc
1453
+ - name: cni-path
1454
+ mountPath: /hostbin
1455
+ terminationMessagePolicy: FallbackToLogsOnError
1456
+ securityContext:
1457
+ seLinuxOptions:
1458
+ level: s0
1459
+ type: spc_t
1460
+ capabilities:
1461
+ add:
1462
+ - SYS_ADMIN
1463
+ - SYS_CHROOT
1464
+ - SYS_PTRACE
1465
+ drop:
1466
+ - ALL
1467
+ # Mount the bpf fs if it is not mounted. We will perform this task
1468
+ # from a privileged container because the mount propagation bidirectional
1469
+ # only works from privileged containers.
1470
+ - name: mount-bpf-fs
1471
+ image: "quay.io/cilium/cilium:v1.16.4@sha256:d55ec38938854133e06739b1af237932b9c4dd4e75e9b7b2ca3acc72540a44bf"
1472
+ imagePullPolicy: IfNotPresent
1473
+ args:
1474
+ - 'mount | grep "/sys/fs/bpf type bpf" || mount -t bpf bpf /sys/fs/bpf'
1475
+ command:
1476
+ - /bin/bash
1477
+ - -c
1478
+ - --
1479
+ terminationMessagePolicy: FallbackToLogsOnError
1480
+ securityContext:
1481
+ privileged: true
1482
+ volumeMounts:
1483
+ - name: bpf-maps
1484
+ mountPath: /sys/fs/bpf
1485
+ mountPropagation: Bidirectional
1486
+ - name: clean-cilium-state
1487
+ image: "quay.io/cilium/cilium:v1.16.4@sha256:d55ec38938854133e06739b1af237932b9c4dd4e75e9b7b2ca3acc72540a44bf"
1488
+ imagePullPolicy: IfNotPresent
1489
+ command:
1490
+ - /init-container.sh
1491
+ env:
1492
+ - name: CILIUM_ALL_STATE
1493
+ valueFrom:
1494
+ configMapKeyRef:
1495
+ name: cilium-config
1496
+ key: clean-cilium-state
1497
+ optional: true
1498
+ - name: CILIUM_BPF_STATE
1499
+ valueFrom:
1500
+ configMapKeyRef:
1501
+ name: cilium-config
1502
+ key: clean-cilium-bpf-state
1503
+ optional: true
1504
+ - name: WRITE_CNI_CONF_WHEN_READY
1505
+ valueFrom:
1506
+ configMapKeyRef:
1507
+ name: cilium-config
1508
+ key: write-cni-conf-when-ready
1509
+ optional: true
1510
+ - name: KUBERNETES_SERVICE_HOST
1511
+ value: "localhost"
1512
+ - name: KUBERNETES_SERVICE_PORT
1513
+ value: "7445"
1514
+ terminationMessagePolicy: FallbackToLogsOnError
1515
+ securityContext:
1516
+ seLinuxOptions:
1517
+ level: s0
1518
+ type: spc_t
1519
+ capabilities:
1520
+ add:
1521
+ - NET_ADMIN
1522
+ - SYS_ADMIN
1523
+ - SYS_RESOURCE
1524
+ drop:
1525
+ - ALL
1526
+ volumeMounts:
1527
+ - name: bpf-maps
1528
+ mountPath: /sys/fs/bpf
1529
+ # Required to mount cgroup filesystem from the host to cilium agent pod
1530
+ - name: cilium-cgroup
1531
+ mountPath: /sys/fs/cgroup
1532
+ mountPropagation: HostToContainer
1533
+ - name: cilium-run
1534
+ mountPath: /var/run/cilium # wait-for-kube-proxy
1535
+ # Install the CNI binaries in an InitContainer so we don't have a writable host mount in the agent
1536
+ - name: install-cni-binaries
1537
+ image: "quay.io/cilium/cilium:v1.16.4@sha256:d55ec38938854133e06739b1af237932b9c4dd4e75e9b7b2ca3acc72540a44bf"
1538
+ imagePullPolicy: IfNotPresent
1539
+ command:
1540
+ - "/install-plugin.sh"
1541
+ resources:
1542
+ requests:
1543
+ cpu: 100m
1544
+ memory: 10Mi
1545
+ securityContext:
1546
+ seLinuxOptions:
1547
+ level: s0
1548
+ type: spc_t
1549
+ capabilities:
1550
+ drop:
1551
+ - ALL
1552
+ terminationMessagePolicy: FallbackToLogsOnError
1553
+ volumeMounts:
1554
+ - name: cni-path
1555
+ mountPath: /host/opt/cni/bin # .Values.cni.install
1556
+ restartPolicy: Always
1557
+ priorityClassName: system-node-critical
1558
+ serviceAccountName: "cilium"
1559
+ automountServiceAccountToken: true
1560
+ terminationGracePeriodSeconds: 1
1561
+ hostNetwork: true
1562
+ affinity:
1563
+ podAntiAffinity:
1564
+ requiredDuringSchedulingIgnoredDuringExecution:
1565
+ - labelSelector:
1566
+ matchLabels:
1567
+ k8s-app: cilium
1568
+ topologyKey: kubernetes.io/hostname
1569
+ nodeSelector:
1570
+ kubernetes.io/os: linux
1571
+ tolerations:
1572
+ - operator: Exists
1573
+ volumes:
1574
+ # For sharing configuration between the "config" initContainer and the agent
1575
+ - name: tmp
1576
+ emptyDir: {}
1577
+ # To keep state between restarts / upgrades
1578
+ - name: cilium-run
1579
+ hostPath:
1580
+ path: /var/run/cilium
1581
+ type: DirectoryOrCreate
1582
+ # To keep state between restarts / upgrades for bpf maps
1583
+ - name: bpf-maps
1584
+ hostPath:
1585
+ path: /sys/fs/bpf
1586
+ type: DirectoryOrCreate
1587
+ # To mount cgroup2 filesystem on the host or apply sysctlfix
1588
+ - name: hostproc
1589
+ hostPath:
1590
+ path: /proc
1591
+ type: Directory
1592
+ # To keep state between restarts / upgrades for cgroup2 filesystem
1593
+ - name: cilium-cgroup
1594
+ hostPath:
1595
+ path: /sys/fs/cgroup
1596
+ type: DirectoryOrCreate
1597
+ # To install cilium cni plugin in the host
1598
+ - name: cni-path
1599
+ hostPath:
1600
+ path: /opt/cni/bin
1601
+ type: DirectoryOrCreate
1602
+ # To install cilium cni configuration in the host
1603
+ - name: etc-cni-netd
1604
+ hostPath:
1605
+ path: /etc/cni/net.d
1606
+ type: DirectoryOrCreate
1607
+ # To be able to load kernel modules
1608
+ - name: lib-modules
1609
+ hostPath:
1610
+ path: /lib/modules
1611
+ # To access iptables concurrently with other processes (e.g. kube-proxy)
1612
+ - name: xtables-lock
1613
+ hostPath:
1614
+ path: /run/xtables.lock
1615
+ type: FileOrCreate
1616
+ # Sharing socket with Cilium Envoy on the same node by using a host path
1617
+ - name: envoy-sockets
1618
+ hostPath:
1619
+ path: "/var/run/cilium/envoy/sockets"
1620
+ type: DirectoryOrCreate
1621
+ # To read the clustermesh configuration
1622
+ - name: clustermesh-secrets
1623
+ projected:
1624
+ # note: the leading zero means this number is in octal representation: do not remove it
1625
+ defaultMode: 0400
1626
+ sources:
1627
+ - secret:
1628
+ name: cilium-clustermesh
1629
+ optional: true
1630
+ # note: items are not explicitly listed here, since the entries of this secret
1631
+ # depend on the peers configured, and that would cause a restart of all agents
1632
+ # at every addition/removal. Leaving the field empty makes each secret entry
1633
+ # to be automatically projected into the volume as a file whose name is the key.
1634
+ - secret:
1635
+ name: clustermesh-apiserver-remote-cert
1636
+ optional: true
1637
+ items:
1638
+ - key: tls.key
1639
+ path: common-etcd-client.key
1640
+ - key: tls.crt
1641
+ path: common-etcd-client.crt
1642
+ - key: ca.crt
1643
+ path: common-etcd-client-ca.crt
1644
+ # note: we configure the volume for the kvstoremesh-specific certificate
1645
+ # regardless of whether KVStoreMesh is enabled or not, so that it can be
1646
+ # automatically mounted in case KVStoreMesh gets subsequently enabled,
1647
+ # without requiring an agent restart.
1648
+ - secret:
1649
+ name: clustermesh-apiserver-local-cert
1650
+ optional: true
1651
+ items:
1652
+ - key: tls.key
1653
+ path: local-etcd-client.key
1654
+ - key: tls.crt
1655
+ path: local-etcd-client.crt
1656
+ - key: ca.crt
1657
+ path: local-etcd-client-ca.crt
1658
+ - name: host-proc-sys-net
1659
+ hostPath:
1660
+ path: /proc/sys/net
1661
+ type: Directory
1662
+ - name: host-proc-sys-kernel
1663
+ hostPath:
1664
+ path: /proc/sys/kernel
1665
+ type: Directory
1666
+ - name: hubble-tls
1667
+ projected:
1668
+ # note: the leading zero means this number is in octal representation: do not remove it
1669
+ defaultMode: 0400
1670
+ sources:
1671
+ - secret:
1672
+ name: hubble-server-certs
1673
+ optional: true
1674
+ items:
1675
+ - key: tls.crt
1676
+ path: server.crt
1677
+ - key: tls.key
1678
+ path: server.key
1679
+ - key: ca.crt
1680
+ path: client-ca.crt
1681
+ ---
1682
+ # Source: cilium/templates/cilium-envoy/daemonset.yaml
1683
+ apiVersion: apps/v1
1684
+ kind: DaemonSet
1685
+ metadata:
1686
+ name: cilium-envoy
1687
+ namespace: kube-system
1688
+ labels:
1689
+ k8s-app: cilium-envoy
1690
+ app.kubernetes.io/part-of: cilium
1691
+ app.kubernetes.io/name: cilium-envoy
1692
+ name: cilium-envoy
1693
+ spec:
1694
+ selector:
1695
+ matchLabels:
1696
+ k8s-app: cilium-envoy
1697
+ updateStrategy:
1698
+ rollingUpdate:
1699
+ maxUnavailable: 2
1700
+ type: RollingUpdate
1701
+ template:
1702
+ metadata:
1703
+ annotations:
1704
+ labels:
1705
+ k8s-app: cilium-envoy
1706
+ name: cilium-envoy
1707
+ app.kubernetes.io/name: cilium-envoy
1708
+ app.kubernetes.io/part-of: cilium
1709
+ spec:
1710
+ securityContext:
1711
+ appArmorProfile:
1712
+ type: Unconfined
1713
+ containers:
1714
+ - name: cilium-envoy
1715
+ image: "quay.io/cilium/cilium-envoy:v1.30.7-1731393961-97edc2815e2c6a174d3d12e71731d54f5d32ea16@sha256:0287b36f70cfbdf54f894160082f4f94d1ee1fb10389f3a95baa6c8e448586ed"
1716
+ imagePullPolicy: IfNotPresent
1717
+ command:
1718
+ - /usr/bin/cilium-envoy-starter
1719
+ args:
1720
+ - '--'
1721
+ - '-c /var/run/cilium/envoy/bootstrap-config.json'
1722
+ - '--base-id 0'
1723
+ - '--log-level info'
1724
+ - '--log-format [%Y-%m-%d %T.%e][%t][%l][%n] [%g:%#] %v'
1725
+ startupProbe:
1726
+ httpGet:
1727
+ host: "127.0.0.1"
1728
+ path: /healthz
1729
+ port: 9878
1730
+ scheme: HTTP
1731
+ failureThreshold: 105
1732
+ periodSeconds: 2
1733
+ successThreshold: 1
1734
+ initialDelaySeconds: 5
1735
+ livenessProbe:
1736
+ httpGet:
1737
+ host: "127.0.0.1"
1738
+ path: /healthz
1739
+ port: 9878
1740
+ scheme: HTTP
1741
+ periodSeconds: 30
1742
+ successThreshold: 1
1743
+ failureThreshold: 10
1744
+ timeoutSeconds: 5
1745
+ readinessProbe:
1746
+ httpGet:
1747
+ host: "127.0.0.1"
1748
+ path: /healthz
1749
+ port: 9878
1750
+ scheme: HTTP
1751
+ periodSeconds: 30
1752
+ successThreshold: 1
1753
+ failureThreshold: 3
1754
+ timeoutSeconds: 5
1755
+ env:
1756
+ - name: K8S_NODE_NAME
1757
+ valueFrom:
1758
+ fieldRef:
1759
+ apiVersion: v1
1760
+ fieldPath: spec.nodeName
1761
+ - name: CILIUM_K8S_NAMESPACE
1762
+ valueFrom:
1763
+ fieldRef:
1764
+ apiVersion: v1
1765
+ fieldPath: metadata.namespace
1766
+ - name: KUBERNETES_SERVICE_HOST
1767
+ value: "localhost"
1768
+ - name: KUBERNETES_SERVICE_PORT
1769
+ value: "7445"
1770
+ ports:
1771
+ - name: envoy-metrics
1772
+ containerPort: 9964
1773
+ hostPort: 9964
1774
+ protocol: TCP
1775
+ securityContext:
1776
+ seLinuxOptions:
1777
+ level: s0
1778
+ type: spc_t
1779
+ capabilities:
1780
+ add:
1781
+ - NET_ADMIN
1782
+ - SYS_ADMIN
1783
+ drop:
1784
+ - ALL
1785
+ terminationMessagePolicy: FallbackToLogsOnError
1786
+ volumeMounts:
1787
+ - name: envoy-sockets
1788
+ mountPath: /var/run/cilium/envoy/sockets
1789
+ readOnly: false
1790
+ - name: envoy-artifacts
1791
+ mountPath: /var/run/cilium/envoy/artifacts
1792
+ readOnly: true
1793
+ - name: envoy-config
1794
+ mountPath: /var/run/cilium/envoy/
1795
+ readOnly: true
1796
+ - name: bpf-maps
1797
+ mountPath: /sys/fs/bpf
1798
+ mountPropagation: HostToContainer
1799
+ restartPolicy: Always
1800
+ priorityClassName: system-node-critical
1801
+ serviceAccountName: "cilium-envoy"
1802
+ automountServiceAccountToken: true
1803
+ terminationGracePeriodSeconds: 1
1804
+ hostNetwork: true
1805
+ affinity:
1806
+ nodeAffinity:
1807
+ requiredDuringSchedulingIgnoredDuringExecution:
1808
+ nodeSelectorTerms:
1809
+ - matchExpressions:
1810
+ - key: cilium.io/no-schedule
1811
+ operator: NotIn
1812
+ values:
1813
+ - "true"
1814
+ podAffinity:
1815
+ requiredDuringSchedulingIgnoredDuringExecution:
1816
+ - labelSelector:
1817
+ matchLabels:
1818
+ k8s-app: cilium
1819
+ topologyKey: kubernetes.io/hostname
1820
+ podAntiAffinity:
1821
+ requiredDuringSchedulingIgnoredDuringExecution:
1822
+ - labelSelector:
1823
+ matchLabels:
1824
+ k8s-app: cilium-envoy
1825
+ topologyKey: kubernetes.io/hostname
1826
+ nodeSelector:
1827
+ kubernetes.io/os: linux
1828
+ tolerations:
1829
+ - operator: Exists
1830
+ volumes:
1831
+ - name: envoy-sockets
1832
+ hostPath:
1833
+ path: "/var/run/cilium/envoy/sockets"
1834
+ type: DirectoryOrCreate
1835
+ - name: envoy-artifacts
1836
+ hostPath:
1837
+ path: "/var/run/cilium/envoy/artifacts"
1838
+ type: DirectoryOrCreate
1839
+ - name: envoy-config
1840
+ configMap:
1841
+ name: cilium-envoy-config
1842
+ # note: the leading zero means this number is in octal representation: do not remove it
1843
+ defaultMode: 0400
1844
+ items:
1845
+ - key: bootstrap-config.json
1846
+ path: bootstrap-config.json
1847
+ # To keep state between restarts / upgrades
1848
+ # To keep state between restarts / upgrades for bpf maps
1849
+ - name: bpf-maps
1850
+ hostPath:
1851
+ path: /sys/fs/bpf
1852
+ type: DirectoryOrCreate
1853
+ ---
1854
+ # Source: cilium/templates/cilium-operator/deployment.yaml
1855
+ apiVersion: apps/v1
1856
+ kind: Deployment
1857
+ metadata:
1858
+ name: cilium-operator
1859
+ namespace: kube-system
1860
+ labels:
1861
+ io.cilium/app: operator
1862
+ name: cilium-operator
1863
+ app.kubernetes.io/part-of: cilium
1864
+ app.kubernetes.io/name: cilium-operator
1865
+ spec:
1866
+ # See docs on ServerCapabilities.LeasesResourceLock in file pkg/k8s/version/version.go
1867
+ # for more details.
1868
+ replicas: 1
1869
+ selector:
1870
+ matchLabels:
1871
+ io.cilium/app: operator
1872
+ name: cilium-operator
1873
+ # ensure operator update on single node k8s clusters, by using rolling update with maxUnavailable=100% in case
1874
+ # of one replica and no user configured Recreate strategy.
1875
+ # otherwise an update might get stuck due to the default maxUnavailable=50% in combination with the
1876
+ # podAntiAffinity which prevents deployments of multiple operator replicas on the same node.
1877
+ strategy:
1878
+ rollingUpdate:
1879
+ maxSurge: 25%
1880
+ maxUnavailable: 100%
1881
+ type: RollingUpdate
1882
+ template:
1883
+ metadata:
1884
+ annotations:
1885
+ prometheus.io/port: "9963"
1886
+ prometheus.io/scrape: "true"
1887
+ labels:
1888
+ io.cilium/app: operator
1889
+ name: cilium-operator
1890
+ app.kubernetes.io/part-of: cilium
1891
+ app.kubernetes.io/name: cilium-operator
1892
+ spec:
1893
+ containers:
1894
+ - name: cilium-operator
1895
+ image: "quay.io/cilium/operator-generic:v1.16.4@sha256:c55a7cbe19fe0b6b28903a085334edb586a3201add9db56d2122c8485f7a51c5"
1896
+ imagePullPolicy: IfNotPresent
1897
+ command:
1898
+ - cilium-operator-generic
1899
+ args:
1900
+ - --config-dir=/tmp/cilium/config-map
1901
+ - --debug=$(CILIUM_DEBUG)
1902
+ env:
1903
+ - name: K8S_NODE_NAME
1904
+ valueFrom:
1905
+ fieldRef:
1906
+ apiVersion: v1
1907
+ fieldPath: spec.nodeName
1908
+ - name: CILIUM_K8S_NAMESPACE
1909
+ valueFrom:
1910
+ fieldRef:
1911
+ apiVersion: v1
1912
+ fieldPath: metadata.namespace
1913
+ - name: CILIUM_DEBUG
1914
+ valueFrom:
1915
+ configMapKeyRef:
1916
+ key: debug
1917
+ name: cilium-config
1918
+ optional: true
1919
+ - name: KUBERNETES_SERVICE_HOST
1920
+ value: "localhost"
1921
+ - name: KUBERNETES_SERVICE_PORT
1922
+ value: "7445"
1923
+ ports:
1924
+ - name: prometheus
1925
+ containerPort: 9963
1926
+ hostPort: 9963
1927
+ protocol: TCP
1928
+ livenessProbe:
1929
+ httpGet:
1930
+ host: "127.0.0.1"
1931
+ path: /healthz
1932
+ port: 9234
1933
+ scheme: HTTP
1934
+ initialDelaySeconds: 60
1935
+ periodSeconds: 10
1936
+ timeoutSeconds: 3
1937
+ readinessProbe:
1938
+ httpGet:
1939
+ host: "127.0.0.1"
1940
+ path: /healthz
1941
+ port: 9234
1942
+ scheme: HTTP
1943
+ initialDelaySeconds: 0
1944
+ periodSeconds: 5
1945
+ timeoutSeconds: 3
1946
+ failureThreshold: 5
1947
+ volumeMounts:
1948
+ - name: cilium-config-path
1949
+ mountPath: /tmp/cilium/config-map
1950
+ readOnly: true
1951
+ terminationMessagePolicy: FallbackToLogsOnError
1952
+ hostNetwork: true
1953
+ restartPolicy: Always
1954
+ priorityClassName: system-cluster-critical
1955
+ serviceAccountName: "cilium-operator"
1956
+ automountServiceAccountToken: true
1957
+ # In HA mode, cilium-operator pods must not be scheduled on the same
1958
+ # node as they will clash with each other.
1959
+ affinity:
1960
+ podAntiAffinity:
1961
+ requiredDuringSchedulingIgnoredDuringExecution:
1962
+ - labelSelector:
1963
+ matchLabels:
1964
+ io.cilium/app: operator
1965
+ topologyKey: kubernetes.io/hostname
1966
+ nodeSelector:
1967
+ kubernetes.io/os: linux
1968
+ tolerations:
1969
+ - operator: Exists
1970
+ volumes:
1971
+ # To read the configuration from the config map
1972
+ - name: cilium-config-path
1973
+ configMap:
1974
+ name: cilium-config
1975
+ ---
1976
+ # Source: cilium/templates/hubble-relay/deployment.yaml
1977
+ apiVersion: apps/v1
1978
+ kind: Deployment
1979
+ metadata:
1980
+ name: hubble-relay
1981
+ namespace: kube-system
1982
+ labels:
1983
+ k8s-app: hubble-relay
1984
+ app.kubernetes.io/name: hubble-relay
1985
+ app.kubernetes.io/part-of: cilium
1986
+ spec:
1987
+ replicas: 1
1988
+ selector:
1989
+ matchLabels:
1990
+ k8s-app: hubble-relay
1991
+ strategy:
1992
+ rollingUpdate:
1993
+ maxUnavailable: 1
1994
+ type: RollingUpdate
1995
+ template:
1996
+ metadata:
1997
+ annotations:
1998
+ labels:
1999
+ k8s-app: hubble-relay
2000
+ app.kubernetes.io/name: hubble-relay
2001
+ app.kubernetes.io/part-of: cilium
2002
+ spec:
2003
+ securityContext:
2004
+ fsGroup: 65532
2005
+ containers:
2006
+ - name: hubble-relay
2007
+ securityContext:
2008
+ capabilities:
2009
+ drop:
2010
+ - ALL
2011
+ runAsGroup: 65532
2012
+ runAsNonRoot: true
2013
+ runAsUser: 65532
2014
+ image: "quay.io/cilium/hubble-relay:v1.16.4@sha256:fb2c7d127a1c809f6ba23c05973f3dd00f6b6a48e4aee2da95db925a4f0351d2"
2015
+ imagePullPolicy: IfNotPresent
2016
+ command:
2017
+ - hubble-relay
2018
+ args:
2019
+ - serve
2020
+ ports:
2021
+ - name: grpc
2022
+ containerPort: 4245
2023
+ readinessProbe:
2024
+ grpc:
2025
+ port: 4222
2026
+ timeoutSeconds: 3
2027
+ # livenessProbe will kill the pod, we should be very conservative
2028
+ # here on failures since killing the pod should be a last resort, and
2029
+ # we should provide enough time for relay to retry before killing it.
2030
+ livenessProbe:
2031
+ grpc:
2032
+ port: 4222
2033
+ timeoutSeconds: 10
2034
+ # Give relay time to establish connections and make a few retries
2035
+ # before starting livenessProbes.
2036
+ initialDelaySeconds: 10
2037
+ # 10 second * 12 failures = 2 minutes of failure.
2038
+ # If relay cannot become healthy after 2 minutes, then killing it
2039
+ # might resolve whatever issue is occurring.
2040
+ #
2041
+ # 10 seconds is a reasonable retry period so we can see if it's
2042
+ # failing regularly or only sporadically.
2043
+ periodSeconds: 10
2044
+ failureThreshold: 12
2045
+ startupProbe:
2046
+ grpc:
2047
+ port: 4222
2048
+ # Give relay time to get it's certs and establish connections and
2049
+ # make a few retries before starting startupProbes.
2050
+ initialDelaySeconds: 10
2051
+ # 20 * 3 seconds = 1 minute of failure before we consider startup as failed.
2052
+ failureThreshold: 20
2053
+ # Retry more frequently at startup so that it can be considered started more quickly.
2054
+ periodSeconds: 3
2055
+ volumeMounts:
2056
+ - name: config
2057
+ mountPath: /etc/hubble-relay
2058
+ readOnly: true
2059
+ - name: tls
2060
+ mountPath: /var/lib/hubble-relay/tls
2061
+ readOnly: true
2062
+ terminationMessagePolicy: FallbackToLogsOnError
2063
+
2064
+ restartPolicy: Always
2065
+ priorityClassName:
2066
+ serviceAccountName: "hubble-relay"
2067
+ automountServiceAccountToken: false
2068
+ terminationGracePeriodSeconds: 1
2069
+ affinity:
2070
+ podAffinity:
2071
+ requiredDuringSchedulingIgnoredDuringExecution:
2072
+ - labelSelector:
2073
+ matchLabels:
2074
+ k8s-app: cilium
2075
+ topologyKey: kubernetes.io/hostname
2076
+ nodeSelector:
2077
+ kubernetes.io/os: linux
2078
+ volumes:
2079
+ - name: config
2080
+ configMap:
2081
+ name: hubble-relay-config
2082
+ items:
2083
+ - key: config.yaml
2084
+ path: config.yaml
2085
+ - name: tls
2086
+ projected:
2087
+ # note: the leading zero means this number is in octal representation: do not remove it
2088
+ defaultMode: 0400
2089
+ sources:
2090
+ - secret:
2091
+ name: hubble-relay-client-certs
2092
+ items:
2093
+ - key: tls.crt
2094
+ path: client.crt
2095
+ - key: tls.key
2096
+ path: client.key
2097
+ - key: ca.crt
2098
+ path: hubble-server-ca.crt
2099
+ ---
2100
+ # Source: cilium/templates/hubble-ui/deployment.yaml
2101
+ kind: Deployment
2102
+ apiVersion: apps/v1
2103
+ metadata:
2104
+ name: hubble-ui
2105
+ namespace: kube-system
2106
+ labels:
2107
+ k8s-app: hubble-ui
2108
+ app.kubernetes.io/name: hubble-ui
2109
+ app.kubernetes.io/part-of: cilium
2110
+ spec:
2111
+ replicas: 1
2112
+ selector:
2113
+ matchLabels:
2114
+ k8s-app: hubble-ui
2115
+ strategy:
2116
+ rollingUpdate:
2117
+ maxUnavailable: 1
2118
+ type: RollingUpdate
2119
+ template:
2120
+ metadata:
2121
+ annotations:
2122
+ labels:
2123
+ k8s-app: hubble-ui
2124
+ app.kubernetes.io/name: hubble-ui
2125
+ app.kubernetes.io/part-of: cilium
2126
+ spec:
2127
+ securityContext:
2128
+ fsGroup: 1001
2129
+ runAsGroup: 1001
2130
+ runAsUser: 1001
2131
+ priorityClassName:
2132
+ serviceAccountName: "hubble-ui"
2133
+ automountServiceAccountToken: true
2134
+ containers:
2135
+ - name: frontend
2136
+ image: "quay.io/cilium/hubble-ui:v0.13.1@sha256:e2e9313eb7caf64b0061d9da0efbdad59c6c461f6ca1752768942bfeda0796c6"
2137
+ imagePullPolicy: IfNotPresent
2138
+ ports:
2139
+ - name: http
2140
+ containerPort: 8081
2141
+ livenessProbe:
2142
+ httpGet:
2143
+ path: /healthz
2144
+ port: 8081
2145
+ readinessProbe:
2146
+ httpGet:
2147
+ path: /
2148
+ port: 8081
2149
+ volumeMounts:
2150
+ - name: hubble-ui-nginx-conf
2151
+ mountPath: /etc/nginx/conf.d/default.conf
2152
+ subPath: nginx.conf
2153
+ - name: tmp-dir
2154
+ mountPath: /tmp
2155
+ terminationMessagePolicy: FallbackToLogsOnError
2156
+ - name: backend
2157
+ image: "quay.io/cilium/hubble-ui-backend:v0.13.1@sha256:0e0eed917653441fded4e7cdb096b7be6a3bddded5a2dd10812a27b1fc6ed95b"
2158
+ imagePullPolicy: IfNotPresent
2159
+ env:
2160
+ - name: EVENTS_SERVER_PORT
2161
+ value: "8090"
2162
+ - name: FLOWS_API_ADDR
2163
+ value: "hubble-relay:80"
2164
+ ports:
2165
+ - name: grpc
2166
+ containerPort: 8090
2167
+ volumeMounts:
2168
+ terminationMessagePolicy: FallbackToLogsOnError
2169
+ nodeSelector:
2170
+ kubernetes.io/os: linux
2171
+ volumes:
2172
+ - configMap:
2173
+ defaultMode: 420
2174
+ name: hubble-ui-nginx
2175
+ name: hubble-ui-nginx-conf
2176
+ - emptyDir: {}
2177
+ name: tmp-dir