github.com/replicatedhq/ship@v0.55.0/integration/failing/init/concourse/expected/rendered.yaml (about) 1 apiVersion: v1 2 kind: Namespace 3 metadata: 4 annotations: 5 helm.sh/resource-policy: keep 6 labels: 7 app: concourse-concourse 8 chart: concourse-3.7.2 9 heritage: Tiller 10 release: concourse 11 name: concourse-main 12 --- 13 apiVersion: v1 14 kind: ServiceAccount 15 metadata: 16 labels: 17 app: concourse-web 18 release: concourse 19 name: concourse-web 20 --- 21 apiVersion: v1 22 kind: ServiceAccount 23 metadata: 24 labels: 25 app: concourse-worker 26 release: concourse 27 name: concourse-worker 28 --- 29 apiVersion: rbac.authorization.k8s.io/v1beta1 30 kind: Role 31 metadata: 32 labels: 33 app: concourse-worker 34 release: concourse 35 name: concourse-worker 36 rules: 37 - apiGroups: 38 - extensions 39 resourceNames: 40 - privileged 41 resources: 42 - podsecuritypolicies 43 verbs: 44 - use 45 --- 46 apiVersion: rbac.authorization.k8s.io/v1beta1 47 kind: ClusterRole 48 metadata: 49 labels: 50 app: concourse-web 51 release: concourse 52 name: concourse-web 53 rules: 54 - apiGroups: 55 - "" 56 resources: 57 - secrets 58 verbs: 59 - get 60 --- 61 apiVersion: rbac.authorization.k8s.io/v1beta1 62 kind: RoleBinding 63 metadata: 64 labels: 65 app: concourse-web 66 chart: concourse-3.7.2 67 heritage: Tiller 68 release: concourse 69 name: concourse-web-main 70 namespace: concourse-main 71 roleRef: 72 apiGroup: rbac.authorization.k8s.io 73 kind: ClusterRole 74 name: concourse-web 75 subjects: 76 - kind: ServiceAccount 77 name: concourse-web 78 namespace: default 79 --- 80 apiVersion: rbac.authorization.k8s.io/v1beta1 81 kind: RoleBinding 82 metadata: 83 labels: 84 app: concourse-worker 85 release: concourse 86 name: concourse-worker 87 roleRef: 88 apiGroup: rbac.authorization.k8s.io 89 kind: Role 90 name: concourse-worker 91 subjects: 92 - kind: ServiceAccount 93 name: concourse-worker 94 --- 95 apiVersion: v1 96 data: null 97 kind: ConfigMap 98 metadata: 99 labels: 100 app: postgresql 101 release: concourse 102 name: concourse-postgresql 103 --- 104 apiVersion: v1 105 data: 106 host-key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb2dJQkFBS0NBUUVBMkFVUFh4dWlEQy9xckJXaklkVDVmdk5jTWxNRVlwUjNYNFNMUUlnTEMxVUxEc0NPCmZsZUtaK1dpNFJ6d2JrVUtpS21KbTVHZXlOVlZDRGRmdmREMVNkMSs1ZmFxbXAyL09RQnpMUzdvOE5ZL2J0TXcKOGg5bHg0S1ZKYUpKMUVNMUVpeUdZNDFOeDU5MUtQMTRwQmZyMC9OZE9JckR1Mkp2RjZlN0NIRWJyemtONTdrYgpCVlFrYUlNYVMwMVJ3LzVPZTY4R0ZhbGxpMmlpOEw4ZE5XVlZ6cXVCaDVQd1ZXaW12VGd3djNUWUcyVEg4TDFWClY3bisvelJScGtqTWwyK1BVb3VHcUQrQnArNHdGK2hwNEFXNXYyNENxanRMSkVNdjRJRUp2MkZSZnJPYXVCSVoKWGpBUzFTU2c5VmFUT1MzaXd4YVlydjh1RzFYZk1GSElDdmtFUFFJREFRQUJBb0lCQUc4N1c4anJYNnZLMkptMwpvb0ovT2VGbXltaVhXc0N3RmkrMi9rVkNSLzJUMHRmTHl4Ty9XK05YMldEMUY5Q1ArSGFhWmVNWFBwM0hTN3VwClY4RlQ0Wm9oVllCd1hUUzBXWXl1Y0tBcGNZVGhyVlFScHpobGRuRWZDbEdRbVZlVks3U3AvS0V5VjRTYzFTVkEKTDJpL2NJMTQyTjJPaG03c3BxdVZrTGN1RnNWSU56WjBmWEN2MjVkVHFia0VnalRKek5kQnp5Rlh2YzR6ME10OQpnVzE0TTdteitZS1lPZnNDeElFbTQzOGZDOWIxNkM5NnlJRkJkTisvamFQOHBtYjJSb0lFMkQwRjhiajVLMWhSCll5R0ZLTU9VNGU2Y1lxNTlpV2Z1Ykt1dTJXTkpFQmsvNWFPN3g3WHUyUzBrOHdJWWx3eEZ1dTRMZlIyS3ZpenUKK21GVmYza0NnWUVBOWUwKzQwdEpHcE9QTThoQUIzRHdYalljOGxDdXlZZjN6MzBUM1JxVk5DVVZTV25sYWovcwozRU5pNitOZzN1K1pzOGNSMkNGb3UrakFDbFR5V0x1U25JOXlBQ0QwZXlXOW40YnpZTVViZ2RDNnZuZUxqcHp4CndXUjlYdjVSbVpWbHk3eFd1cWNnRWVFZjhSTmNZSTNvWGJ5MGxhRjNFT2J2dUF4LzRFVElrRmNDZ1lFQTRONDIKdzFVRVdHb3BXQklJWFlIa0VQSFF1RjBTeFIyQ1p5aDlFeFRlU3hGcGh5aWJrY0hSakRXK3Q5MVpMblNtNWsxTgpUT2RZdWMwQXBCVjNVK1RleGVGdkRJOTRML096ZTZIdDVNYXRSUXo4a1J3TUZHSkwzVHJwYmdUbVdkZkcwNUFkCm9pU2NKendZMTZvSlhuS3VzeGlrN1YrZ0NDTk5FMC8yVXVNblk0c0NnWUFFZjgycHZPUGVmNXFjR09ySytBNzkKdWtHM1VUQ1JjVkpnVW1wOW5oSGl2VmJ4VytXZGx3UFBWOUJFZm9sMEtyQUdNUHNybUJqaGJ6V3NPcmVnVmZZdAp0UlloMkhpQWxFVXUyUG8wNkFaRHpyekw1VVlCV3UrMVdSQk9INXNBazFJa2N4S25JWTJkcGgrK2Vsc3pUUVZXClNiQ0lHRWNrWVFVN3VjYlJKSkVDeXdLQmdCYjR2SEZ4OHZLeFRhM3drYWd6eDcrdlpGb2hML1N4RWd4Rng1azIKYllzUHFVOGtaOWdaQzdZZUczQ2ZEU2hBeEhnTWQ1UWVvaUxBL1lyRm9wNFFhRzJnblA2VWZYdXdrcXBUbllEYwpod0RoMWI5aE5SNno5L29PdGFBR29oMlZmSHRLWXF5WXZ0Y0hQYVp5ZVdpTG9Lc3RIbFFkaTdTcEhvdVZoSjF0CkZTNEhBb0dBR3krNTYrenZkUk9qSnk5QTJNbi80QnZXcnN1NFJTUUlMQko2SGI0VHBGNDZwMmZuMHJ3cXloT2oKT2Njcyt4a2RFc0k5dzVwaFh6SUVlT3EyTHF2V0hEUHh0ZExweE9ycm14NEFmdEFXZE04UzErT3FUcHpIaWhLMQp5MVpPcldmdk9OK1hqV0ZGQUVlai9DcFFaa05Va1R6alR0U0MwZG5mQXZlWmxhc1FIZEk9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t 107 host-key-pub: c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFEWUJROWZHNklNTCtxc0ZhTWgxUGwrODF3eVV3UmlsSGRmaEl0QWlBc0xWUXNPd0k1K1Y0cG41YUxoSFBCdVJRcUlxWW1ia1o3STFWVUlOMSs5MFBWSjNYN2w5cXFhbmI4NUFITXRMdWp3MWo5dTB6RHlIMlhIZ3BVbG9rblVRelVTTElaampVM0huM1VvL1hpa0YrdlQ4MTA0aXNPN1ltOFhwN3NJY1J1dk9RM251UnNGVkNSb2d4cExUVkhEL2s1N3J3WVZxV1dMYUtMd3Z4MDFaVlhPcTRHSGsvQlZhS2E5T0RDL2ROZ2JaTWZ3dlZWWHVmNy9ORkdtU015WGI0OVNpNGFvUDRHbjdqQVg2R25nQmJtL2JnS3FPMHNrUXkvZ2dRbS9ZVkYrczVxNEVobGVNQkxWSktEMVZwTTVMZUxERnBpdS95NGJWZDh3VWNnSytRUTkgQ29uY291cnNl 108 local-users: dGVzdDp0ZXN0 109 session-signing-key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBd0xxbC9yVUlhSStQWDdUbDNGV2NUZWU0c1FmOC9kYWFrQUxYeDk1NXRQd2tocWxZCmU0VDJWODRwL3lsRnZOV3BNNHZmY01ZS2ZNWTBKTEtnQWdCdkpoQ3l0U2tEQmhUQm9XbU42eUUwQUIxMVA5RW4KbElaUkJXTllxYUMyY1NnZTJaRDhxT1Nud2ZGaG5RQVc4KzdwRStFbEpBVmg3ZHRkRjNBNDc4SDUwbElpZ3E4SQp6TVdwMkVHSnBGQzcvVXUzNm9JTC8wM01OR0NtckgxanZ0VHVKaUFNUVVaWXlMMVJlQmt2dkhPenc5aTRIWFB5ClNNVnRjbGxtNE5CczJhVlB0d2hyMmt3U2tMdDh0MWJQZFJuNk9JeUVBdzVXa3R6QUthaVpua1R2ajZnM3h6ZHAKektjcmRsQnI5YXpubE52b1NpbkJVZnZ0d3lGbXZGTjFISGJBOXdJREFRQUJBb0lCQUU3Ry9EclVmSTlndnRYNwo5MGpNcFlzaWdGZThVQ2pobzJQaUJabG8wbzZyMGJKSlhpVisvOEo4UHFaUmxIUFBVYzRFQ2x6cVZqY1NQUllTCi9WeFVHUnFTRUxvRC9YeHExNHJHdm4reG5yTzlWc096Rmw2YldGcS9kT3BCQ3RITitHNHQyVmlmdmdLRVM4WUUKMTF6MTlzZHRhK1VCWGpuL1JGbmtRU0dmUkNJM1FxVGFZdmp4ZXZ0MHVXbHlQbXFrRlBRUXc4YnZISVh6b0IrQgpyemVpTWErK25NdmJYNXBBSDlYQTBCdmh5dUgzZkhpZFRVd2lWQnBrTWNwTFd0alAwQTBKVHNlY0RkYmluRERxCnVuMkVJbzh6TVdSd0tRTi9KblV4c2k4QVVFaWdCVENVcWVEZ1JFWHRXNjJ1dkZrU3BjVk1Yd21WaXR5TFlJVnkKcW5WTFVDRUNnWUVBNkl3WGtQMXFuU2ZjTmVvVkkveXBEdXoxL2tkcWNqU1BoTFllK2pkaUxMb0ZrTVc5QWxEbQpsendOYVdsVEZEOXlnbytOakpDbzYzL0E4SENtNTVzYWp3czVoWjZyMjB2ZFpjS0ZNazloMHFGNW9WQTdsa1EyCmd2RzJXYXpudVU3S2txaGZQK3BYaGlMZ1pLb0prc3QvK2c3cjZ1SHByZWR3RFk2aHhlQks0dnNDZ1lFQTFDcUgKOHl3QzVxVW8vMzZrUWcvVFUyYWROL1lFSGRKQUFiVTIzRVZyR1FTVm1uWFcwOEgyTkxGazB0c3hyd29ObmJncApQSWsySjdCaW1iSnZiTkQxN2licjRHQWtsRFRzUjhhSmtEbCswSmdOQ0FLOU4wN3FWdDFzN0ZYemhnOTVqVUw5CkVRVzU1ejYwR0FKcGVjcU53QTRKc2E4UDg1Mk4wMzU1T2JwOTJUVUNnWUJrT0J2ZjdKY0o2NmZIeEg0ZjZEK2oKb3hQUTVrNUZzY2s0VkpTOUdTbENSVmtvcjA5cHRCdnNpWUR1TU9vUkM5YjUxWXdYVEREQWJXcGxOT2Q1WVNydApBdFZqZEtKei9Cb0tSTzdLWTlPd3hzNTRhdStETHhxZkREU2VLUm9ram9SVytDRTBsblhwNVJYM3pDQWNGMytyCjhNcFRpOUQ5bFlTQkV6czg0QkRtQ1FLQmdRQ01jSDYvSzNIY0pKVm4wZmQrdHlVR2Z0VXc5c3N3eGp5U0pOYmsKcFpySDI2My9xV01EbHMrWGY1a2lyZTlNVTFaQ0FXWmlhTjBORm9lZC8yd2NWcEdFREFWMDU0OHUvMzByNGJLcgpZak9jZGhtaUpOWUZKMXFkRjBNRGliMkNEdnBCMUliWlhyWDQ2UnVqRE8ydXJiSjQzNUh4S05WaFIvaGFkOHhjCnR5S1l4UUtCZ0NWRGhOME1obmxVUUpWWmZYNDJBUG1GNGdRZzByM3NmTC9OR1hqRWpNSUtLRmU1YTg4ZVpWSHIKTDh4MStkcDBxN2N6QzhhL2wxRFV1aXdES2w4T0VweExzR0NxL0ovd0FmclNNUGlmdTZFVWxiVXdsSk9QZGdoYQorcC9LRkFlbEhYSjJ3Lzh5YWNrQWNhcmgzNVZQN2l4aHV2eHN3SE5kZ3Zmc0JURmNqbjMwCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t 110 worker-key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBdVBlaFVtQlhBUUNvQTdUTEFRQ1loZit2emNaVnlqK1ZHWG5NaExIbldMazdkUmpvCkNVOEdnTmFtZFM1aDdHM3l3eE92S0EzWWpPTHI4WHlPTUxTNGMrZThON3RJemxNV2RpWGhlMGxjQkg5WjFhaTUKK0JvZjMvQmxEVUJrc2lLZGMxQStRY2ZYNnREd01rT081cmUxSDR2T0szSC9DeXBlNTh3Q0IwM0hZTmdiMDVFRApmVzFCajJxdnoyOVZ0bXlqd0VNdURzMTAwaU1xd0NmUFV4OW94WG1tWDhzVUJSbXcvWTFSeC84cGRLSWpLdzNtCmtXSUhIQk9TQ1BpbU8xcUM0N0FhOHYvVUg5aEVSQ3lreXVGSGlCaUtsbkl2WldtOWJZdmhzUlR6NGd0NUt6UlkKNk9JMG9WZUhsTE9IRFNLNDhEYThWV2lqMTVsT3FPMk54Nldzc1FJREFRQUJBb0lCQURFVDIyVU5GT2k2TU5wUwo1UzVONXlwZXpsbk9EME5MblpjVjN6TXlOUTB3a05zZ0Vha3VvNjRaeGk3L2NKSVlGanEyaFZvZVdsLy9jZFV3ClZGWU9EWWNMYk1CbzNBZUt1a0g5Q1JmNlBnVWZlVW1jckVOdFF4bmJJaVRpK2hUZDVHTU5Yb2Q3ckFtdENKNTkKbUhRVk9HUzNacXZXWW5LbSttbU1rdGszUlBpbnluWC9BNHkzV0hQYWN1QVM1OEhNMDlDazQzV2NITXhiR3BzTAovZ1pwSUN5RllaMkR2aU0rQUh5V0djbXc3TEpycEMwUUhvNitCQUZNczR4bFVlY05nVklGVXBmT29BY2ZzZHRHCks5ajRBYnVaNDdpRmlzYmF5KzFweWcvN081ZVJUZEdWUVJ0YzdQQk1PamVhNWpHc2ZtbERtZG4xWlM1MHlrdW4KQU5mb1E1VUNnWUVBOUFrNzNQUnk5bkxsUmt0NE9CQ0YvNGZ3VGhVQ01lZHNuV2FWalFCTUpZaW00RkIyaXZGNQpjS2RXdDN5L1JaSTg1S0tZdTBFWGhMRW9TSUVBZnowNTdSOHQzUWRWSzR0Wng2QjQ3VUZqQmpDWWVWTXR3SERRCnByeFFpT1BISUhDcGxCTkZ1R3pBNVZYTDlnUUxSRCtlazB1T3kyR0pKMFd1MXh5ZW91SStTVzhDZ1lFQXdna08KVE90T29ncW1jQUFMaldnZWVRaVpldGZsU0tiSmxwUU5obUNQQU1tMFNGSThlRjRTcFJYTHpkNDFWQzJtTEl3VApMM3RqYzcvOG9jWG9FbEZNNEwwZm85THgvU0hGSDRKRW41RlQwUFhQbXZzRjJKUmhzWEpGTEpTaWh4Ri85MVhzCjJhQmNRSUxQRnpMY3JJNk9GVWFrTndHVFUvQ0l4cGt6UnZRckc5OENnWUVBek5WblV1bzRDTmFkemFnUkszWHIKRTNZbDVWUksrRnBZMTdGQWZBNncyNXhjL2RGci91bjYxZTBQbzRuby9sdG1FejdMVmZtbjVPL1NjVEVlbXE1bwpqYmpyQlNoZmUrSkdwSUgwbnFpUWxxUjVodlNqWlhFTUliZlZIV0diUllaclFHZ0EwSEV3WkE3azJRWEI4ekkzClIwbFhmU3pNTTVPUTB1d3AxMnh4ZmE4Q2dZQkhJTHExUjZ6VGljUHBXcHJoZzBGb2JOYVdTWDRyVzdpYUVqdkMKL3JKdFA0TnUzM1o3U1VEY2MxajZabkoySVNYQlByZnB0L21FL09QSENaMUEyYnlzeGFkTGpwQldrb0tJUW1DVgpmZGlUeVFnSmIrdDhzU2YrdkR6UFVzMGhaakRhb2d6bzJmZjNUZnhNTE1Eb0lIbkZJdGdmc2R3bjhReXlnSVpqCmhDNHBVUUtCZ1FEcXN4bmtJNnlYRkU1Z3Noblc3SDh6cUtObHpLZC9kWkVMNmUrbFJ6NFIzVVkvS2NFa1JBZnEKWWkzY3dvOWZFM1Uza1NtcGw1TVF3VWpXbS9CWjdKeXVlb1kvNG5kd2FGUGdjMzRJS3NnSjB3YXU5cFppUUFCMQpEeHBPU0YrQlI3MUp4M3N4dklkQ09ETlR0bTY0NWo1eXJaVm5KQXVNUG9mbzVYRm11bkRvSkE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ== 111 worker-key-pub: c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDNDk2RlNZRmNCQUtnRHRNc0JBSmlGLzYvTnhsWEtQNVVaZWN5RXNlZFl1VHQxR09nSlR3YUExcVoxTG1Ic2JmTERFNjhvRGRpTTR1dnhmSTR3dExoejU3dzN1MGpPVXhaMkplRjdTVndFZjFuVnFMbjRHaC9mOEdVTlFHU3lJcDF6VUQ1Qng5ZnEwUEF5UTQ3bXQ3VWZpODRyY2Y4TEtsN256QUlIVGNkZzJCdlRrUU45YlVHUGFxL1BiMVcyYktQQVF5NE96WFRTSXlyQUo4OVRIMmpGZWFaZnl4UUZHYkQ5alZISC95bDBvaU1yRGVhUllnY2NFNUlJK0tZN1dvTGpzQnJ5LzlRZjJFUkVMS1RLNFVlSUdJcVdjaTlsYWIxdGkrR3hGUFBpQzNrck5Gam80alNoVjRlVXM0Y05Jcmp3TnJ4VmFLUFhtVTZvN1kzSHBheXggQ29uY291cnNl 112 kind: Secret 113 metadata: 114 labels: 115 app: concourse-concourse 116 release: concourse 117 name: concourse-concourse 118 type: Opaque 119 --- 120 apiVersion: v1 121 data: 122 postgres-password: Y29uY291cnNl 123 kind: Secret 124 metadata: 125 labels: 126 app: postgresql 127 release: concourse 128 name: concourse-postgresql 129 type: Opaque 130 --- 131 apiVersion: v1 132 kind: Service 133 metadata: 134 labels: 135 app: postgresql 136 release: concourse 137 name: concourse-postgresql 138 spec: 139 ports: 140 - name: postgresql 141 port: 5432 142 targetPort: postgresql 143 selector: 144 app: postgresql 145 release: concourse 146 type: ClusterIP 147 --- 148 apiVersion: v1 149 kind: Service 150 metadata: 151 annotations: null 152 labels: 153 app: concourse-web 154 release: concourse 155 name: concourse-web 156 spec: 157 ports: 158 - name: atc 159 port: 8080 160 targetPort: atc 161 - name: tsa 162 port: 2222 163 targetPort: tsa 164 selector: 165 app: concourse-web 166 type: ClusterIP 167 --- 168 apiVersion: v1 169 kind: Service 170 metadata: 171 labels: 172 app: concourse-worker 173 release: concourse 174 name: concourse-worker 175 spec: 176 clusterIP: None 177 ports: [] 178 selector: 179 app: concourse-worker 180 type: ClusterIP 181 --- 182 apiVersion: extensions/v1beta1 183 kind: Deployment 184 metadata: 185 labels: 186 app: postgresql 187 release: concourse 188 name: concourse-postgresql 189 spec: 190 selector: 191 matchLabels: 192 app: postgresql 193 release: concourse 194 template: 195 metadata: 196 labels: 197 app: postgresql 198 release: concourse 199 spec: 200 containers: 201 - args: [] 202 env: 203 - name: POSTGRES_USER 204 value: concourse 205 - name: PGUSER 206 value: concourse 207 - name: POSTGRES_DB 208 value: concourse 209 - name: POSTGRES_INITDB_ARGS 210 value: "" 211 - name: PGDATA 212 value: /var/lib/postgresql/data/pgdata 213 - name: POSTGRES_PASSWORD 214 valueFrom: 215 secretKeyRef: 216 key: postgres-password 217 name: concourse-postgresql 218 - name: POD_IP 219 valueFrom: 220 fieldRef: 221 fieldPath: status.podIP 222 image: postgres:9.6.2 223 imagePullPolicy: "" 224 livenessProbe: 225 exec: 226 command: 227 - sh 228 - -c 229 - exec pg_isready --host $POD_IP 230 failureThreshold: 6 231 initialDelaySeconds: 120 232 timeoutSeconds: 5 233 name: concourse-postgresql 234 ports: 235 - containerPort: 5432 236 name: postgresql 237 readinessProbe: 238 exec: 239 command: 240 - sh 241 - -c 242 - exec pg_isready --host $POD_IP 243 initialDelaySeconds: 5 244 periodSeconds: 5 245 timeoutSeconds: 3 246 resources: 247 requests: 248 cpu: 100m 249 memory: 256Mi 250 volumeMounts: 251 - mountPath: /var/lib/postgresql/data/pgdata 252 name: data 253 subPath: postgresql-db 254 volumes: 255 - name: data 256 persistentVolumeClaim: 257 claimName: concourse-postgresql 258 --- 259 apiVersion: extensions/v1beta1 260 kind: Deployment 261 metadata: 262 labels: 263 app: concourse-web 264 release: concourse 265 name: concourse-web 266 spec: 267 replicas: 1 268 template: 269 metadata: 270 annotations: {} 271 labels: 272 app: concourse-web 273 release: concourse 274 spec: 275 affinity: null 276 containers: 277 - args: 278 - web 279 env: 280 - name: CONCOURSE_BIND_PORT 281 value: "8080" 282 - name: CONCOURSE_ADD_LOCAL_USER 283 valueFrom: 284 secretKeyRef: 285 key: local-users 286 name: concourse-concourse 287 - name: POD_IP 288 valueFrom: 289 fieldRef: 290 fieldPath: status.podIP 291 - name: CONCOURSE_PEER_URL 292 value: http://$(POD_IP):$(CONCOURSE_BIND_PORT) 293 - name: CONCOURSE_POSTGRES_HOST 294 value: concourse-postgresql 295 - name: CONCOURSE_POSTGRES_USER 296 value: concourse 297 - name: CONCOURSE_POSTGRES_PASSWORD 298 valueFrom: 299 secretKeyRef: 300 key: postgres-password 301 name: concourse-postgresql 302 - name: CONCOURSE_POSTGRES_DATABASE 303 value: concourse 304 - name: CONCOURSE_KUBERNETES_IN_CLUSTER 305 value: "true" 306 - name: CONCOURSE_KUBERNETES_NAMESPACE_PREFIX 307 value: concourse- 308 - name: CONCOURSE_SESSION_SIGNING_KEY 309 value: /concourse-keys/session_signing_key 310 - name: CONCOURSE_MAIN_TEAM_LOCAL_USER 311 value: test 312 - name: CONCOURSE_TSA_BIND_PORT 313 value: "2222" 314 - name: CONCOURSE_TSA_HOST_KEY 315 value: /concourse-keys/host_key 316 - name: CONCOURSE_TSA_AUTHORIZED_KEYS 317 value: /concourse-keys/worker_key.pub 318 image: concourse/concourse:4.2.2 319 imagePullPolicy: IfNotPresent 320 livenessProbe: 321 failureThreshold: 5 322 httpGet: 323 path: /api/v1/info 324 port: atc 325 initialDelaySeconds: 10 326 periodSeconds: 15 327 timeoutSeconds: 3 328 name: concourse-web 329 ports: 330 - containerPort: 8080 331 name: atc 332 - containerPort: 2222 333 name: tsa 334 readinessProbe: 335 httpGet: 336 path: /api/v1/info 337 port: atc 338 resources: 339 requests: 340 cpu: 100m 341 memory: 128Mi 342 volumeMounts: 343 - mountPath: /concourse-keys 344 name: concourse-keys 345 readOnly: true 346 - mountPath: /concourse-auth 347 name: auth-keys 348 readOnly: true 349 serviceAccountName: concourse-web 350 tolerations: [] 351 volumes: 352 - name: concourse-keys 353 secret: 354 defaultMode: 256 355 items: 356 - key: host-key 357 path: host_key 358 - key: session-signing-key 359 path: session_signing_key 360 - key: worker-key-pub 361 path: worker_key.pub 362 secretName: concourse-concourse 363 - name: auth-keys 364 secret: 365 defaultMode: 256 366 items: null 367 secretName: concourse-concourse 368 --- 369 apiVersion: apps/v1beta1 370 kind: StatefulSet 371 metadata: 372 labels: 373 app: concourse-worker 374 release: concourse 375 name: concourse-worker 376 spec: 377 podManagementPolicy: Parallel 378 replicas: 2 379 serviceName: concourse-worker 380 template: 381 metadata: 382 annotations: null 383 labels: 384 app: concourse-worker 385 release: concourse 386 spec: 387 affinity: 388 podAntiAffinity: 389 preferredDuringSchedulingIgnoredDuringExecution: 390 - podAffinityTerm: 391 labelSelector: 392 matchLabels: 393 app: concourse-worker 394 release: concourse 395 topologyKey: kubernetes.io/hostname 396 weight: 100 397 containers: 398 - args: 399 - -c 400 - |- 401 cp /dev/null /tmp/.liveness_probe 402 rm -rf ${CONCOURSE_WORK_DIR:-/concourse-work-dir}/* 403 while ! concourse retire-worker --name=${HOSTNAME} | grep -q worker-not-found; do 404 touch /tmp/.pre_start_cleanup 405 sleep 5 406 done 407 rm -f /tmp/.pre_start_cleanup 408 concourse worker --name=${HOSTNAME} | tee -a /tmp/.liveness_probe 409 command: 410 - /bin/sh 411 env: 412 - name: CONCOURSE_WORK_DIR 413 value: /concourse-work-dir 414 - name: CONCOURSE_TSA_HOST 415 value: concourse-web:2222 416 - name: CONCOURSE_TSA_PUBLIC_KEY 417 value: /concourse-keys/host_key.pub 418 - name: CONCOURSE_TSA_WORKER_PRIVATE_KEY 419 value: /concourse-keys/worker_key 420 - name: CONCOURSE_GARDEN_BIND_PORT 421 value: "7777" 422 - name: CONCOURSE_BAGGAGECLAIM_DRIVER 423 value: naive 424 - name: LIVENESS_PROBE_FATAL_ERRORS 425 value: |- 426 guardian.api.garden-server.create.failed 427 baggageclaim.api.volume-server.create-volume-async.failed-to-create 428 image: concourse/concourse:4.2.2 429 imagePullPolicy: IfNotPresent 430 lifecycle: 431 preStop: 432 exec: 433 command: 434 - /bin/sh 435 - -c 436 - |- 437 while ! concourse retire-worker --name=${HOSTNAME} | grep -q worker-not-found; do 438 sleep 5 439 done 440 livenessProbe: 441 exec: 442 command: 443 - /bin/sh 444 - -c 445 - |- 446 FATAL_ERRORS=$( echo "${LIVENESS_PROBE_FATAL_ERRORS}" | grep -q '\S' && \ 447 grep -F "${LIVENESS_PROBE_FATAL_ERRORS}" /tmp/.liveness_probe ) 448 cp /dev/null /tmp/.liveness_probe 449 if [ ! -z "${FATAL_ERRORS}" ]; then 450 >&2 echo "Fatal error detected: ${FATAL_ERRORS}" 451 exit 1 452 fi 453 if [ -f /tmp/.pre_start_cleanup ]; then 454 >&2 echo "Still trying to clean up before starting concourse. 'fly prune-worker -w ${HOSTNAME}' might need to be called to force cleanup." 455 exit 1 456 fi 457 failureThreshold: 1 458 initialDelaySeconds: 10 459 periodSeconds: 10 460 name: concourse-worker 461 resources: 462 requests: 463 cpu: 100m 464 memory: 512Mi 465 securityContext: 466 privileged: true 467 volumeMounts: 468 - mountPath: /concourse-keys 469 name: concourse-keys 470 readOnly: true 471 - mountPath: /concourse-work-dir 472 name: concourse-work-dir 473 serviceAccountName: concourse-worker 474 terminationGracePeriodSeconds: 60 475 tolerations: [] 476 volumes: 477 - name: concourse-keys 478 secret: 479 defaultMode: 256 480 items: 481 - key: host-key-pub 482 path: host_key.pub 483 - key: worker-key 484 path: worker_key 485 - key: worker-key-pub 486 path: worker_key.pub 487 secretName: concourse-concourse 488 updateStrategy: 489 type: RollingUpdate 490 volumeClaimTemplates: 491 - metadata: 492 name: concourse-work-dir 493 spec: 494 accessModes: 495 - ReadWriteOnce 496 resources: 497 requests: 498 storage: 20Gi 499 --- 500 apiVersion: policy/v1beta1 501 kind: PodDisruptionBudget 502 metadata: 503 labels: 504 app: concourse-worker 505 release: concourse 506 name: concourse-worker 507 spec: 508 minAvailable: 1 509 selector: 510 matchLabels: 511 app: concourse-worker 512 --- 513 apiVersion: v1 514 kind: PersistentVolumeClaim 515 metadata: 516 labels: 517 app: postgresql 518 release: concourse 519 name: concourse-postgresql 520 spec: 521 accessModes: 522 - ReadWriteOnce 523 resources: 524 requests: 525 storage: 8Gi