From 9c2a26a0d4e76fcaed58daef96f5d96a07c212f6 Mon Sep 17 00:00:00 2001 From: felegy Date: Mon, 18 Aug 2025 08:21:34 +0000 Subject: [PATCH] + ADD standard heroku kpack php builder --- k8s/0-namespace.yaml | 4 ++++ k8s/1-kpack-registry-secret.yaml | 14 ++++++++++++++ k8s/2-git-ssh-auth-secret.yaml | 14 ++++++++++++++ k8s/3-service-account.yaml | 9 +++++++++ k8s/4-storage.yaml | 7 +++++++ k8s/5-heroku-24-stack.yaml | 11 +++++++++++ k8s/6-lifecycle.yaml | 6 ++++++ k8s/7-builder.yaml | 23 +++++++++++++++++++++++ 8 files changed, 88 insertions(+) create mode 100644 k8s/0-namespace.yaml create mode 100644 k8s/1-kpack-registry-secret.yaml create mode 100644 k8s/2-git-ssh-auth-secret.yaml create mode 100644 k8s/3-service-account.yaml create mode 100644 k8s/4-storage.yaml create mode 100644 k8s/5-heroku-24-stack.yaml create mode 100644 k8s/6-lifecycle.yaml create mode 100644 k8s/7-builder.yaml diff --git a/k8s/0-namespace.yaml b/k8s/0-namespace.yaml new file mode 100644 index 0000000..4ae902f --- /dev/null +++ b/k8s/0-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: test-builder diff --git a/k8s/1-kpack-registry-secret.yaml b/k8s/1-kpack-registry-secret.yaml new file mode 100644 index 0000000..ae6ed1f --- /dev/null +++ b/k8s/1-kpack-registry-secret.yaml @@ -0,0 +1,14 @@ +--- +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + name: kpack-registry-secret + namespace: test-builder +spec: + encryptedData: + .dockerconfigjson: AgA9BkIUCb/7QzmFb1Aq+arD9CdUF8QnVSDdpBGopM++dQRryQ7sTrhKGSasxIBFD2FRs/sUnX05yMo1j8DcYVZXxVNknKdknHh3fBMV5XXKKxFe4QXCs8ABkVMaNbQ+RH5xyz9rzubCiWxZXizgibfQNC3ArUEWVt+uveKdLx/vfuEiR+lyRB/BbEpsUMBJmXAXkeruPrnIdy0IgetayRqoa+uLtDt4SnKoI6rM43cCmXgMqHIBNpbTSJBLwjp5ScnKW2nKuRCUes6xiRoFHV5bIQLqYZ3FOSCI4InsrvucZz18nQZb5lTyb6bX9PcuiS51QVHJ8PW8H7kidnghPm7mK/CNBVOnwr5YItcXn0tGajjmjd32lWiejyo9fP5HIttG6jpd3UgC7l2x3tzyHLAms8aXuZywFDqDvXbnpcrjtiILtHUfRctJ4IneAQ7UmgSWCfI4QcMvTrnu9kRNTiVnqBr5inuFnhgYxTCBkEq2aYl4ZLAYYj6eqv0b+I5O0rmvMij1QSqaZNm0RSDHR1677kYpfHw7r7oQlgcgf045oL0bxK4TPfnNp3TeSVFAHZDzXmhH9qbYrbNhgWj9wlyipSdwdAN1I6qm9BFm8wZuh2y1lVQbeshFXz4X2ASTht0gs+lKijYwmNxWzEUq3tvW7mSC7C0ClI3BviWjkQ8ODMnYnV6OWA2rzSX4Si2sGcnR2gFcFpUJsiepBkPpI8vi3FpaFIsRUi82b+LhY8DIRFW68CbnJRvoyaarrj8pYSERn6FCDcuLhfSs13dn+WUMeevIElzwgZMLRnyv2Aup2qxeslon0RRipwf0ABPdyCMm5qXL3YsP9JHSaTgfwOXxfYbjBcHrZ220R18WzCmJ+QhCA8x15Ay9p/Ewta/Z4HVsZMl0zI3BoH7iDX7JEPTPSsFkuvVh5xXRDTQH + template: + metadata: + name: kpack-registry-secret + namespace: test-builder + type: kubernetes.io/dockerconfigjson diff --git a/k8s/2-git-ssh-auth-secret.yaml b/k8s/2-git-ssh-auth-secret.yaml new file mode 100644 index 0000000..d5a8807 --- /dev/null +++ b/k8s/2-git-ssh-auth-secret.yaml @@ -0,0 +1,14 @@ +--- +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + name: git-ssh-auth-secret + namespace: test-builder +spec: + encryptedData: + ssh-privatekey: AgBanePywrfQ9l8E+WIbV7pdLugswjpiZuKeJ3Gyht5B+d6YjJigbkvUkyrpmk/rmWatSp2NITCljnq8KR6AZvg/tB3iCjZTZgPhuhAhvmMcAqzls+1K4rTqbVjRRKBjUhmXDsMueXNIwr0G8zOFAIWB0eHBILC+ETGXsuEDUqiysbEPjHYLD2FZ/H4khNqDPFmyoNcWOEEaTyh/me/6TduKKxtVOfBL90LNpnL0dMawDARlrqq7t2LbSTie8OiA0UCrUrEoDlHMUxQLLeeAB159xYkhHqhbAf3Un0lyukaA48FXPfw5D1RBQd7CmOoa8u2MuKHVE6rbGN9WVZQnKhAy6/q3UCtGqYIizPxPf4hvNdAmuiHgSuj2qQ4TbE2SSpfLcaLRKB1J1ruroBJy7n7lIDX7P9/aJIIfnNgp5t2EJTWjHgU2x2DBDBQ/Gcy29getc+ocpb8ZozbLt4dd0U8d53vB8tRoDfR6rTHaS+Th6eSszyg2IpOUvqivlydn6n5hRD3vcBXmb8s361t/305jbrckDTT5VRYd4RysT9mWQOGn9yOhQ2VvbvX5G/la+jK2psCjhHPxOKX+8SNK9UV4TSFHY7FmDLd8aeHuT7mW2jrWhYpHz10KU/PIW83T0+fvsct6g2R1/d7R/BJ9Oc7waQZEs/zuUMYDOX09eYnUEYz2GiQYHuH/05WXmQ7qduRXpjvwuUrALT73KScW8RKyGspYt1SxoADktpYzMlzTdseO6HluuBS5S0VV0j/KSi0rHZYG6zmFeEu2vJzvl0j3iUFQ5eG3aTJtVJVdGBQy8N61j3VhiDt4P61Qt+4fDi9opgtEJ0rnpQ9Mqy3OFhaxC/MSDcrUhOtiwYPbo6G5Jgsh/JUccqZAqJ7T2LC35qhcdHXm70y6UO4ML2Kd04fRYtzFK4DoUKr4/KWmYRZsurXHN8ZndkqEBrg0PnzcFKzlAUfg+vef7PUXBdjCNk2yccZd8xtkav3Vi+9HCEzHx+G2p4nLQhAp69oqtMLY0OvnQGvYy2oBRGhqlAMXH9gYzeblfu7WkdDaVREuGPTXqoyw1gGP4X+Mvb2yxdIOCykP3u481VRw3fECsT9bwKMOLs7bgiYTQEq6h2B1ufqcIalQnuvKZ6ZJY64D9Cd9aL/95lv/g2BPOi9Urw+MplZ/MQy0VxGgWRGV9NwKmcvsY6TX4bgG1LaqByey++89NA3Q3FXk5wg8EvEdtRNFducV9aZh0AxjV1SheQ== + template: + metadata: + name: git-ssh-auth-secret + namespace: test-builder + type: kubernetes.io/ssh-auth diff --git a/k8s/3-service-account.yaml b/k8s/3-service-account.yaml new file mode 100644 index 0000000..6c4fb27 --- /dev/null +++ b/k8s/3-service-account.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: kpack-service-account + namespace: kpack +secrets: +- name: kp-default-registry-creds +imagePullSecrets: +- name: kp-default-registry-creds diff --git a/k8s/4-storage.yaml b/k8s/4-storage.yaml new file mode 100644 index 0000000..c77b06b --- /dev/null +++ b/k8s/4-storage.yaml @@ -0,0 +1,7 @@ +apiVersion: kpack.io/v1alpha2 +kind: ClusterStore +metadata: + name: default +spec: + sources: + - image: heroku/builder:24 diff --git a/k8s/5-heroku-24-stack.yaml b/k8s/5-heroku-24-stack.yaml new file mode 100644 index 0000000..fb01f96 --- /dev/null +++ b/k8s/5-heroku-24-stack.yaml @@ -0,0 +1,11 @@ +apiVersion: kpack.io/v1alpha2 +kind: ClusterStack +metadata: + name: heroku-24-stack + namespace: test-builder +spec: + id: heroku-24 + buildImage: + image: "heroku/heroku:24-build" + runImage: + image: "heroku/heroku:24" diff --git a/k8s/6-lifecycle.yaml b/k8s/6-lifecycle.yaml new file mode 100644 index 0000000..360f666 --- /dev/null +++ b/k8s/6-lifecycle.yaml @@ -0,0 +1,6 @@ +apiVersion: kpack.io/v1alpha2 +kind: ClusterLifecycle +metadata: + name: default-lifecycle +spec: + image: buildpacksio/lifecycle diff --git a/k8s/7-builder.yaml b/k8s/7-builder.yaml new file mode 100644 index 0000000..c865977 --- /dev/null +++ b/k8s/7-builder.yaml @@ -0,0 +1,23 @@ +apiVersion: kpack.io/v1alpha2 +kind: ClusterBuilder +metadata: + name: builder + namespace: kpack +spec: + tag: ghcr.io/hvg-dev/test-builder + serviceAccountRef: + name: kpack-service-account + namespace: kpack + stack: + name: heroku-24 + kind: ClusterStack + store: + name: default + kind: ClusterStore + order: + - group: + - id: heroku/php + - id: heroku/procfile + - group: + - id: heroku/nodejs + - id: heroku/procfile