apiVersion: v1 kind: Namespace metadata: name: dgs-system --- apiVersion: v1 kind: ServiceAccount metadata: name: azuregamingcontroller-sa namespace: dgs-system --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: azuregamingcontroller-rbac subjects: - kind: ServiceAccount # Reference to upper's `metadata.name` name: azuregamingcontroller-sa # Reference to upper's `metadata.namespace` namespace: dgs-system roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io --- apiVersion: apps/v1 kind: Deployment metadata: name: aks-gaming-apiserver namespace: dgs-system labels: name: aks-gaming-apiserver spec: selector: matchLabels: name: aks-gaming-apiserver strategy: type: RollingUpdate replicas: 1 template: metadata: labels: name: aks-gaming-apiserver spec: serviceAccountName: azuregamingcontroller-sa containers: - name: aks-gaming-apiserver image: docker.io/dgkanatsios/aks_gaming_apiserver:0.0.47 args: ["./apiserver","--port","8000"] imagePullPolicy: Always resources: limits: cpu: 50m memory: 30Mi requests: cpu: 50m memory: 20Mi ports: - containerPort: 8000 protocol: TCP volumeMounts: - name: certificate mountPath: "/certificate" readOnly: true volumes: - name: certificate secret: secretName: aks-gaming-certificate --- apiVersion: apps/v1 kind: Deployment metadata: name: aks-gaming-controller namespace: dgs-system labels: name: aks-gaming-controller spec: selector: matchLabels: name: aks-gaming-controller strategy: type: RollingUpdate replicas: 1 template: metadata: labels: name: aks-gaming-controller spec: serviceAccountName: azuregamingcontroller-sa containers: - name: aks-gaming-controller args: ["./controller","--podautoscaler","true"] image: docker.io/dgkanatsios/aks_gaming_controller:0.0.47 imagePullPolicy: Always resources: limits: cpu: 50m memory: 30Mi requests: cpu: 50m memory: 20Mi --- apiVersion: v1 kind: Service metadata: name: aks-gaming-apiserver namespace: dgs-system labels: name: aks-gaming-apiserver spec: ports: # the port that this service should serve on - port: 80 targetPort: 8000 protocol: TCP name: http # label keys and values that must match in order to receive traffic for this service selector: name: aks-gaming-apiserver type: LoadBalancer --- apiVersion: v1 kind: Service metadata: name: aks-gaming-webhookserver namespace: dgs-system labels: name: aks-gaming-webhookserver spec: ports: # the port that this service should serve on - port: 443 targetPort: 8001 protocol: TCP name: https # label keys and values that must match in order to receive traffic for this service selector: name: aks-gaming-apiserver type: ClusterIP --- apiVersion: v1 kind: Secret metadata: name: aks-gaming-certificate namespace: dgs-system type: Opaque data: cert.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVxVENDQTVHZ0F3SUJBZ0lKQU90Qjk2VUlwcmpOTUEwR0NTcUdTSWIzRFFFQkJRVUFNSUdJTVFzd0NRWUQKVlFRR0V3SkxVakVPTUF3R0ExVUVCd3dGVTJWdmRXd3hFakFRQmdOVkJBb01DVTFwWTNKdmMyOW1kREVXTUJRRwpBMVVFQ3d3TlRXbGpjbTl6YjJaMElFUmxkakVYTUJVR0ExVUVBd3dPWkdkekxYTjVjM1JsYlM1emRtTXhKREFpCkJna3Foa2lHOXcwQkNRRVdGV2hwWlhWdWFIVkFiV2xqY205emIyWjBMbU52YlRBZUZ3MHhPVEV5TURZd09UTXcKTlRaYUZ3MDBOekEwTWpNd09UTXdOVFphTUhJeEN6QUpCZ05WQkFZVEFrdFNNUTR3REFZRFZRUUlEQVZUWlc5MQpiREVPTUF3R0ExVUVCd3dGVTJWdmRXd3hFakFRQmdOVkJBb01DVTFwWTNKdmMyOW1kREVXTUJRR0ExVUVDd3dOClRXbGpjbTl6YjJaMElFUmxkakVYTUJVR0ExVUVBd3dPWkdkekxYTjVjM1JsYlM1emRtTXdnZ0VpTUEwR0NTcUcKU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQ3hBUWw1cEdMRW1lZnk1WEtzSUkxSDl6UFZzZHJyTFJUdAo2eWc3emVwbDBUOHg3VDhWS3Bub2V4b0ZEUzJjckgyZllsMm9SejNiNmpWMDhNWEx0T2x4bVpJcWUzZU9QRHBRCm9CTlpWdmptR2ZTMlhTOU0wQm5Mb1NnbG1GNXgvemdWVzc2TjRxeXJlS2wrcmJjdG80ZE5LVEtrbXExSk5iR3kKQWx3OGhEOEdLbzRGcGJsd1hsQktrNjdjZ2pRUWtwTDVGUXpVTnNTOGJDL25iMERTaFZJNHB0M3ZNTmVlV1UxRworcG14V01mRGtPT1BLOEhKZCs1R0c5TkU0eU5FOWxtamQ3bUtsVC9IaFNteW9IYXgreWlTaEtDbUNZQTNZa0hHCkgxUEZXRjNOQzREV1lnM29Ia0pFa3dJQWxSaENVaDFkL2RvTlo2djdNUE5DV2hUQ2Z2dmJBZ01CQUFHamdnRXAKTUlJQkpUQ0Jwd1lEVlIwakJJR2ZNSUdjb1lHT3BJR0xNSUdJTVFzd0NRWURWUVFHRXdKTFVqRU9NQXdHQTFVRQpCd3dGVTJWdmRXd3hFakFRQmdOVkJBb01DVTFwWTNKdmMyOW1kREVXTUJRR0ExVUVDd3dOVFdsamNtOXpiMlowCklFUmxkakVYTUJVR0ExVUVBd3dPWkdkekxYTjVjM1JsYlM1emRtTXhKREFpQmdrcWhraUc5dzBCQ1FFV0ZXaHAKWlhWdWFIVkFiV2xqY205emIyWjBMbU52YllJSkFLVlZHODQycERRV01Ba0dBMVVkRXdRQ01BQXdDd1lEVlIwUApCQVFEQWdRd01CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUJCZ2dyQmdFRkJRY0RBakJDQmdOVkhSRUVPekE1CmdnNWtaM010YzNsemRHVnRMbk4yWTRJbllXdHpMV2RoYldsdVp5MTNaV0pvYjI5cmMyVnlkbVZ5TG1SbmN5MXoKZVhOMFpXMHVjM1pqTUEwR0NTcUdTSWIzRFFFQkJRVUFBNElCQVFCbm9lRldNZXY3ZStKWDNNUDN3V0J3ZE51awowRkcrMTEvdzMvSkhoUGZMZFhmcDVMd1JHSGVuc1NsYlNrT3VRSlJYVFVKS1kvUU81NXFQUzkvREJGWTdMOWZ1CitsVUxtaDBnV3FsL1llcGFpUENGcXBnMnc3SENSTFVYVjVnbC9lSHBpTDlvRTYwUlY4Z3JITEhBcTRnbjBBQWMKVnZGTG01bCtYbmF0RFJHVHVnYmNUV0ZLUmZoZFFqaFdleFVLWGpuWTlYcWRZZjJFMFM0M3VRTWVlM1dIYTdMNwpiaTRNQytRR0craWpwNC92dGhFQmJyS29EVVVGWi9EbFVrWjY4Q21zbDF1ODlCdkxSKy9GWlhCOWNPaUxydEoyCmxHemtVVW8rQ0lsYTMraHlnSktTaHdGdmg5Sm0vMzl4UXF1NEtDK0kvbkZDekJja2VHNkRFQllCRXcwUQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== key.pem: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBc1FFSmVhUml4Sm5uOHVWeXJDQ05SL2N6MWJIYTZ5MFU3ZXNvTzgzcVpkRS9NZTAvCkZTcVo2SHNhQlEwdG5LeDluMkpkcUVjOTIrbzFkUERGeTdUcGNabVNLbnQzamp3NlVLQVRXVmI0NWhuMHRsMHYKVE5BWnk2RW9KWmhlY2Y4NEZWdStqZUtzcTNpcGZxMjNMYU9IVFNreXBKcXRTVFd4c2dKY1BJUS9CaXFPQmFXNQpjRjVRU3BPdTNJSTBFSktTK1JVTTFEYkV2R3d2NTI5QTBvVlNPS2JkN3pEWG5sbE5SdnFac1ZqSHc1RGpqeXZCCnlYZnVSaHZUUk9NalJQWlpvM2U1aXBVL3g0VXBzcUIyc2Zzb2tvU2dwZ21BTjJKQnhoOVR4VmhkelF1QTFtSU4KNkI1Q1JKTUNBSlVZUWxJZFhmM2FEV2VyK3pEelFsb1V3bjc3MndJREFRQUJBb0lCQUJjYnQ0ejE5UjhOcU1hQgpSaE5Ldktja2t0UFhRR2xyblV2aVk0SkxROHEvSXF6MStFSmZLWEM4Z1kwZlIxRXBBODJISGdzV0lmRlFCbUtaCi9IaTN5YkpYQmtvZGpHSTVZck9iOG1xN2ZBc3VZRkJlb2dvNU1PVHd5VGovUjNWQ2lLUGhNbU43c0dkQ2ZYNVkKVjQzUng1dy9RS2xVdUVMU2k3eGRxb1VNRHQ1VEFGRHJtaGtNUkhOWGc2WE1uS09PWldxalRIanJobUdHTVNIUQpSVmROVEFUS21nWlFRczh3aEhlRXVZVWJidnNDLy84MU85RExWeTVFVDVTREtNQ2pxYm5ZL2dLb1hvU1ppY213ClQyczhVTEY5QmJqc1NaSFVzY3BxNDg4d3RvTzdTSmxiUjl6blpwL3JyMTMwVUpIZ1E3OFlZR0JBdVdhcFp0bXgKSkRKNGV5RUNnWUVBM09saG9OVjErblBzUmc1Zmgrc2d2RmhaWld1SHJyVkM4ODhiWlFaTC9uTGtoNXdzamNTMwpOc0pMN2VDeDdKQVFoVk14YW4wUDQxRUhPdm9oSzJ1Rys0UzA0Y3NkQmU2VTdHa2syajlTWnNGbEVZUk9STlQ3CnFIS3VkOTFTSHhua1RaeERpRXdJL0pvbDdYM1J5TlAyT1kzMFVXTkpvS2Y4SUF2YWl3dU1LTFVDZ1lFQXpSNU4KbEpPSlEweXBXc05iTllsSjFlRDdITERhTVVpNnp2SGVIZUFESWE3U1NsUWxLdDV3eWdwVTRPWXFnUUhrejZCNQpXbGw2SFpSa2ZMMlNEcmIwUTRGcTRYUGhDRVVoSGpGZExjRnJBTlhiOWx2MDJCckRYU2NFdUMzSWpzRDdnWm1DCmE0TnpXenFTNjhVVGlwdXhpS0pRcEEyS1RwclA0MGNEdXVwa1BFOENnWUFsdFlUZnduQlFIMGVlc2NkbTJTRU8KWlhwbEVKVHBvckZhRXVsWE5scjBoVUl6VDlwZkhNdzFnYmNhVlBlcUxQRlZBTjEza3YrS1N3T1Q4cXlFeitjTAp1aHh5U295YXZaNFlPTjU4anNDUEg4WVQxbVRSNVJWTUxMOVJZS3NxK2UxNXZnbmRFeldaZ09xbWZvcTM0RTZ3CmhtWEZHdEN2cHQwbnp6NHY2L214M1FLQmdBdnZHR3B0anczb1Z1NGQ4WitTeGtYNFdnUFlVa21OeHJpbG45dXoKSGR1RzFWdFh1L1hialVwa0FYNDRSZjdOZ21lR0dhbGxEVkxOUUc5MWhCcnhFQk1oWTN1TWgybzR3MjJEUjcyUwp4RXYvSlZZWEVZN0ZOOXFpbTRhdnV6eDdBK2NOYkdZZTlzWTNDVGRJZHhPWWJXTGF0c0JrdlVoSGY1TGtuZFh4Ckx6WEhBb0dCQU16YXVBbmhzY3ZreE0vdmJTVmlPNE8rKzN2R0l3MmlFelZnMUsyOUJSeTZMdHRuZkVJYktxM2oKV0RDWFpKYktVSkJWY2x0Zk9PZS8ya0hhSVhpbDgra3h4OTlTWTZMczE0NmRSR0tOZ3BVa0s4MkNnL3lQd2g4YQo5UjVlcklaL004cWFjS0gxczRLY3d6dGpqVGl6aWlDNzNRZUdQWUQ1em5XZWJxV2lreUN6Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg== --- apiVersion: admissionregistration.k8s.io/v1beta1 kind: MutatingWebhookConfiguration metadata: name: aks-gaming-webhook-mutation namespace: dgs-system webhooks: - name: aks-gaming-webhookserver-mutation.azuregaming.com clientConfig: service: name: aks-gaming-webhookserver namespace: dgs-system path: "/mutate" caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURqakNDQW5ZQ0NRQ2xWUnZPTnFRMEZqQU5CZ2txaGtpRzl3MEJBUXNGQURDQmlERUxNQWtHQTFVRUJoTUMKUzFJeERqQU1CZ05WQkFjTUJWTmxiM1ZzTVJJd0VBWURWUVFLREFsTmFXTnliM052Wm5ReEZqQVVCZ05WQkFzTQpEVTFwWTNKdmMyOW1kQ0JFWlhZeEZ6QVZCZ05WQkFNTURtUm5jeTF6ZVhOMFpXMHVjM1pqTVNRd0lnWUpLb1pJCmh2Y05BUWtCRmhWb2FXVjFibWgxUUcxcFkzSnZjMjltZEM1amIyMHdIaGNOTVRreE1qQTJNRGt5TlRRNFdoY04KTWpReE1qQTBNRGt5TlRRNFdqQ0JpREVMTUFrR0ExVUVCaE1DUzFJeERqQU1CZ05WQkFjTUJWTmxiM1ZzTVJJdwpFQVlEVlFRS0RBbE5hV055YjNOdlpuUXhGakFVQmdOVkJBc01EVTFwWTNKdmMyOW1kQ0JFWlhZeEZ6QVZCZ05WCkJBTU1EbVJuY3kxemVYTjBaVzB1YzNaak1TUXdJZ1lKS29aSWh2Y05BUWtCRmhWb2FXVjFibWgxUUcxcFkzSnYKYzI5bWRDNWpiMjB3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRREdFSHRUdlRDQQpGRFJwVi9oTnpuczZxZVZIVUhaRjZnSGpFTDNLUzlTWHlCTnpWY3dZM2pMYTNHUTRQTHVzak01a2d3QXVnLzJPCkZDSWdvRUV5aDhGZC9lSWQ0T3BWb2crL1BRVGZpc1hXNDQrdDlQSlhoZGU4UWtPdXZrQnYrdnlIYkQ3R3l5MjUKYlliWTg0bUQ5SFhySTd3OUdaZ3o3amowQzJIM2ZvaTg1YmZocFFhQjdLSWtlS0NHekJteUtZZzJyNDlpZnkzMQpYZXpVSm1EemUvWWl5S2FuaTFOZi9vdHdabDUwVThsM2tiY0dnRDI4MitEMS94cXhMb3Bhbm43K3BqRUhwejZLCmh3V1o5ZHQ3OG5rbXFhVjZJNktSN1JtcUpXa3l1RUQ4c0RzbzM5OTNIenRtL0tZaG9HUTZRaDIxMTJVVWY5UXMKTUdoYVpURExZTk90QWdNQkFBRXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBQUpCRG9HNmpoQ0dxUXZDY2lERgo2TjJzN095VDlkZVJWdTdnaW9XdUJNNUxRaXNqTkZUQWY3aWptdkVlaUlMaE5kN1JTU2ZLNkRsUkR4MlliQ1p5CjQ4T1pleEVwUnJMaDErS2xQcThFaHNLc1hkK3ZGYlEzdmExWWNyRWNObW4rTjJGMmxtN2ozQXJjRUh2MUNDTkUKZkJZR3Q4SjVhTHNhRjRBV3JFYWZiYitSMjdiRUlOaUFuKzdwOXdUaHlSWCttYTYxNG5VWDZiVVJ3RjFJM081UwppWUkvdGZQYU1ZRTNHS0RQNHl4MXVkT2htVnN1b1FleGEzTkJ6Tm5OZ1NOSGI1WXV4Y2F0eUhVWFhield6b1JnCkpEdjN1VE1VbGNXM0tFM2xjTCt0a1IvRGJRbXAzR1NhampRYW1tdWtUK0F6OUZ5Rnpxd21ScHBGdjkzZllJWk8KU2k0PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== rules: - operations: ["CREATE","UPDATE"] apiGroups: ["azuregaming.com"] apiVersions: ["v1alpha1"] resources: ["dedicatedgameservercollections","dedicatedgameservers"] failurePolicy: Fail