Compare commits

..

13 Commits

Author SHA1 Message Date
Tom Alexander
83cf479342 Update alpine.
All checks were successful
build-homepage-staging Build build-homepage-staging has succeeded
build-homepage Build build-homepage has succeeded
2024-04-23 22:15:02 -04:00
Tom Alexander
3954f1a2ae Force a build to roll out organic ast explorer changes.
All checks were successful
semver Build semver has succeeded
build-homepage-staging Build build-homepage-staging has succeeded
build-homepage Build build-homepage has succeeded
2024-01-28 19:12:14 -05:00
Tom Alexander
32a5a75c45 Force a build to roll out organic ast explorer changes.
All checks were successful
semver Build semver has succeeded
build-homepage Build build-homepage has succeeded
build-homepage-staging Build build-homepage-staging has succeeded
2024-01-28 18:32:56 -05:00
Tom Alexander
0cefdffa05 Force a build to roll out organic ast explorer changes.
All checks were successful
semver Build semver has succeeded
build-homepage-staging Build build-homepage-staging has succeeded
build-homepage Build build-homepage has succeeded
2024-01-28 17:19:53 -05:00
Tom Alexander
c8d72176c8 Force a build to roll out organic ast explorer changes.
All checks were successful
semver Build semver has succeeded
build-homepage-staging Build build-homepage-staging has succeeded
build-homepage Build build-homepage has succeeded
2024-01-28 02:04:50 -05:00
Tom Alexander
ee29c4f795 Force a build to roll out organic ast explorer changes.
All checks were successful
semver Build semver has succeeded
build-homepage-staging Build build-homepage-staging has succeeded
build-homepage Build build-homepage has succeeded
2024-01-28 01:18:02 -05:00
Tom Alexander
1cfaebd377 Merge branch 'organic_ast_explorer'
All checks were successful
semver Build semver has succeeded
build-homepage-staging Build build-homepage-staging has succeeded
build-homepage Build build-homepage has succeeded
2024-01-28 00:31:09 -05:00
Tom Alexander
d7c2a34c8e Add the organic AST explorer to the CI builds for the homepage. 2024-01-28 00:30:42 -05:00
Tom Alexander
57dd72fb91 Add a direct route for wkd also.
All checks were successful
semver Build semver has succeeded
build-homepage-staging Build build-homepage-staging has succeeded
build-homepage Build build-homepage has succeeded
I think we can reuse the files for the advanced layout by redirecting to the fizz.buzz directory.
2024-01-02 21:28:43 -05:00
Tom Alexander
ad73c7e3c5 Fix regex for pgp wkd.
All checks were successful
semver Build semver has succeeded
build-homepage-staging Build build-homepage-staging has succeeded
build-homepage Build build-homepage has succeeded
2024-01-02 13:40:12 -05:00
Tom Alexander
e2451c7510 Separate out the locations in well-known again.
All checks were successful
semver Build semver has succeeded
build-homepage-staging Build build-homepage-staging has succeeded
build-homepage Build build-homepage has succeeded
2024-01-02 13:35:55 -05:00
Tom Alexander
1633099428 Update the nginx config to use a single well-known location block.
All checks were successful
semver Build semver has succeeded
build-homepage-staging Build build-homepage-staging has succeeded
build-homepage Build build-homepage has succeeded
2024-01-02 13:33:24 -05:00
Tom Alexander
d214244217 Inline the pipeline for building for the full homepage.
All checks were successful
semver Build semver has succeeded
build-homepage-staging Build build-homepage-staging has succeeded
build-homepage Build build-homepage has succeeded
Previously, this was using a pre-defined pipeline that had to be loaded into the kubernetes context before this ran. Now, the pipeline is inlined with resolvers for the various tasks used from the catalog.
2024-01-02 13:12:23 -05:00
7 changed files with 682 additions and 32 deletions

View File

@@ -49,6 +49,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)"
@@ -130,6 +132,137 @@ spec:
runAfter: runAfter:
- get-time - get-time
- report-pending - report-pending
- name: fetch-repository-explorer
taskRef:
resolver: git
params:
- name: url
value: 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://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: build-explorer-image
taskRef:
resolver: git
params:
- name: url
value: 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
- --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:
- get-time
- report-pending
- name: build-explorer-wasm
taskSpec:
metadata: {}
stepTemplate:
image: alpine:3.18
name: ""
resources:
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:
- get-time
- build-explorer-image
- name: copy-explorer-files
taskSpec:
metadata: {}
stepTemplate:
image: alpine:3.18
name: ""
resources:
requests:
cpu: 10m
memory: 600Mi
workingDir: "$(workspaces.source-explorer.path)"
steps:
- image: node:lts-alpine3.19
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
@@ -167,6 +300,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:
@@ -250,6 +384,26 @@ 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

View File

@@ -0,0 +1,451 @@
apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
name: build-homepage
spec:
pipelineSpec:
params:
- name: image-name
description: The name for the built image
type: string
- name: path-to-image-context
description: The path to the build context
type: string
- name: path-to-dockerfile
description: The path to the Dockerfile
type: string
tasks:
- name: get-time
taskSpec:
metadata: {}
stepTemplate:
image: alpine:3.18
name: ""
resources:
requests:
cpu: 10m
memory: 600Mi
workingDir: /workspace/source
results:
- name: unix-time
description: The current date in unix timestamp format
steps:
- image: alpine:3.18
name: get-time-step
script: |
#!/usr/bin/env sh
set -euo pipefail
echo -n "$(date +%s)" | tee $(results.unix-time.path)
- name: detect-tag
taskSpec:
metadata: {}
stepTemplate:
image: alpine:3.18
name: ""
resources:
requests:
cpu: 10m
memory: 600Mi
workingDir: "$(workspaces.repo.path)"
results:
- name: tag
description: The tag to use for the docker container.
steps:
- image: alpine/git:v2.34.2
name: detect-tag-step
script: |
#!/usr/bin/env sh
set -euo pipefail
git fetch --tags
current_tag=$(git tag --points-at HEAD --list 'v*.*.*')
if [ -z "$current_tag" ]; then
echo "No tag at current commit"
exit 1
else
echo -n "${current_tag}" | tee $(results.tag.path)
fi
workspaces:
- name: repo
workspace: git-source
runAfter:
- fetch-repository
- name: report-pending
taskRef:
resolver: git
params:
- name: url
value: https://github.com/tektoncd/catalog.git
- name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo
value: task/gitea-set-status/0.1/gitea-set-status.yaml
runAfter:
- fetch-repository
- fetch-repository-private
- fetch-repository-explorer
- fetch-repository-organic
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://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"
- name: fetch-repository-private
taskRef:
resolver: git
params:
- name: url
value: 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-private
params:
- name: url
value: git@code.fizz.buzz:talexander/homepage_private.git
- name: revision
value: main
- name: deleteExisting
value: "true"
- name: copy-private-files
taskSpec:
metadata: {}
stepTemplate:
image: alpine:3.18
name: ""
resources:
requests:
cpu: 10m
memory: 600Mi
workingDir: "$(workspaces.source.path)"
steps:
- image: alpine:3.18
name: copy-private-files
script: |
#!/usr/bin/env sh
set -euo pipefail
cp -r "$(workspaces.source-private.path)/static/"* "$(workspaces.source.path)/static/"
workspaces:
- name: source
workspace: git-source
- name: source-private
workspace: git-source-private
runAfter:
- report-pending
- name: fetch-repository-explorer
taskRef:
resolver: git
params:
- name: url
value: 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://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: build-explorer-image
taskRef:
resolver: git
params:
- name: url
value: 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
- --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:
- get-time
- report-pending
- name: build-explorer-wasm
taskSpec:
metadata: {}
stepTemplate:
image: alpine:3.18
name: ""
resources:
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:
- get-time
- build-explorer-image
- name: copy-explorer-files
taskSpec:
metadata: {}
stepTemplate:
image: alpine:3.18
name: ""
resources:
requests:
cpu: 10m
memory: 600Mi
workingDir: "$(workspaces.source-explorer.path)"
steps:
- image: node:lts-alpine3.19
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
taskRef:
resolver: git
params:
- name: url
value: https://github.com/tektoncd/catalog.git
- name: revision
value: df36b3853a5657fd883015cdbf07ad6466918acf
- name: pathInRepo
value: task/kaniko/0.6//kaniko.yaml
params:
- name: IMAGE
value: "$(params.image-name):$(tasks.detect-tag.results.tag)"
- name: CONTEXT
value: $(params.path-to-image-context)
- name: DOCKERFILE
value: $(params.path-to-dockerfile)
- name: BUILDER_IMAGE
value: "gcr.io/kaniko-project/executor:v1.12.1"
- name: EXTRA_ARGS
value:
- "--destination=$(params.image-name)" # Also write the :latest image
- --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:
- detect-tag
- copy-private-files
- copy-explorer-files
finally:
- name: report-success
when:
- input: "$(tasks.status)"
operator: in
values: ["Succeeded", "Completed"]
taskRef:
resolver: git
params:
- name: url
value: 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://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
- name: docker-credentials
workspaces:
- name: git-source
volumeClaimTemplate:
spec:
storageClassName: "nfs-client"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
subPath: rust-source
- name: git-source-private
volumeClaimTemplate:
spec:
storageClassName: "nfs-client"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
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
secret:
secretName: harbor-plain
serviceAccountName: build-bot
timeout: 240h0m0s
params:
- name: image-name
value: "harbor.fizz.buzz/private/homepage"
- name: path-to-image-context
value: .
- name: path-to-dockerfile
value: docker/server/Dockerfile

View File

@@ -36,35 +36,8 @@ spec:
# We already run on every commit, so running when the semver tags get pushed is causing needless double-processing. # 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]+$" - "^v[0-9]+\\.[0-9]+\\.[0-9]+$"
- name: build-homepage - name: build-homepage
agent: tekton-pipeline source: "pipeline-build-homepage.yaml"
branches:
- "^v[0-9]+\\.[0-9]+\\.[0-9]+$"
context: build-docker
max_concurrency: 1
# Override https-based url from lighthouse events. # Override https-based url from lighthouse events.
clone_uri: "git@code.fizz.buzz:talexander/homepage.git" clone_uri: "git@code.fizz.buzz:talexander/homepage.git"
pipeline_run_spec: branches:
serviceAccountName: build-bot - "^v[0-9]+\\.[0-9]+\\.[0-9]+$"
pipelineRef:
name: build-docker-pipeline
workspaces:
- name: git-source
volumeClaimTemplate:
spec:
storageClassName: "nfs-client"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
subPath: git-source
- name: docker-credentials
secret:
secretName: harbor-plain
params:
- name: image-name
value: "harbor.fizz.buzz/private/homepage"
- name: path-to-image-context
value: .
- name: path-to-dockerfile
value: docker/server/Dockerfile

View File

@@ -0,0 +1,7 @@
FROM rustlang/rust:nightly-alpine3.19
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
View 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)

View File

@@ -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.19 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

View File

@@ -48,7 +48,20 @@ http {
default_type text/plain; default_type text/plain;
} }
location ~ /\.well-known/openpgpkey/[^/]+/hu/ { 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;
} }