mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-04 15:35:10 +00:00
chore(console): buf stub build (#5215)
* buf gen yaml * dep, buildcmd * deps * buf yml * buf work * gen yml * buf * buf mod update * path * chore: fix buf * npm package * build as prodbuild * trigger * temp rm basepath * base href * generate as prelint * proto proto * rm unused gitignore --------- Co-authored-by: Florian Forster <florian@zitadel.com> Co-authored-by: Livio Spring <livio.a@gmail.com>
This commit is contained in:
parent
0ca5760557
commit
40ad36f5fd
@ -19,7 +19,6 @@ before:
|
|||||||
- docker build -f build/zitadel/Dockerfile . -t zitadel-go-test --target go-codecov -o .artifacts/codecov
|
- docker build -f build/zitadel/Dockerfile . -t zitadel-go-test --target go-codecov -o .artifacts/codecov
|
||||||
- docker build -f build/zitadel/Dockerfile . -t zitadel-go-base --target go-copy -o .artifacts/grpc/go-client
|
- docker build -f build/zitadel/Dockerfile . -t zitadel-go-base --target go-copy -o .artifacts/grpc/go-client
|
||||||
- sh -c "cp -r .artifacts/grpc/go-client/* ."
|
- sh -c "cp -r .artifacts/grpc/go-client/* ."
|
||||||
- docker build -f build/console/Dockerfile . -t zitadel-npm-base --target npm-copy -o .artifacts/grpc/js-client
|
|
||||||
- docker build -f build/console/Dockerfile . -t zitadel-npm-console --target angular-export -o .artifacts/console
|
- docker build -f build/console/Dockerfile . -t zitadel-npm-console --target angular-export -o .artifacts/console
|
||||||
- sh -c "cp -r .artifacts/console/* internal/api/ui/console/static/"
|
- sh -c "cp -r .artifacts/console/* internal/api/ui/console/static/"
|
||||||
|
|
||||||
@ -33,46 +32,44 @@ builds:
|
|||||||
goarch:
|
goarch:
|
||||||
- amd64
|
- amd64
|
||||||
- arm64
|
- arm64
|
||||||
ldflags:
|
ldflags: -s -w -X github.com/zitadel/zitadel/cmd/build.version={{.Version}} -X github.com/zitadel/zitadel/cmd/build.commit={{.Commit}} -X github.com/zitadel/zitadel/cmd/build.date={{.Date}}
|
||||||
-s -w -X github.com/zitadel/zitadel/cmd/build.version={{.Version}} -X github.com/zitadel/zitadel/cmd/build.commit={{.Commit}} -X github.com/zitadel/zitadel/cmd/build.date={{.Date}}
|
|
||||||
|
|
||||||
dist: .artifacts/goreleaser
|
dist: .artifacts/goreleaser
|
||||||
|
|
||||||
dockers:
|
dockers:
|
||||||
- image_templates:
|
- image_templates:
|
||||||
- ghcr.io/zitadel/zitadel:{{ .Tag }}-amd64
|
- ghcr.io/zitadel/zitadel:{{ .Tag }}-amd64
|
||||||
- europe-docker.pkg.dev/zitadel-common/zitadel-repo/zitadel:{{ .Tag }}-amd64
|
- europe-docker.pkg.dev/zitadel-common/zitadel-repo/zitadel:{{ .Tag }}-amd64
|
||||||
goarch: amd64
|
goarch: amd64
|
||||||
use: buildx
|
use: buildx
|
||||||
dockerfile: build/Dockerfile
|
dockerfile: build/Dockerfile
|
||||||
build_flag_templates:
|
build_flag_templates:
|
||||||
- "--platform=linux/amd64"
|
- "--platform=linux/amd64"
|
||||||
- image_templates:
|
- image_templates:
|
||||||
- ghcr.io/zitadel/zitadel:{{ .Tag }}-arm64
|
- ghcr.io/zitadel/zitadel:{{ .Tag }}-arm64
|
||||||
- ghcr.io/zitadel/zitadel:{{ .ShortCommit }}-arm64
|
- ghcr.io/zitadel/zitadel:{{ .ShortCommit }}-arm64
|
||||||
goarch: arm64
|
goarch: arm64
|
||||||
use: buildx
|
use: buildx
|
||||||
dockerfile: build/Dockerfile
|
dockerfile: build/Dockerfile
|
||||||
build_flag_templates:
|
build_flag_templates:
|
||||||
- "--platform=linux/arm64"
|
- "--platform=linux/arm64"
|
||||||
|
|
||||||
docker_manifests:
|
docker_manifests:
|
||||||
- id: zitadel-latest
|
- id: zitadel-latest
|
||||||
name_template: ghcr.io/zitadel/zitadel:latest
|
name_template: ghcr.io/zitadel/zitadel:latest
|
||||||
image_templates:
|
image_templates:
|
||||||
- ghcr.io/zitadel/zitadel:{{ .Tag }}-amd64
|
- ghcr.io/zitadel/zitadel:{{ .Tag }}-amd64
|
||||||
- ghcr.io/zitadel/zitadel:{{ .Tag }}-arm64
|
- ghcr.io/zitadel/zitadel:{{ .Tag }}-arm64
|
||||||
# Skips can and shall be set for individual manifests same as in dockers
|
# Skips can and shall be set for individual manifests same as in dockers
|
||||||
skip_push: auto
|
skip_push: auto
|
||||||
- id: zitadel-Tag
|
- id: zitadel-Tag
|
||||||
name_template: ghcr.io/zitadel/zitadel:{{ .Tag }}
|
name_template: ghcr.io/zitadel/zitadel:{{ .Tag }}
|
||||||
image_templates:
|
image_templates:
|
||||||
- ghcr.io/zitadel/zitadel:{{ .Tag }}-amd64
|
- ghcr.io/zitadel/zitadel:{{ .Tag }}-amd64
|
||||||
- ghcr.io/zitadel/zitadel:{{ .Tag }}-arm64
|
- ghcr.io/zitadel/zitadel:{{ .Tag }}-arm64
|
||||||
|
|
||||||
|
|
||||||
archives:
|
archives:
|
||||||
- name_template: '{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
|
- name_template: "{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}"
|
||||||
replacements:
|
replacements:
|
||||||
darwin: Darwin
|
darwin: Darwin
|
||||||
linux: Linux
|
linux: Linux
|
||||||
@ -80,8 +77,8 @@ archives:
|
|||||||
386: i386
|
386: i386
|
||||||
amd64: x86_64
|
amd64: x86_64
|
||||||
format_overrides:
|
format_overrides:
|
||||||
- goos: windows
|
- goos: windows
|
||||||
format: zip
|
format: zip
|
||||||
files:
|
files:
|
||||||
- README.md
|
- README.md
|
||||||
- LICENSE
|
- LICENSE
|
||||||
@ -90,14 +87,14 @@ gomod:
|
|||||||
proxy: false
|
proxy: false
|
||||||
|
|
||||||
checksum:
|
checksum:
|
||||||
name_template: 'checksums.txt'
|
name_template: "checksums.txt"
|
||||||
|
|
||||||
changelog:
|
changelog:
|
||||||
sort: asc
|
sort: asc
|
||||||
filters:
|
filters:
|
||||||
exclude:
|
exclude:
|
||||||
- '^docs:'
|
- "^docs:"
|
||||||
- '^test:'
|
- "^test:"
|
||||||
|
|
||||||
brews:
|
brews:
|
||||||
- tap:
|
- tap:
|
||||||
@ -106,15 +103,15 @@ brews:
|
|||||||
token: "{{ .Env.GORELEASER_TOKEN_TAP }}"
|
token: "{{ .Env.GORELEASER_TOKEN_TAP }}"
|
||||||
folder: Formula
|
folder: Formula
|
||||||
goarm: "7"
|
goarm: "7"
|
||||||
homepage: https://zitadel.com
|
homepage: https://zitadel.com
|
||||||
description: Open source identity solution built for the container and cloud era
|
description: Open source identity solution built for the container and cloud era
|
||||||
license: Apache 2.0
|
license: Apache 2.0
|
||||||
test: |
|
test: |
|
||||||
system "#{bin}/zitadel -v"
|
system "#{bin}/zitadel -v"
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: go
|
- name: go
|
||||||
type: optional
|
type: optional
|
||||||
- name: git
|
- name: git
|
||||||
install: |-
|
install: |-
|
||||||
bin.install "zitadel"
|
bin.install "zitadel"
|
||||||
# If set to auto, the release will not be uploaded to the homebrew tap
|
# If set to auto, the release will not be uploaded to the homebrew tap
|
||||||
@ -125,4 +122,4 @@ brews:
|
|||||||
announce:
|
announce:
|
||||||
discord:
|
discord:
|
||||||
enabled: true
|
enabled: true
|
||||||
message_template: 'ZITADEL {{ .Tag }} is ready! Check the notes: https://github.com/zitadel/zitadel/releases/tag/{{ .Tag }}'
|
message_template: "ZITADEL {{ .Tag }} is ready! Check the notes: https://github.com/zitadel/zitadel/releases/tag/{{ .Tag }}"
|
||||||
|
3
buf.work.yaml
Normal file
3
buf.work.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version: v1
|
||||||
|
directories:
|
||||||
|
- proto
|
@ -14,24 +14,14 @@ RUN npm ci
|
|||||||
|
|
||||||
# Sources
|
# Sources
|
||||||
COPY console .
|
COPY console .
|
||||||
COPY --from=zitadel-base:local /proto /proto
|
COPY proto/ /proto/
|
||||||
COPY --from=zitadel-base:local /usr/local/bin /usr/local/bin/.
|
|
||||||
COPY build/console build/console/
|
|
||||||
RUN build/console/generate-grpc.sh
|
|
||||||
|
|
||||||
#######################
|
|
||||||
## copy for local dev
|
|
||||||
#######################
|
|
||||||
FROM scratch as npm-copy
|
|
||||||
COPY --from=npm-base /console/src/app/proto/generated /console/src/app/proto/generated
|
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
## angular lint workspace and prod build
|
## angular lint workspace and prod build
|
||||||
#######################
|
#######################
|
||||||
FROM npm-base as angular-build
|
FROM npm-base as angular-build
|
||||||
|
|
||||||
RUN npm run lint
|
RUN npm run lint
|
||||||
RUN npm run prodbuild
|
RUN npm run build
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
## Only Copy Assets
|
## Only Copy Assets
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -eux
|
|
||||||
|
|
||||||
GEN_PATH=src/app/proto/generated
|
|
||||||
|
|
||||||
echo "Create folders"
|
|
||||||
mkdir -p $GEN_PATH
|
|
||||||
|
|
||||||
echo "Generate grpc"
|
|
||||||
|
|
||||||
protoc \
|
|
||||||
-I=/proto/include \
|
|
||||||
-I=node_modules/google-proto-files \
|
|
||||||
--js_out=import_style=commonjs,binary:$GEN_PATH \
|
|
||||||
--grpc-web_out=import_style=typescript,mode=grpcweb:$GEN_PATH \
|
|
||||||
$(find /proto/include -iname "*.proto")
|
|
1
console/.gitignore
vendored
1
console/.gitignore
vendored
@ -48,3 +48,4 @@ Thumbs.db
|
|||||||
# Proto generated js files
|
# Proto generated js files
|
||||||
src/app/proto
|
src/app/proto
|
||||||
|
|
||||||
|
|
||||||
|
14
console/buf.gen.yaml
Normal file
14
console/buf.gen.yaml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# buf.gen.yaml
|
||||||
|
version: v1
|
||||||
|
managed:
|
||||||
|
enabled: true
|
||||||
|
plugins:
|
||||||
|
- plugin: buf.build/protocolbuffers/js
|
||||||
|
out: src/app/proto/generated
|
||||||
|
opt: import_style=commonjs,binary
|
||||||
|
- plugin: buf.build/grpc/web
|
||||||
|
out: src/app/proto/generated
|
||||||
|
opt: import_style=typescript,mode=grpcweb
|
||||||
|
- plugin: buf.build/grpc-ecosystem/openapiv2
|
||||||
|
out: src/app/proto/generated
|
||||||
|
opt: allow_delete_body
|
120
console/package-lock.json
generated
120
console/package-lock.json
generated
@ -57,6 +57,7 @@
|
|||||||
"@angular/cli": "^15.0.2",
|
"@angular/cli": "^15.0.2",
|
||||||
"@angular/compiler-cli": "^15.0.2",
|
"@angular/compiler-cli": "^15.0.2",
|
||||||
"@angular/language-service": "^15.0.4",
|
"@angular/language-service": "^15.0.4",
|
||||||
|
"@bufbuild/buf": "^1.14.0",
|
||||||
"@types/jasmine": "~4.3.0",
|
"@types/jasmine": "~4.3.0",
|
||||||
"@types/jasminewd2": "~2.0.10",
|
"@types/jasminewd2": "~2.0.10",
|
||||||
"@types/jsonwebtoken": "^9.0.0",
|
"@types/jsonwebtoken": "^9.0.0",
|
||||||
@ -2473,6 +2474,125 @@
|
|||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@bufbuild/buf": {
|
||||||
|
"version": "1.14.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@bufbuild/buf/-/buf-1.14.0.tgz",
|
||||||
|
"integrity": "sha512-hW6wua/V+goxF99TSoQ/ps/gLdLkyuMjUs6zm15rpNvYOqB5UNg3t4N29SOWqfGhwVU5eeAC2XubT24eVOCcRQ==",
|
||||||
|
"dev": true,
|
||||||
|
"hasInstallScript": true,
|
||||||
|
"bin": {
|
||||||
|
"buf": "bin/buf",
|
||||||
|
"protoc-gen-buf-breaking": "bin/protoc-gen-buf-breaking",
|
||||||
|
"protoc-gen-buf-lint": "bin/protoc-gen-buf-lint"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@bufbuild/buf-darwin-arm64": "1.14.0",
|
||||||
|
"@bufbuild/buf-darwin-x64": "1.14.0",
|
||||||
|
"@bufbuild/buf-linux-aarch64": "1.14.0",
|
||||||
|
"@bufbuild/buf-linux-x64": "1.14.0",
|
||||||
|
"@bufbuild/buf-win32-arm64": "1.14.0",
|
||||||
|
"@bufbuild/buf-win32-x64": "1.14.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@bufbuild/buf-darwin-arm64": {
|
||||||
|
"version": "1.14.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@bufbuild/buf-darwin-arm64/-/buf-darwin-arm64-1.14.0.tgz",
|
||||||
|
"integrity": "sha512-V6WonyHSLtrCd+xl5XAqzpDXUMLhJF3seVD6ap4yJW6nigHw49+Oz38oE0DgwOlkIOoNgS8TWsRZFUyBXfV9vQ==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@bufbuild/buf-darwin-x64": {
|
||||||
|
"version": "1.14.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@bufbuild/buf-darwin-x64/-/buf-darwin-x64-1.14.0.tgz",
|
||||||
|
"integrity": "sha512-ZhPc0mN7K8E8IJGWzdCxb5CHqwmv3HSB25IgEjqTkwCDIUV7cPIUfb/56G6ir0shWCcVRoGPv2KbSG5rL0AYIw==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@bufbuild/buf-linux-aarch64": {
|
||||||
|
"version": "1.14.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@bufbuild/buf-linux-aarch64/-/buf-linux-aarch64-1.14.0.tgz",
|
||||||
|
"integrity": "sha512-M7La4zzSXGgIwhKclZFgh5OXvKkx5/1fsGKTJWfDL25xPMYrvZI7y1i44iOK5H8ciKe24fatITZHE0ZQVRohoQ==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@bufbuild/buf-linux-x64": {
|
||||||
|
"version": "1.14.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@bufbuild/buf-linux-x64/-/buf-linux-x64-1.14.0.tgz",
|
||||||
|
"integrity": "sha512-/fqaKAUpFNbP6A2ROU/r35R2Fxig55MtseYtHNSLcQI6k9ubhdVsI3cM0MlOZ1VawclDYFiTpCd1urUL7spvsw==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@bufbuild/buf-win32-arm64": {
|
||||||
|
"version": "1.14.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@bufbuild/buf-win32-arm64/-/buf-win32-arm64-1.14.0.tgz",
|
||||||
|
"integrity": "sha512-t7cd8MfqJ2ew6uXUYVbgq97OzN/ybnJ5Q5yKbEGexkyOBHQZsEhv0FkJWkAn1DN93j5iqHO6xlDkHpGMjAW1sg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@bufbuild/buf-win32-x64": {
|
||||||
|
"version": "1.14.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@bufbuild/buf-win32-x64/-/buf-win32-x64-1.14.0.tgz",
|
||||||
|
"integrity": "sha512-KD0T1rkX7yfykKZodnAj2WxhIZfkA/sox6VAY20F6X6ckLP96/3TSVWvDPfDN2DNkTcmokygNtA2/ir0KejDfQ==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@colors/colors": {
|
"node_modules/@colors/colors": {
|
||||||
"version": "1.5.0",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
|
||||||
|
@ -4,11 +4,11 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"ng": "ng",
|
"ng": "ng",
|
||||||
"start": "ng serve",
|
"start": "ng serve",
|
||||||
"build": "ng build",
|
"build": "ng build --configuration production --base-href=/ui/console/",
|
||||||
"prodbuild": "ng build --configuration production --base-href=/ui/console/",
|
"prelint": "npm run generate",
|
||||||
"lint": "ng lint && prettier --check src",
|
"lint": "ng lint && prettier --check src",
|
||||||
"lint:fix": "prettier --write src",
|
"lint:fix": "prettier --write src",
|
||||||
"generate": "DOCKER_BUILDKIT=1 docker build -f ../build/grpc/Dockerfile -t zitadel-base:local .. && DOCKER_BUILDKIT=1 docker build -f ../build/console/Dockerfile .. --target npm-copy -o .."
|
"generate": "buf generate ../proto --include-imports --include-wkt"
|
||||||
},
|
},
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -61,6 +61,7 @@
|
|||||||
"@angular/cli": "^15.0.2",
|
"@angular/cli": "^15.0.2",
|
||||||
"@angular/compiler-cli": "^15.0.2",
|
"@angular/compiler-cli": "^15.0.2",
|
||||||
"@angular/language-service": "^15.0.4",
|
"@angular/language-service": "^15.0.4",
|
||||||
|
"@bufbuild/buf": "^1.14.0",
|
||||||
"@types/jasmine": "~4.3.0",
|
"@types/jasmine": "~4.3.0",
|
||||||
"@types/jasminewd2": "~2.0.10",
|
"@types/jasminewd2": "~2.0.10",
|
||||||
"@types/jsonwebtoken": "^9.0.0",
|
"@types/jsonwebtoken": "^9.0.0",
|
||||||
|
15
proto/buf.lock
Normal file
15
proto/buf.lock
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# Generated by buf. DO NOT EDIT.
|
||||||
|
version: v1
|
||||||
|
deps:
|
||||||
|
- remote: buf.build
|
||||||
|
owner: envoyproxy
|
||||||
|
repository: protoc-gen-validate
|
||||||
|
commit: 6607b10f00ed4a3d98f906807131c44a
|
||||||
|
- remote: buf.build
|
||||||
|
owner: googleapis
|
||||||
|
repository: googleapis
|
||||||
|
commit: 75b4300737fb4efca0831636be94e517
|
||||||
|
- remote: buf.build
|
||||||
|
owner: grpc-ecosystem
|
||||||
|
repository: grpc-gateway
|
||||||
|
commit: a1ecdc58eccd49aa8bea2a7a9022dc27
|
12
proto/buf.yaml
Normal file
12
proto/buf.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
version: v1
|
||||||
|
name: buf.build/zitadel/zitadel
|
||||||
|
deps:
|
||||||
|
- buf.build/grpc-ecosystem/grpc-gateway
|
||||||
|
- buf.build/envoyproxy/protoc-gen-validate
|
||||||
|
- buf.build/googleapis/googleapis
|
||||||
|
breaking:
|
||||||
|
use:
|
||||||
|
- FILE
|
||||||
|
lint:
|
||||||
|
use:
|
||||||
|
- MINIMAL
|
Loading…
Reference in New Issue
Block a user