Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6126f26694 | ||
|
|
d31c85dc44 | ||
|
|
4da6261cc1 | ||
|
|
f4a9f4c176 | ||
|
|
69e36b1ad6 | ||
|
|
83cf479342 | ||
|
|
3954f1a2ae | ||
|
|
32a5a75c45 | ||
|
|
0cefdffa05 | ||
|
|
c8d72176c8 | ||
|
|
ee29c4f795 | ||
|
|
1cfaebd377 | ||
|
|
d7c2a34c8e | ||
|
|
57dd72fb91 | ||
|
|
ad73c7e3c5 | ||
|
|
e2451c7510 |
@@ -1,43 +0,0 @@
|
|||||||
apiVersion: config.lighthouse.jenkins-x.io/v1alpha1
|
|
||||||
kind: TriggerConfig
|
|
||||||
spec:
|
|
||||||
postsubmits:
|
|
||||||
- name: semver
|
|
||||||
agent: tekton-pipeline
|
|
||||||
branches:
|
|
||||||
- ^main$
|
|
||||||
- ^master$
|
|
||||||
context: homepage
|
|
||||||
max_concurrency: 1
|
|
||||||
# Override https-based url from lighthouse events.
|
|
||||||
clone_uri: "git@code.fizz.buzz:talexander/homepage.git"
|
|
||||||
pipeline_run_spec:
|
|
||||||
serviceAccountName: build-bot
|
|
||||||
pipelineRef:
|
|
||||||
name: semver
|
|
||||||
namespace: lighthouse
|
|
||||||
workspaces:
|
|
||||||
- name: git-source
|
|
||||||
volumeClaimTemplate:
|
|
||||||
spec:
|
|
||||||
storageClassName: "nfs-client"
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 10Gi
|
|
||||||
subPath: homepage-source
|
|
||||||
params: []
|
|
||||||
- name: build-homepage-staging
|
|
||||||
source: "pipeline-build-homepage-staging.yaml"
|
|
||||||
# Override https-based url from lighthouse events.
|
|
||||||
clone_uri: "git@code.fizz.buzz:talexander/homepage.git"
|
|
||||||
skip_branches:
|
|
||||||
# We already run on every commit, so running when the semver tags get pushed is causing needless double-processing.
|
|
||||||
- "^v[0-9]+\\.[0-9]+\\.[0-9]+$"
|
|
||||||
- name: build-homepage
|
|
||||||
source: "pipeline-build-homepage.yaml"
|
|
||||||
# Override https-based url from lighthouse events.
|
|
||||||
clone_uri: "git@code.fizz.buzz:talexander/homepage.git"
|
|
||||||
branches:
|
|
||||||
- "^v[0-9]+\\.[0-9]+\\.[0-9]+$"
|
|
||||||
@@ -1,13 +1,22 @@
|
|||||||
apiVersion: tekton.dev/v1beta1
|
apiVersion: tekton.dev/v1
|
||||||
kind: PipelineRun
|
kind: PipelineRun
|
||||||
metadata:
|
metadata:
|
||||||
name: build-homepage-staging
|
name: build-homepage-staging
|
||||||
spec:
|
spec:
|
||||||
|
timeouts:
|
||||||
|
pipeline: "2h0m0s"
|
||||||
|
tasks: "1h0m0s"
|
||||||
|
finally: "0h30m0s"
|
||||||
|
taskRunTemplate:
|
||||||
|
serviceAccountName: build-bot
|
||||||
pipelineSpec:
|
pipelineSpec:
|
||||||
params:
|
params:
|
||||||
- name: image-name
|
- name: image-name
|
||||||
description: The name for the built image
|
description: The name for the built image
|
||||||
type: string
|
type: string
|
||||||
|
- name: target-name
|
||||||
|
description: The dockerfile target to build
|
||||||
|
type: string
|
||||||
- name: path-to-image-context
|
- name: path-to-image-context
|
||||||
description: The path to the build context
|
description: The path to the build context
|
||||||
type: string
|
type: string
|
||||||
@@ -19,18 +28,17 @@ spec:
|
|||||||
taskSpec:
|
taskSpec:
|
||||||
metadata: {}
|
metadata: {}
|
||||||
stepTemplate:
|
stepTemplate:
|
||||||
image: alpine:3.18
|
image: alpine:3.20
|
||||||
name: ""
|
computeResources:
|
||||||
resources:
|
|
||||||
requests:
|
requests:
|
||||||
cpu: 10m
|
cpu: 10m
|
||||||
memory: 600Mi
|
memory: 600Mi
|
||||||
workingDir: /workspace/source
|
workingDir: "/"
|
||||||
results:
|
results:
|
||||||
- name: unix-time
|
- name: unix-time
|
||||||
description: The current date in unix timestamp format
|
description: The current date in unix timestamp format.
|
||||||
steps:
|
steps:
|
||||||
- image: alpine:3.18
|
- image: alpine:3.20
|
||||||
name: get-time-step
|
name: get-time-step
|
||||||
script: |
|
script: |
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
@@ -41,7 +49,7 @@ spec:
|
|||||||
resolver: git
|
resolver: git
|
||||||
params:
|
params:
|
||||||
- name: url
|
- name: url
|
||||||
value: https://github.com/tektoncd/catalog.git
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
- name: revision
|
- name: revision
|
||||||
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
- name: pathInRepo
|
- name: pathInRepo
|
||||||
@@ -49,6 +57,8 @@ spec:
|
|||||||
runAfter:
|
runAfter:
|
||||||
- fetch-repository
|
- fetch-repository
|
||||||
- fetch-repository-private
|
- fetch-repository-private
|
||||||
|
- fetch-repository-explorer
|
||||||
|
- fetch-repository-organic
|
||||||
params:
|
params:
|
||||||
- name: CONTEXT
|
- name: CONTEXT
|
||||||
value: "$(params.JOB_NAME)"
|
value: "$(params.JOB_NAME)"
|
||||||
@@ -69,7 +79,7 @@ spec:
|
|||||||
resolver: git
|
resolver: git
|
||||||
params:
|
params:
|
||||||
- name: url
|
- name: url
|
||||||
value: https://github.com/tektoncd/catalog.git
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
- name: revision
|
- name: revision
|
||||||
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
- name: pathInRepo
|
- name: pathInRepo
|
||||||
@@ -89,7 +99,7 @@ spec:
|
|||||||
resolver: git
|
resolver: git
|
||||||
params:
|
params:
|
||||||
- name: url
|
- name: url
|
||||||
value: https://github.com/tektoncd/catalog.git
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
- name: revision
|
- name: revision
|
||||||
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
- name: pathInRepo
|
- name: pathInRepo
|
||||||
@@ -104,19 +114,58 @@ spec:
|
|||||||
value: main
|
value: main
|
||||||
- name: deleteExisting
|
- name: deleteExisting
|
||||||
value: "true"
|
value: "true"
|
||||||
|
- name: fetch-repository-explorer
|
||||||
|
taskRef:
|
||||||
|
resolver: git
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
|
- name: revision
|
||||||
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
|
- name: pathInRepo
|
||||||
|
value: task/git-clone/0.9/git-clone.yaml
|
||||||
|
workspaces:
|
||||||
|
- name: output
|
||||||
|
workspace: git-source-explorer
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: git@code.fizz.buzz:talexander/organic_ast_explorer.git
|
||||||
|
- name: revision
|
||||||
|
value: main
|
||||||
|
- name: deleteExisting
|
||||||
|
value: "true"
|
||||||
|
- name: fetch-repository-organic
|
||||||
|
taskRef:
|
||||||
|
resolver: git
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
|
- name: revision
|
||||||
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
|
- name: pathInRepo
|
||||||
|
value: task/git-clone/0.9/git-clone.yaml
|
||||||
|
workspaces:
|
||||||
|
- name: output
|
||||||
|
workspace: git-source-organic
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: git@code.fizz.buzz:talexander/organic.git
|
||||||
|
- name: revision
|
||||||
|
value: main
|
||||||
|
- name: deleteExisting
|
||||||
|
value: "true"
|
||||||
- name: copy-private-files
|
- name: copy-private-files
|
||||||
taskSpec:
|
taskSpec:
|
||||||
metadata: {}
|
metadata: {}
|
||||||
stepTemplate:
|
stepTemplate:
|
||||||
image: alpine:3.18
|
image: alpine:3.20
|
||||||
name: ""
|
computeResources:
|
||||||
resources:
|
|
||||||
requests:
|
requests:
|
||||||
cpu: 10m
|
cpu: 10m
|
||||||
memory: 600Mi
|
memory: 600Mi
|
||||||
workingDir: "$(workspaces.source.path)"
|
workingDir: "$(workspaces.source.path)"
|
||||||
steps:
|
steps:
|
||||||
- image: alpine:3.18
|
- image: alpine:3.20
|
||||||
name: copy-private-files
|
name: copy-private-files
|
||||||
script: |
|
script: |
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
@@ -128,18 +177,106 @@ spec:
|
|||||||
- name: source-private
|
- name: source-private
|
||||||
workspace: git-source-private
|
workspace: git-source-private
|
||||||
runAfter:
|
runAfter:
|
||||||
- get-time
|
- fetch-repository
|
||||||
- report-pending
|
- fetch-repository-private
|
||||||
|
- name: build-explorer-image
|
||||||
|
taskRef:
|
||||||
|
resolver: git
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
|
- name: revision
|
||||||
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
|
- name: pathInRepo
|
||||||
|
value: task/kaniko/0.6/kaniko.yaml
|
||||||
|
params:
|
||||||
|
- name: IMAGE
|
||||||
|
value: "harbor.fizz.buzz/private/homepage-build-organic:$(tasks.get-time.results.unix-time)"
|
||||||
|
- name: CONTEXT
|
||||||
|
value: .
|
||||||
|
- name: DOCKERFILE
|
||||||
|
value: docker/organic/Dockerfile
|
||||||
|
- name: BUILDER_IMAGE
|
||||||
|
value: "gcr.io/kaniko-project/executor:v1.12.1"
|
||||||
|
- name: EXTRA_ARGS
|
||||||
|
value:
|
||||||
|
- "--destination=harbor.fizz.buzz/private/homepage-build-organic" # Also write the :latest image
|
||||||
|
- "--target="
|
||||||
|
- --cache=true
|
||||||
|
- --cache-copy-layers
|
||||||
|
- --cache-repo=harbor.fizz.buzz/kanikocache/cache
|
||||||
|
- --use-new-run # Should result in a speed-up
|
||||||
|
- --reproducible # To remove timestamps so layer caching works.
|
||||||
|
- --snapshot-mode=redo
|
||||||
|
- --skip-unused-stages=true
|
||||||
|
- --registry-mirror=dockerhub.dockerhub.svc.cluster.local
|
||||||
|
workspaces:
|
||||||
|
- name: source
|
||||||
|
workspace: git-source
|
||||||
|
- name: dockerconfig
|
||||||
|
workspace: docker-credentials
|
||||||
|
runAfter:
|
||||||
|
- fetch-repository
|
||||||
|
- name: build-explorer-wasm
|
||||||
|
taskSpec:
|
||||||
|
metadata: {}
|
||||||
|
stepTemplate:
|
||||||
|
image: alpine:3.20
|
||||||
|
computeResources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 600Mi
|
||||||
|
workingDir: "$(workspaces.organic.path)"
|
||||||
|
steps:
|
||||||
|
- image: "$(params.IMAGE)"
|
||||||
|
name: build-explorer-wasm
|
||||||
|
params:
|
||||||
|
- name: IMAGE
|
||||||
|
value: "harbor.fizz.buzz/private/homepage-build-organic:$(tasks.get-time.results.unix-time)"
|
||||||
|
workspaces:
|
||||||
|
- name: organic
|
||||||
|
workspace: git-source-organic
|
||||||
|
runAfter:
|
||||||
|
- build-explorer-image
|
||||||
|
- name: copy-explorer-files
|
||||||
|
taskSpec:
|
||||||
|
metadata: {}
|
||||||
|
stepTemplate:
|
||||||
|
image: alpine:3.20
|
||||||
|
computeResources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 600Mi
|
||||||
|
workingDir: "$(workspaces.source-explorer.path)"
|
||||||
|
steps:
|
||||||
|
- image: node:lts-alpine3.20
|
||||||
|
name: copy-explorer-files
|
||||||
|
script: |
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
set -euo pipefail
|
||||||
|
npm install
|
||||||
|
npm run release
|
||||||
|
mkdir -p "$(workspaces.source.path)/static/organic/ast_explorer/"
|
||||||
|
cp -r "$(workspaces.source-explorer.path)/dist/"* "$(workspaces.source.path)/static/organic/ast_explorer/"
|
||||||
|
workspaces:
|
||||||
|
- name: source
|
||||||
|
workspace: git-source
|
||||||
|
- name: source-explorer
|
||||||
|
workspace: git-source-explorer
|
||||||
|
- name: organic
|
||||||
|
workspace: git-source-organic
|
||||||
|
runAfter:
|
||||||
|
- build-explorer-wasm
|
||||||
- name: build-image
|
- name: build-image
|
||||||
taskRef:
|
taskRef:
|
||||||
resolver: git
|
resolver: git
|
||||||
params:
|
params:
|
||||||
- name: url
|
- name: url
|
||||||
value: https://github.com/tektoncd/catalog.git
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
- name: revision
|
- name: revision
|
||||||
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
- name: pathInRepo
|
- name: pathInRepo
|
||||||
value: task/kaniko/0.6//kaniko.yaml
|
value: task/kaniko/0.6/kaniko.yaml
|
||||||
params:
|
params:
|
||||||
- name: IMAGE
|
- name: IMAGE
|
||||||
value: "$(params.image-name):$(tasks.get-time.results.unix-time)"
|
value: "$(params.image-name):$(tasks.get-time.results.unix-time)"
|
||||||
@@ -152,6 +289,7 @@ spec:
|
|||||||
- name: EXTRA_ARGS
|
- name: EXTRA_ARGS
|
||||||
value:
|
value:
|
||||||
- "--destination=$(params.image-name)" # Also write the :latest image
|
- "--destination=$(params.image-name)" # Also write the :latest image
|
||||||
|
- "--target=$(params.target-name)"
|
||||||
- --cache=true
|
- --cache=true
|
||||||
- --cache-copy-layers
|
- --cache-copy-layers
|
||||||
- --cache-repo=harbor.fizz.buzz/kanikocache/cache
|
- --cache-repo=harbor.fizz.buzz/kanikocache/cache
|
||||||
@@ -167,6 +305,7 @@ spec:
|
|||||||
workspace: docker-credentials
|
workspace: docker-credentials
|
||||||
runAfter:
|
runAfter:
|
||||||
- copy-private-files
|
- copy-private-files
|
||||||
|
- copy-explorer-files
|
||||||
finally:
|
finally:
|
||||||
- name: report-success
|
- name: report-success
|
||||||
when:
|
when:
|
||||||
@@ -177,7 +316,7 @@ spec:
|
|||||||
resolver: git
|
resolver: git
|
||||||
params:
|
params:
|
||||||
- name: url
|
- name: url
|
||||||
value: https://github.com/tektoncd/catalog.git
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
- name: revision
|
- name: revision
|
||||||
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
- name: pathInRepo
|
- name: pathInRepo
|
||||||
@@ -206,7 +345,7 @@ spec:
|
|||||||
resolver: git
|
resolver: git
|
||||||
params:
|
params:
|
||||||
- name: url
|
- name: url
|
||||||
value: https://github.com/tektoncd/catalog.git
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
- name: revision
|
- name: revision
|
||||||
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
- name: pathInRepo
|
- name: pathInRepo
|
||||||
@@ -250,14 +389,34 @@ spec:
|
|||||||
requests:
|
requests:
|
||||||
storage: 10Gi
|
storage: 10Gi
|
||||||
subPath: git-source
|
subPath: git-source
|
||||||
|
- name: git-source-explorer
|
||||||
|
volumeClaimTemplate:
|
||||||
|
spec:
|
||||||
|
storageClassName: "nfs-client"
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
||||||
|
subPath: git-source
|
||||||
|
- name: git-source-organic
|
||||||
|
volumeClaimTemplate:
|
||||||
|
spec:
|
||||||
|
storageClassName: "nfs-client"
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
||||||
|
subPath: git-source
|
||||||
- name: docker-credentials
|
- name: docker-credentials
|
||||||
secret:
|
secret:
|
||||||
secretName: harbor-plain
|
secretName: harbor-plain
|
||||||
serviceAccountName: build-bot
|
|
||||||
timeout: 240h0m0s
|
|
||||||
params:
|
params:
|
||||||
- name: image-name
|
- name: image-name
|
||||||
value: "harbor.fizz.buzz/private/homepage-staging"
|
value: "harbor.fizz.buzz/private/homepage-staging"
|
||||||
|
- name: target-name
|
||||||
|
value: ""
|
||||||
- name: path-to-image-context
|
- name: path-to-image-context
|
||||||
value: .
|
value: .
|
||||||
- name: path-to-dockerfile
|
- name: path-to-dockerfile
|
||||||
@@ -1,13 +1,22 @@
|
|||||||
apiVersion: tekton.dev/v1beta1
|
apiVersion: tekton.dev/v1
|
||||||
kind: PipelineRun
|
kind: PipelineRun
|
||||||
metadata:
|
metadata:
|
||||||
name: build-homepage
|
name: build-homepage
|
||||||
spec:
|
spec:
|
||||||
|
timeouts:
|
||||||
|
pipeline: "2h0m0s"
|
||||||
|
tasks: "1h0m0s"
|
||||||
|
finally: "0h30m0s"
|
||||||
|
taskRunTemplate:
|
||||||
|
serviceAccountName: build-bot
|
||||||
pipelineSpec:
|
pipelineSpec:
|
||||||
params:
|
params:
|
||||||
- name: image-name
|
- name: image-name
|
||||||
description: The name for the built image
|
description: The name for the built image
|
||||||
type: string
|
type: string
|
||||||
|
- name: target-name
|
||||||
|
description: The dockerfile target to build
|
||||||
|
type: string
|
||||||
- name: path-to-image-context
|
- name: path-to-image-context
|
||||||
description: The path to the build context
|
description: The path to the build context
|
||||||
type: string
|
type: string
|
||||||
@@ -15,13 +24,32 @@ spec:
|
|||||||
description: The path to the Dockerfile
|
description: The path to the Dockerfile
|
||||||
type: string
|
type: string
|
||||||
tasks:
|
tasks:
|
||||||
|
- name: get-time
|
||||||
|
taskSpec:
|
||||||
|
metadata: {}
|
||||||
|
stepTemplate:
|
||||||
|
image: alpine:3.20
|
||||||
|
computeResources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 600Mi
|
||||||
|
workingDir: "/"
|
||||||
|
results:
|
||||||
|
- name: unix-time
|
||||||
|
description: The current date in unix timestamp format.
|
||||||
|
steps:
|
||||||
|
- image: alpine:3.20
|
||||||
|
name: get-time-step
|
||||||
|
script: |
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
set -euo pipefail
|
||||||
|
echo -n "$(date +%s)" | tee $(results.unix-time.path)
|
||||||
- name: detect-tag
|
- name: detect-tag
|
||||||
taskSpec:
|
taskSpec:
|
||||||
metadata: {}
|
metadata: {}
|
||||||
stepTemplate:
|
stepTemplate:
|
||||||
image: alpine:3.18
|
image: alpine:3.20
|
||||||
name: ""
|
computeResources:
|
||||||
resources:
|
|
||||||
requests:
|
requests:
|
||||||
cpu: 10m
|
cpu: 10m
|
||||||
memory: 600Mi
|
memory: 600Mi
|
||||||
@@ -53,7 +81,7 @@ spec:
|
|||||||
resolver: git
|
resolver: git
|
||||||
params:
|
params:
|
||||||
- name: url
|
- name: url
|
||||||
value: https://github.com/tektoncd/catalog.git
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
- name: revision
|
- name: revision
|
||||||
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
- name: pathInRepo
|
- name: pathInRepo
|
||||||
@@ -61,6 +89,8 @@ spec:
|
|||||||
runAfter:
|
runAfter:
|
||||||
- fetch-repository
|
- fetch-repository
|
||||||
- fetch-repository-private
|
- fetch-repository-private
|
||||||
|
- fetch-repository-explorer
|
||||||
|
- fetch-repository-organic
|
||||||
params:
|
params:
|
||||||
- name: CONTEXT
|
- name: CONTEXT
|
||||||
value: "$(params.JOB_NAME)"
|
value: "$(params.JOB_NAME)"
|
||||||
@@ -81,7 +111,7 @@ spec:
|
|||||||
resolver: git
|
resolver: git
|
||||||
params:
|
params:
|
||||||
- name: url
|
- name: url
|
||||||
value: https://github.com/tektoncd/catalog.git
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
- name: revision
|
- name: revision
|
||||||
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
- name: pathInRepo
|
- name: pathInRepo
|
||||||
@@ -101,7 +131,7 @@ spec:
|
|||||||
resolver: git
|
resolver: git
|
||||||
params:
|
params:
|
||||||
- name: url
|
- name: url
|
||||||
value: https://github.com/tektoncd/catalog.git
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
- name: revision
|
- name: revision
|
||||||
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
- name: pathInRepo
|
- name: pathInRepo
|
||||||
@@ -116,19 +146,58 @@ spec:
|
|||||||
value: main
|
value: main
|
||||||
- name: deleteExisting
|
- name: deleteExisting
|
||||||
value: "true"
|
value: "true"
|
||||||
|
- name: fetch-repository-explorer
|
||||||
|
taskRef:
|
||||||
|
resolver: git
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
|
- name: revision
|
||||||
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
|
- name: pathInRepo
|
||||||
|
value: task/git-clone/0.9/git-clone.yaml
|
||||||
|
workspaces:
|
||||||
|
- name: output
|
||||||
|
workspace: git-source-explorer
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: git@code.fizz.buzz:talexander/organic_ast_explorer.git
|
||||||
|
- name: revision
|
||||||
|
value: main
|
||||||
|
- name: deleteExisting
|
||||||
|
value: "true"
|
||||||
|
- name: fetch-repository-organic
|
||||||
|
taskRef:
|
||||||
|
resolver: git
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
|
- name: revision
|
||||||
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
|
- name: pathInRepo
|
||||||
|
value: task/git-clone/0.9/git-clone.yaml
|
||||||
|
workspaces:
|
||||||
|
- name: output
|
||||||
|
workspace: git-source-organic
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: git@code.fizz.buzz:talexander/organic.git
|
||||||
|
- name: revision
|
||||||
|
value: main
|
||||||
|
- name: deleteExisting
|
||||||
|
value: "true"
|
||||||
- name: copy-private-files
|
- name: copy-private-files
|
||||||
taskSpec:
|
taskSpec:
|
||||||
metadata: {}
|
metadata: {}
|
||||||
stepTemplate:
|
stepTemplate:
|
||||||
image: alpine:3.18
|
image: alpine:3.20
|
||||||
name: ""
|
computeResources:
|
||||||
resources:
|
|
||||||
requests:
|
requests:
|
||||||
cpu: 10m
|
cpu: 10m
|
||||||
memory: 600Mi
|
memory: 600Mi
|
||||||
workingDir: "$(workspaces.source.path)"
|
workingDir: "$(workspaces.source.path)"
|
||||||
steps:
|
steps:
|
||||||
- image: alpine:3.18
|
- image: alpine:3.20
|
||||||
name: copy-private-files
|
name: copy-private-files
|
||||||
script: |
|
script: |
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
@@ -140,17 +209,106 @@ spec:
|
|||||||
- name: source-private
|
- name: source-private
|
||||||
workspace: git-source-private
|
workspace: git-source-private
|
||||||
runAfter:
|
runAfter:
|
||||||
- report-pending
|
- fetch-repository
|
||||||
|
- fetch-repository-private
|
||||||
|
- name: build-explorer-image
|
||||||
|
taskRef:
|
||||||
|
resolver: git
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
|
- name: revision
|
||||||
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
|
- name: pathInRepo
|
||||||
|
value: task/kaniko/0.6/kaniko.yaml
|
||||||
|
params:
|
||||||
|
- name: IMAGE
|
||||||
|
value: "harbor.fizz.buzz/private/homepage-build-organic:$(tasks.get-time.results.unix-time)"
|
||||||
|
- name: CONTEXT
|
||||||
|
value: .
|
||||||
|
- name: DOCKERFILE
|
||||||
|
value: docker/organic/Dockerfile
|
||||||
|
- name: BUILDER_IMAGE
|
||||||
|
value: "gcr.io/kaniko-project/executor:v1.12.1"
|
||||||
|
- name: EXTRA_ARGS
|
||||||
|
value:
|
||||||
|
- "--destination=harbor.fizz.buzz/private/homepage-build-organic" # Also write the :latest image
|
||||||
|
- "--target="
|
||||||
|
- --cache=true
|
||||||
|
- --cache-copy-layers
|
||||||
|
- --cache-repo=harbor.fizz.buzz/kanikocache/cache
|
||||||
|
- --use-new-run # Should result in a speed-up
|
||||||
|
- --reproducible # To remove timestamps so layer caching works.
|
||||||
|
- --snapshot-mode=redo
|
||||||
|
- --skip-unused-stages=true
|
||||||
|
- --registry-mirror=dockerhub.dockerhub.svc.cluster.local
|
||||||
|
workspaces:
|
||||||
|
- name: source
|
||||||
|
workspace: git-source
|
||||||
|
- name: dockerconfig
|
||||||
|
workspace: docker-credentials
|
||||||
|
runAfter:
|
||||||
|
- fetch-repository
|
||||||
|
- name: build-explorer-wasm
|
||||||
|
taskSpec:
|
||||||
|
metadata: {}
|
||||||
|
stepTemplate:
|
||||||
|
image: alpine:3.20
|
||||||
|
computeResources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 600Mi
|
||||||
|
workingDir: "$(workspaces.organic.path)"
|
||||||
|
steps:
|
||||||
|
- image: "$(params.IMAGE)"
|
||||||
|
name: build-explorer-wasm
|
||||||
|
params:
|
||||||
|
- name: IMAGE
|
||||||
|
value: "harbor.fizz.buzz/private/homepage-build-organic:$(tasks.get-time.results.unix-time)"
|
||||||
|
workspaces:
|
||||||
|
- name: organic
|
||||||
|
workspace: git-source-organic
|
||||||
|
runAfter:
|
||||||
|
- build-explorer-image
|
||||||
|
- name: copy-explorer-files
|
||||||
|
taskSpec:
|
||||||
|
metadata: {}
|
||||||
|
stepTemplate:
|
||||||
|
image: alpine:3.20
|
||||||
|
computeResources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 600Mi
|
||||||
|
workingDir: "$(workspaces.source-explorer.path)"
|
||||||
|
steps:
|
||||||
|
- image: node:lts-alpine3.20
|
||||||
|
name: copy-explorer-files
|
||||||
|
script: |
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
set -euo pipefail
|
||||||
|
npm install
|
||||||
|
npm run release
|
||||||
|
mkdir -p "$(workspaces.source.path)/static/organic/ast_explorer/"
|
||||||
|
cp -r "$(workspaces.source-explorer.path)/dist/"* "$(workspaces.source.path)/static/organic/ast_explorer/"
|
||||||
|
workspaces:
|
||||||
|
- name: source
|
||||||
|
workspace: git-source
|
||||||
|
- name: source-explorer
|
||||||
|
workspace: git-source-explorer
|
||||||
|
- name: organic
|
||||||
|
workspace: git-source-organic
|
||||||
|
runAfter:
|
||||||
|
- build-explorer-wasm
|
||||||
- name: build-image
|
- name: build-image
|
||||||
taskRef:
|
taskRef:
|
||||||
resolver: git
|
resolver: git
|
||||||
params:
|
params:
|
||||||
- name: url
|
- name: url
|
||||||
value: https://github.com/tektoncd/catalog.git
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
- name: revision
|
- name: revision
|
||||||
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
- name: pathInRepo
|
- name: pathInRepo
|
||||||
value: task/kaniko/0.6//kaniko.yaml
|
value: task/kaniko/0.6/kaniko.yaml
|
||||||
params:
|
params:
|
||||||
- name: IMAGE
|
- name: IMAGE
|
||||||
value: "$(params.image-name):$(tasks.detect-tag.results.tag)"
|
value: "$(params.image-name):$(tasks.detect-tag.results.tag)"
|
||||||
@@ -163,6 +321,7 @@ spec:
|
|||||||
- name: EXTRA_ARGS
|
- name: EXTRA_ARGS
|
||||||
value:
|
value:
|
||||||
- "--destination=$(params.image-name)" # Also write the :latest image
|
- "--destination=$(params.image-name)" # Also write the :latest image
|
||||||
|
- "--target=$(params.target-name)"
|
||||||
- --cache=true
|
- --cache=true
|
||||||
- --cache-copy-layers
|
- --cache-copy-layers
|
||||||
- --cache-repo=harbor.fizz.buzz/kanikocache/cache
|
- --cache-repo=harbor.fizz.buzz/kanikocache/cache
|
||||||
@@ -178,6 +337,7 @@ spec:
|
|||||||
workspace: docker-credentials
|
workspace: docker-credentials
|
||||||
runAfter:
|
runAfter:
|
||||||
- copy-private-files
|
- copy-private-files
|
||||||
|
- copy-explorer-files
|
||||||
finally:
|
finally:
|
||||||
- name: report-success
|
- name: report-success
|
||||||
when:
|
when:
|
||||||
@@ -188,7 +348,7 @@ spec:
|
|||||||
resolver: git
|
resolver: git
|
||||||
params:
|
params:
|
||||||
- name: url
|
- name: url
|
||||||
value: https://github.com/tektoncd/catalog.git
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
- name: revision
|
- name: revision
|
||||||
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
- name: pathInRepo
|
- name: pathInRepo
|
||||||
@@ -217,7 +377,7 @@ spec:
|
|||||||
resolver: git
|
resolver: git
|
||||||
params:
|
params:
|
||||||
- name: url
|
- name: url
|
||||||
value: https://github.com/tektoncd/catalog.git
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
- name: revision
|
- name: revision
|
||||||
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
- name: pathInRepo
|
- name: pathInRepo
|
||||||
@@ -261,14 +421,34 @@ spec:
|
|||||||
requests:
|
requests:
|
||||||
storage: 10Gi
|
storage: 10Gi
|
||||||
subPath: git-source
|
subPath: git-source
|
||||||
|
- name: git-source-explorer
|
||||||
|
volumeClaimTemplate:
|
||||||
|
spec:
|
||||||
|
storageClassName: "nfs-client"
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
||||||
|
subPath: git-source
|
||||||
|
- name: git-source-organic
|
||||||
|
volumeClaimTemplate:
|
||||||
|
spec:
|
||||||
|
storageClassName: "nfs-client"
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
||||||
|
subPath: git-source
|
||||||
- name: docker-credentials
|
- name: docker-credentials
|
||||||
secret:
|
secret:
|
||||||
secretName: harbor-plain
|
secretName: harbor-plain
|
||||||
serviceAccountName: build-bot
|
|
||||||
timeout: 240h0m0s
|
|
||||||
params:
|
params:
|
||||||
- name: image-name
|
- name: image-name
|
||||||
value: "harbor.fizz.buzz/private/homepage"
|
value: "harbor.fizz.buzz/private/homepage"
|
||||||
|
- name: target-name
|
||||||
|
value: ""
|
||||||
- name: path-to-image-context
|
- name: path-to-image-context
|
||||||
value: .
|
value: .
|
||||||
- name: path-to-dockerfile
|
- name: path-to-dockerfile
|
||||||
187
.webhook_bridge/pipeline-semver.yaml
Normal file
187
.webhook_bridge/pipeline-semver.yaml
Normal file
@@ -0,0 +1,187 @@
|
|||||||
|
apiVersion: tekton.dev/v1
|
||||||
|
kind: PipelineRun
|
||||||
|
metadata:
|
||||||
|
name: semver
|
||||||
|
spec:
|
||||||
|
timeouts:
|
||||||
|
pipeline: "2h0m0s"
|
||||||
|
tasks: "1h0m0s"
|
||||||
|
finally: "0h30m0s"
|
||||||
|
taskRunTemplate:
|
||||||
|
serviceAccountName: build-bot
|
||||||
|
pipelineSpec:
|
||||||
|
params:
|
||||||
|
- name: REPO_OWNER
|
||||||
|
description: Owner of the repo on gitea
|
||||||
|
type: string
|
||||||
|
- name: REPO_NAME
|
||||||
|
description: Name of the repo on gitea
|
||||||
|
type: string
|
||||||
|
- name: PULL_BASE_SHA
|
||||||
|
description: The commit sha
|
||||||
|
type: string
|
||||||
|
- name: JOB_NAME
|
||||||
|
description: The name of the job to report to gitea
|
||||||
|
type: string
|
||||||
|
tasks:
|
||||||
|
- name: calculate-tag
|
||||||
|
runAfter:
|
||||||
|
- fetch-repository
|
||||||
|
workspaces:
|
||||||
|
- name: source
|
||||||
|
workspace: git-source
|
||||||
|
taskSpec:
|
||||||
|
metadata: {}
|
||||||
|
stepTemplate:
|
||||||
|
image: alpine:3.20
|
||||||
|
computeResources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 600Mi
|
||||||
|
workingDir: /workspace/source
|
||||||
|
results:
|
||||||
|
- name: tag
|
||||||
|
description: The tag to use for the docker container
|
||||||
|
steps:
|
||||||
|
- image: alpine/git:2.43.0
|
||||||
|
name: calculate-tag
|
||||||
|
script: |
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
set -euo pipefail
|
||||||
|
git config --global --add safe.directory $(workspaces.source.path)
|
||||||
|
git fetch --tags
|
||||||
|
current_tag=$(git tag --points-at HEAD --list 'v*.*.*')
|
||||||
|
if [ -z "$current_tag" ]; then
|
||||||
|
prev_tag=$(git tag --list 'v*.*.*' | sort -V -r | head -n 1)
|
||||||
|
if [ -n "$prev_tag" ]; then
|
||||||
|
last_bit=$(echo "$prev_tag" | cut -d '.' -f 3)
|
||||||
|
incremented=$((last_bit + 1))
|
||||||
|
prefix=$(echo "$prev_tag" | grep -oE 'v[0-9]*\.[0-9]*\.')
|
||||||
|
final_tag="${prefix}${incremented}"
|
||||||
|
else
|
||||||
|
final_tag="v0.0.1"
|
||||||
|
fi
|
||||||
|
echo -n "${final_tag}" | tee $(results.tag.path)
|
||||||
|
git tag "${final_tag}"
|
||||||
|
git push origin "${final_tag}"
|
||||||
|
else
|
||||||
|
echo -n "${current_tag}" | tee $(results.tag.path)
|
||||||
|
fi
|
||||||
|
- name: report-pending
|
||||||
|
taskRef:
|
||||||
|
resolver: git
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
|
- name: revision
|
||||||
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
|
- name: pathInRepo
|
||||||
|
value: task/gitea-set-status/0.1/gitea-set-status.yaml
|
||||||
|
params:
|
||||||
|
- name: CONTEXT
|
||||||
|
value: "$(params.JOB_NAME)"
|
||||||
|
- name: REPO_FULL_NAME
|
||||||
|
value: "$(params.REPO_OWNER)/$(params.REPO_NAME)"
|
||||||
|
- name: GITEA_HOST_URL
|
||||||
|
value: code.fizz.buzz
|
||||||
|
- name: SHA
|
||||||
|
value: "$(tasks.fetch-repository.results.commit)"
|
||||||
|
- name: DESCRIPTION
|
||||||
|
value: "Build $(params.JOB_NAME) has started"
|
||||||
|
- name: STATE
|
||||||
|
value: pending
|
||||||
|
- name: TARGET_URL
|
||||||
|
value: "https://tekton.fizz.buzz/#/namespaces/$(context.pipelineRun.namespace)/pipelineruns/$(context.pipelineRun.name)"
|
||||||
|
- name: fetch-repository
|
||||||
|
taskRef:
|
||||||
|
resolver: git
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
|
- name: revision
|
||||||
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
|
- name: pathInRepo
|
||||||
|
value: task/git-clone/0.9/git-clone.yaml
|
||||||
|
workspaces:
|
||||||
|
- name: output
|
||||||
|
workspace: git-source
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: $(params.REPO_URL)
|
||||||
|
- name: revision
|
||||||
|
value: $(params.PULL_BASE_SHA)
|
||||||
|
- name: deleteExisting
|
||||||
|
value: "true"
|
||||||
|
finally:
|
||||||
|
- name: report-success
|
||||||
|
when:
|
||||||
|
- input: "$(tasks.status)"
|
||||||
|
operator: in
|
||||||
|
values: ["Succeeded", "Completed"]
|
||||||
|
taskRef:
|
||||||
|
resolver: git
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
|
- name: revision
|
||||||
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
|
- name: pathInRepo
|
||||||
|
value: task/gitea-set-status/0.1/gitea-set-status.yaml
|
||||||
|
params:
|
||||||
|
- name: CONTEXT
|
||||||
|
value: "$(params.JOB_NAME)"
|
||||||
|
- name: REPO_FULL_NAME
|
||||||
|
value: "$(params.REPO_OWNER)/$(params.REPO_NAME)"
|
||||||
|
- name: GITEA_HOST_URL
|
||||||
|
value: code.fizz.buzz
|
||||||
|
- name: SHA
|
||||||
|
value: "$(tasks.fetch-repository.results.commit)"
|
||||||
|
- name: DESCRIPTION
|
||||||
|
value: "Build $(params.JOB_NAME) has succeeded"
|
||||||
|
- name: STATE
|
||||||
|
value: success
|
||||||
|
- name: TARGET_URL
|
||||||
|
value: "https://tekton.fizz.buzz/#/namespaces/$(context.pipelineRun.namespace)/pipelineruns/$(context.pipelineRun.name)"
|
||||||
|
- name: report-failure
|
||||||
|
when:
|
||||||
|
- input: "$(tasks.status)"
|
||||||
|
operator: in
|
||||||
|
values: ["Failed"]
|
||||||
|
taskRef:
|
||||||
|
resolver: git
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: https://code.fizz.buzz/mirror/catalog.git # mirror of https://github.com/tektoncd/catalog.git
|
||||||
|
- name: revision
|
||||||
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
|
- name: pathInRepo
|
||||||
|
value: task/gitea-set-status/0.1/gitea-set-status.yaml
|
||||||
|
params:
|
||||||
|
- name: CONTEXT
|
||||||
|
value: "$(params.JOB_NAME)"
|
||||||
|
- name: REPO_FULL_NAME
|
||||||
|
value: "$(params.REPO_OWNER)/$(params.REPO_NAME)"
|
||||||
|
- name: GITEA_HOST_URL
|
||||||
|
value: code.fizz.buzz
|
||||||
|
- name: SHA
|
||||||
|
value: "$(tasks.fetch-repository.results.commit)"
|
||||||
|
- name: DESCRIPTION
|
||||||
|
value: "Build $(params.JOB_NAME) has failed"
|
||||||
|
- name: STATE
|
||||||
|
value: failure
|
||||||
|
- name: TARGET_URL
|
||||||
|
value: "https://tekton.fizz.buzz/#/namespaces/$(context.pipelineRun.namespace)/pipelineruns/$(context.pipelineRun.name)"
|
||||||
|
workspaces:
|
||||||
|
- name: git-source
|
||||||
|
workspaces:
|
||||||
|
- name: git-source
|
||||||
|
volumeClaimTemplate:
|
||||||
|
spec:
|
||||||
|
storageClassName: "nfs-client"
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
||||||
|
subPath: source
|
||||||
|
params: []
|
||||||
19
.webhook_bridge/webhook_bridge.toml
Normal file
19
.webhook_bridge/webhook_bridge.toml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
version = "0.0.1"
|
||||||
|
|
||||||
|
[[push]]
|
||||||
|
name = "build"
|
||||||
|
source = "pipeline-build-homepage.yaml"
|
||||||
|
clone_uri = "git@code.fizz.buzz:talexander/homepage.git"
|
||||||
|
branches = [ "^v[0-9]+\\.[0-9]+\\.[0-9]+$" ]
|
||||||
|
|
||||||
|
[[push]]
|
||||||
|
name = "build-staging"
|
||||||
|
source = "pipeline-build-homepage-staging.yaml"
|
||||||
|
clone_uri = "git@code.fizz.buzz:talexander/homepage.git"
|
||||||
|
skip_branches = [ "^v[0-9]+\\.[0-9]+\\.[0-9]+$" ]
|
||||||
|
|
||||||
|
[[push]]
|
||||||
|
name = "semver"
|
||||||
|
source = "pipeline-semver.yaml"
|
||||||
|
clone_uri = "git@code.fizz.buzz:talexander/homepage.git"
|
||||||
|
branches = [ "^main$", "^master$" ]
|
||||||
7
docker/organic/Dockerfile
Normal file
7
docker/organic/Dockerfile
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
FROM rustlang/rust:nightly-alpine3.20
|
||||||
|
|
||||||
|
RUN apk add --no-cache musl-dev make bash
|
||||||
|
RUN rustup target add wasm32-unknown-unknown
|
||||||
|
RUN cargo install wasm-bindgen-cli
|
||||||
|
|
||||||
|
CMD ["make", "wasm"]
|
||||||
52
docker/organic/Makefile
Normal file
52
docker/organic/Makefile
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
SHELL := bash
|
||||||
|
.ONESHELL:
|
||||||
|
.SHELLFLAGS := -eu -o pipefail -c
|
||||||
|
.DELETE_ON_ERROR:
|
||||||
|
MAKEFLAGS += --warn-undefined-variables
|
||||||
|
MAKEFLAGS += --no-builtin-rules
|
||||||
|
OS:=$(shell uname -s)
|
||||||
|
|
||||||
|
ifeq ($(origin .RECIPEPREFIX), undefined)
|
||||||
|
$(error This Make does not support .RECIPEPREFIX. Please use GNU Make 4.0 or later)
|
||||||
|
endif
|
||||||
|
.RECIPEPREFIX = >
|
||||||
|
|
||||||
|
IMAGE_NAME:=homepage-build-organic
|
||||||
|
# REMOTE_REPO:=harbor.fizz.buzz/private
|
||||||
|
TARGET :=
|
||||||
|
|
||||||
|
.PHONY: help
|
||||||
|
help:
|
||||||
|
> @grep -h "##" $(MAKEFILE_LIST) | grep -v grep | sed -E 's/^([^:]*): *## */\1: /'
|
||||||
|
|
||||||
|
.PHONY: build
|
||||||
|
build: ## Build the docker image.
|
||||||
|
> docker build --tag $(IMAGE_NAME) --target=$(TARGET) --file Dockerfile ../../
|
||||||
|
|
||||||
|
.PHONY: push
|
||||||
|
push: ## Push the docker image to a remote repository.
|
||||||
|
ifdef REMOTE_REPO
|
||||||
|
> docker tag $(IMAGE_NAME) $(REMOTE_REPO)/$(IMAGE_NAME)
|
||||||
|
> docker push $(REMOTE_REPO)/$(IMAGE_NAME)
|
||||||
|
else
|
||||||
|
> @echo "REMOTE_REPO not defined, not pushing to a remote repo."
|
||||||
|
endif
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
||||||
|
> docker rmi $(IMAGE_NAME)
|
||||||
|
ifdef REMOTE_REPO
|
||||||
|
> docker rmi $(REMOTE_REPO)/$(IMAGE_NAME)
|
||||||
|
else
|
||||||
|
> @echo "REMOTE_REPO not defined, not removing from remote repo."
|
||||||
|
endif
|
||||||
|
|
||||||
|
.PHONY: run
|
||||||
|
run: build
|
||||||
|
run: ## Launch the docker image
|
||||||
|
> docker run --rm -i -t $(IMAGE_NAME)
|
||||||
|
|
||||||
|
.PHONY: shell
|
||||||
|
shell: ## Launch an interactive shell inside the docker image.
|
||||||
|
shell: build
|
||||||
|
> docker run --rm -i -t --entrypoint /bin/bash --mount type=tmpfs,destination=/tmp $(IMAGE_NAME)
|
||||||
@@ -4,7 +4,7 @@ COPY . /source
|
|||||||
RUN ls /source/
|
RUN ls /source/
|
||||||
RUN natter build --config /source/natter.toml
|
RUN natter build --config /source/natter.toml
|
||||||
|
|
||||||
FROM alpine:3.18 AS server
|
FROM alpine:3.20 AS server
|
||||||
|
|
||||||
RUN apk add --no-cache bash nginx
|
RUN apk add --no-cache bash nginx
|
||||||
RUN addgroup web && adduser -D -G web web && install -d -D -o web -g web -m 700 /srv/http/public
|
RUN addgroup web && adduser -D -G web web && install -d -D -o web -g web -m 700 /srv/http/public
|
||||||
|
|||||||
@@ -45,7 +45,23 @@ http {
|
|||||||
|
|
||||||
location /.well-known/ {
|
location /.well-known/ {
|
||||||
alias /srv/http/public/well-known/;
|
alias /srv/http/public/well-known/;
|
||||||
# default_type text/plain;
|
default_type text/plain;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /.well-known/openpgpkey/hu/ {
|
||||||
|
alias /srv/http/public/well-known/openpgpkey/fizz.buzz/hu/;
|
||||||
|
default_type "application/octet-stream";
|
||||||
|
add_header Access-Control-Allow-Origin * always;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /.well-known/openpgpkey/policy {
|
||||||
|
alias /srv/http/public/well-known/openpgpkey/fizz.buzz/policy;
|
||||||
|
default_type "application/octet-stream";
|
||||||
|
add_header Access-Control-Allow-Origin * always;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ /\.well-known/(?<path>openpgpkey/[^/]+/hu/.*) {
|
||||||
|
alias /srv/http/public/well-known/$path;
|
||||||
default_type "application/octet-stream";
|
default_type "application/octet-stream";
|
||||||
add_header Access-Control-Allow-Origin * always;
|
add_header Access-Control-Allow-Origin * always;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ Links:
|
|||||||
- My personal repos: [[https://code.fizz.buzz/explore/repos][code.fizz.buzz]]
|
- My personal repos: [[https://code.fizz.buzz/explore/repos][code.fizz.buzz]]
|
||||||
- LinkedIn: https://www.linkedin.com/in/tom-alexander-b6a18216/
|
- LinkedIn: https://www.linkedin.com/in/tom-alexander-b6a18216/
|
||||||
- GitHub: https://github.com/tomalexander
|
- GitHub: https://github.com/tomalexander
|
||||||
- Resume: https://fizz.buzz/resume.pdf
|
- Resume: https://fizz.buzz/tom_alexander_resume.pdf
|
||||||
- PGP Key: https://fizz.buzz/pgp.asc
|
- PGP Key: https://fizz.buzz/pgp.asc
|
||||||
|
|
||||||
* Why is your website the way it is?
|
* Why is your website the way it is?
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user