Initial commit of templates
commit
afa32b961c
|
|
@ -0,0 +1,2 @@
|
|||
|
||||
# Nothing to see here
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
steps:
|
||||
# Builds your Go application
|
||||
build:
|
||||
# Set your preferred Go version:
|
||||
image: golang:1.17
|
||||
environment:
|
||||
# Needed if you want to cross-compile and package the binary in a container.
|
||||
- CGO_ENABLED=0
|
||||
# Select your target OS:
|
||||
- GOOS=linux
|
||||
# Select your target architecture:
|
||||
- GOARCH=amd64
|
||||
commands:
|
||||
- go get
|
||||
- go build
|
||||
|
||||
# Runs a dryrun to build the docker container
|
||||
dryrun-docker:
|
||||
image: plugins/kaniko
|
||||
settings:
|
||||
repo: DOCKERUSERNAME/DOCKERHUBREPO
|
||||
tags: test
|
||||
dockerfile: Dockerfile
|
||||
# Just builds the container without a push to DockerHub.
|
||||
no_push: true
|
||||
when:
|
||||
event: pull_request
|
||||
|
||||
# Builds and publishes a docker container to DockerHub from the main-branch
|
||||
publish-docker-latest:
|
||||
image: plugins/kaniko
|
||||
settings:
|
||||
repo: DOCKERUSERNAME/DOCKERHUBREPO
|
||||
tags: latest
|
||||
dockerfile: Dockerfile
|
||||
username:
|
||||
# Secret 'docker_username' needs to be set in the CI settings
|
||||
from_secret: docker_username
|
||||
password:
|
||||
# Secret 'docker_password' needs to be set in the CI settings
|
||||
from_secret: docker_password
|
||||
when:
|
||||
# Push new version of tag latest if new push on main-branch
|
||||
event: push
|
||||
branch: main
|
||||
|
||||
# Builds and publishes a docker container of a tag
|
||||
publish-docker-tag:
|
||||
image: plugins/kaniko
|
||||
settings:
|
||||
repo: DOCKERUSERNAME/DOCKERHUBREPO
|
||||
# Uses the tag from git for the container tag
|
||||
tags: ${CI_COMMIT_TAG}
|
||||
dockerfile: Dockerfile
|
||||
username:
|
||||
# Secret 'docker_username' needs to be set in the CI settings
|
||||
from_secret: docker_username
|
||||
password:
|
||||
# Secret 'docker_password' needs to be set in the CI settings
|
||||
from_secret: docker_password
|
||||
when:
|
||||
# Push new version when version tag is created
|
||||
event: tag
|
||||
ref: refs/tags/v*
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
# Woodpecker CI definition for CI# {{.Redi.Asset.Id}} (from RediOps)
|
||||
# Name: {{.Redi.Name}}
|
||||
# Organisation: {{.Redi.Organisation}}
|
||||
# Git repository: {{.Redi.Repository.Source.Url}}
|
||||
steps:
|
||||
build:
|
||||
image: golang:1.17
|
||||
commands:
|
||||
- go download
|
||||
- go get
|
||||
- go build -o {{.AssetName}} .\...
|
||||
# Optional: Run go tests
|
||||
- go test .\...
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,12 @@
|
|||
|
||||
# Condition entry
|
||||
|
||||
|
||||
#Before:{{if .ServiceName}}
|
||||
Conditioned text{{end}}
|
||||
#After
|
||||
|
||||
# Loop through entries{{range .Redi.Apis}}
|
||||
API: {{.Format}}{{end}}
|
||||
|
||||
#------
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
version: "3.3"
|
||||
name: {{.AssetId}}_traefik
|
||||
|
||||
services:
|
||||
|
||||
{{.AssetName}}:
|
||||
hostname: {{.AssetId}}
|
||||
image: ${QASKX_DOCKER_REPO}/{{.AssetId}}:latest
|
||||
container_name: {{.UniqueId}}
|
||||
restart: ${QASKX_RESTART_POLICY}
|
||||
networks:
|
||||
- gateway
|
||||
|
||||
ports:
|
||||
- 8075
|
||||
|
||||
volumes:
|
||||
- ${QASKX__STORAGE}/{{.AssetName}}/config:/home/config
|
||||
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
|
||||
- "traefik.http.routers.{{.AssetName}}.rule=Host(`{{.Fqdn}}`)&&PathPrefix(`{{.ServicePoint}}`)"
|
||||
- "traefik.http.routers.{{.AssetName}}.entrypoints=websecure"
|
||||
- "traefik.http.routers.{{.AssetName}}.tls.certresolver=traefik_resolver"
|
||||
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
# Sequence diagram
|
||||
|
||||
This represents the sequence diagram for
|
||||
service **{{.ServiceName}}**
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
|
||||
participant consumer as Consumer
|
||||
participant gateway as Gateway
|
||||
participant microservice as {{.ServiceName}}
|
||||
participant feature as Svc Feature
|
||||
participant authz as Authorisation
|
||||
participant log as Logger
|
||||
{{ range .Apis}}participant {{ .Name }} as Svc{{ .Name }}
|
||||
{{ end }}
|
||||
|
||||
consumer->>+gateway: {{.ServicePoint}}
|
||||
activate consumer
|
||||
|
||||
note right of gateway: Authentication check at GW
|
||||
gateway->>+microservice: {{.ServicePoint}}
|
||||
|
||||
microservice->>+authz: Validate requestor
|
||||
note right of authz: Authorise to function
|
||||
authz-->>-microservice: 200 or 401/403 status
|
||||
|
||||
microservice->>+feature: Check feature switch
|
||||
feature-->>-microservice: 200 or 401/403 status
|
||||
|
||||
microservice-)log: log request/response
|
||||
{{ range .Apis}}
|
||||
microservice-->>+{{ .Name }}: link {{ .Url }}
|
||||
note right of {{ .Name }}: Explanation of what happens
|
||||
{{ .Name }}-->>-microservice: 200 OK response
|
||||
{{ end }}
|
||||
|
||||
alt 200 OK
|
||||
microservice-->>gateway: 200 OK response
|
||||
gateway-->>consumer: 200 OK response
|
||||
else not OK, error
|
||||
microservice-->>-gateway: !200 ERR response
|
||||
gateway-->>-consumer: !200 ERR response
|
||||
end
|
||||
deactivate consumer
|
||||
|
||||
```
|
||||
|
||||
***Note***: Adjust the default sequence diagram above
|
||||
|
||||
Copyright {{.QaskxDot.ServiceOwner}}
|
||||
Contact {{.QaskxDot.ServiceOwnerEmail}}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
|
||||
%% Service name {{.ServicePoint}}
|
||||
{{ range .Apis}}
|
||||
|
||||
%% Sequence diagram for {{ .ServiceId }} as Svc {{ .Name }}
|
||||
sequenceDiagram
|
||||
|
||||
participant consumer as Consumer
|
||||
participant gateway as Gateway
|
||||
participant microservice as {{$.ServiceName}}
|
||||
{{ range $.Depends}}
|
||||
participant {{ .ServiceId }} as Svc {{ .Name }}{{ end }}
|
||||
|
||||
consumer->>+gateway: {{$.ServicePoint}}
|
||||
|
||||
note right of gateway: Authentication check at GW
|
||||
gateway->>+microservice: {{$.ServicePoint}}
|
||||
|
||||
microservice->>+authz: Validate requestor
|
||||
note right of authz: Authorise to function
|
||||
authz-->>-microservice: 200 or 401/403 status
|
||||
|
||||
microservice->>+feature: Check feature switch
|
||||
feature-->>-microservice: 200 or 401/403 status
|
||||
|
||||
microservice->>log: log request/response
|
||||
|
||||
microservice-->>+{{ .ServiceId }}: link {{ .Url }}
|
||||
note right of {{ .ServiceId }}: Explanation of what happens
|
||||
{{ .ServiceId }}-->>-microservice: 200 OK response
|
||||
|
||||
alt 200 OK
|
||||
microservice-->>gateway: 200 OK response
|
||||
gateway-->>-consumer: 200 OK response
|
||||
else not OK, error
|
||||
microservice-->>-gateway: !200 ERR response
|
||||
gateway-->>-consumer: !200 ERR response
|
||||
end
|
||||
{{ end }}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
|
||||
%% {{.ServiceName}} service sequence
|
||||
sequenceDiagram
|
||||
|
||||
participant consumer as Consumer
|
||||
participant gateway as Gateway
|
||||
{{ range .Apis}}participant {{ .ServiceId }} as {{.Name}}
|
||||
{{ end }}
|
||||
{{ range .Depends}}participant {{ .ServiceId }} as Svc {{ .Name }}
|
||||
{{ end }}
|
||||
|
||||
{{ range .Apis}}
|
||||
rect rgb(191, 223, 255)
|
||||
consumer->>+gateway: {{$.ServicePoint}}
|
||||
|
||||
note right of gateway: Authentication check at GW
|
||||
gateway->>+authz: Validate requestor
|
||||
authz-->>-gateway: 200 or 401/403 status
|
||||
|
||||
gateway->>+{{ .ServiceId }}: start
|
||||
{{ .ServiceId }}->>+authz: Fine grained authz
|
||||
note right of authz: Authorise to function, data
|
||||
authz-->>-{{ .ServiceId }}: 200 or 401/403 status
|
||||
|
||||
{{ .ServiceId }}->>+featureflag: Check feature switch
|
||||
featureflag-->>-{{ .ServiceId }}: 200 or 401/403 status
|
||||
|
||||
{{ .ServiceId }}->>logger: log request/response
|
||||
|
||||
{{ .ServiceId }}->>{{ .ServiceId }}: business logic
|
||||
note right of {{ .ServiceId }}: Explanation of what happens
|
||||
|
||||
{{with $microservice := .ServiceId }}
|
||||
{{ range $.Depends }}{{ $microservice }}->>+{{ .ServiceId }}: function call
|
||||
{{ .ServiceId }}-->>- {{ $microservice }}: result, 200 or 4xx status
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ .ServiceId }}->>{{ .ServiceId }}: business logic
|
||||
note right of {{ .ServiceId }}: Explanation of what happens
|
||||
|
||||
alt 200 OK
|
||||
{{ .ServiceId }}-->>-gateway: 200 OK response
|
||||
gateway-->>-consumer: 200 OK response
|
||||
else not OK, error
|
||||
{{ .ServiceId }}-->>-gateway: !200 ERR response
|
||||
gateway-->>-consumer: !200 ERR response
|
||||
end
|
||||
|
||||
end
|
||||
{{ end }}
|
||||
|
||||
Loading…
Reference in New Issue