mirror of
https://github.com/foomo/squadron.git
synced 2025-10-16 12:35:42 +00:00
refactor: move examples
This commit is contained in:
parent
46b0693fcb
commit
7fdc8c9c50
@ -23,6 +23,6 @@ spec:
|
|||||||
- name: {{ .Release.Name }}
|
- name: {{ .Release.Name }}
|
||||||
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
|
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
|
||||||
ports:
|
ports:
|
||||||
-
|
- name: http
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
containerPort: 80
|
containerPort: 80
|
||||||
@ -13,5 +13,5 @@ spec:
|
|||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
app.kubernetes.io/name: {{ .Release.Name }}
|
||||||
app.kubernetes.io/component: {{ .Chart.Name }}
|
app.kubernetes.io/component: {{ .Chart.Name }}
|
||||||
ports:
|
ports:
|
||||||
- name: 80
|
- name: http
|
||||||
port: 80
|
port: 80
|
||||||
3
_examples/common/charts/backend/values.yaml
Normal file
3
_examples/common/charts/backend/values.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
image:
|
||||||
|
repository: nginx
|
||||||
|
tag: "latest"
|
||||||
@ -23,6 +23,6 @@ spec:
|
|||||||
- name: {{ .Release.Name }}
|
- name: {{ .Release.Name }}
|
||||||
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
|
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
|
||||||
ports:
|
ports:
|
||||||
-
|
- name: http
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
containerPort: 80
|
containerPort: 80
|
||||||
@ -13,5 +13,5 @@ spec:
|
|||||||
app.kubernetes.io/name: {{ .Release.Name }}
|
app.kubernetes.io/name: {{ .Release.Name }}
|
||||||
app.kubernetes.io/component: {{ .Chart.Name }}
|
app.kubernetes.io/component: {{ .Chart.Name }}
|
||||||
ports:
|
ports:
|
||||||
- name: 80
|
- name: http
|
||||||
port: 80
|
port: 80
|
||||||
3
_examples/common/charts/frontend/values.yaml
Normal file
3
_examples/common/charts/frontend/values.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
image:
|
||||||
|
repository: nginx
|
||||||
|
tag: "latest"
|
||||||
@ -1,4 +1,4 @@
|
|||||||
FROM golang:alpine as base
|
FROM golang:alpine as builder
|
||||||
|
|
||||||
ENV CGO_ENABLED=0
|
ENV CGO_ENABLED=0
|
||||||
|
|
||||||
59
_examples/helloworld/Makefile
Normal file
59
_examples/helloworld/Makefile
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
.DEFAULT_GOAL:=help
|
||||||
|
|
||||||
|
export PROJECT_ROOT=$(PWD)
|
||||||
|
|
||||||
|
## === Tasks ===
|
||||||
|
|
||||||
|
.PHONY: list
|
||||||
|
## Show config
|
||||||
|
list:
|
||||||
|
@go run ../../cmd/main.go list
|
||||||
|
|
||||||
|
.PHONY: config
|
||||||
|
## Show config
|
||||||
|
config:
|
||||||
|
@go run ../../cmd/main.go config
|
||||||
|
|
||||||
|
.PHONY: build
|
||||||
|
## Show config
|
||||||
|
build:
|
||||||
|
@go run ../../cmd/main.go build
|
||||||
|
|
||||||
|
.PHONY: template
|
||||||
|
## Show config
|
||||||
|
template:
|
||||||
|
@go run ../../cmd/main.go template
|
||||||
|
|
||||||
|
## === Utils ===
|
||||||
|
|
||||||
|
## Show help text
|
||||||
|
help:
|
||||||
|
@awk '{ \
|
||||||
|
if ($$0 ~ /^.PHONY: [a-zA-Z\-\_0-9]+$$/) { \
|
||||||
|
helpCommand = substr($$0, index($$0, ":") + 2); \
|
||||||
|
if (helpMessage) { \
|
||||||
|
printf "\033[36m%-23s\033[0m %s\n", \
|
||||||
|
helpCommand, helpMessage; \
|
||||||
|
helpMessage = ""; \
|
||||||
|
} \
|
||||||
|
} else if ($$0 ~ /^[a-zA-Z\-\_0-9.]+:/) { \
|
||||||
|
helpCommand = substr($$0, 0, index($$0, ":")); \
|
||||||
|
if (helpMessage) { \
|
||||||
|
printf "\033[36m%-23s\033[0m %s\n", \
|
||||||
|
helpCommand, helpMessage"\n"; \
|
||||||
|
helpMessage = ""; \
|
||||||
|
} \
|
||||||
|
} else if ($$0 ~ /^##/) { \
|
||||||
|
if (helpMessage) { \
|
||||||
|
helpMessage = helpMessage"\n "substr($$0, 3); \
|
||||||
|
} else { \
|
||||||
|
helpMessage = substr($$0, 3); \
|
||||||
|
} \
|
||||||
|
} else { \
|
||||||
|
if (helpMessage) { \
|
||||||
|
print "\n "helpMessage"\n" \
|
||||||
|
} \
|
||||||
|
helpMessage = ""; \
|
||||||
|
} \
|
||||||
|
}' \
|
||||||
|
$(MAKEFILE_LIST)
|
||||||
3
_examples/helloworld/app/go.mod
Normal file
3
_examples/helloworld/app/go.mod
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
module github.com/foomo/squadron/exmpale/helloworld
|
||||||
|
|
||||||
|
go 1.21
|
||||||
19
_examples/helloworld/squadron.yaml
Normal file
19
_examples/helloworld/squadron.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
version: "2.0"
|
||||||
|
|
||||||
|
squadron:
|
||||||
|
storefinder:
|
||||||
|
backend:
|
||||||
|
chart: <% env "PROJECT_ROOT" %>/../common/charts/backend
|
||||||
|
builds:
|
||||||
|
default:
|
||||||
|
tag: latest
|
||||||
|
context: <% env "PROJECT_ROOT" %>/app
|
||||||
|
dockerfile: <% env "PROJECT_ROOT" %>/../common/docker/backend.Dockerfile
|
||||||
|
image: helloworld/app
|
||||||
|
values:
|
||||||
|
image:
|
||||||
|
tag: <% .Squadron.storefinder.backend.builds.default.tag | quote %>
|
||||||
|
repository: <% .Squadron.storefinder.backend.builds.default.image %>
|
||||||
|
service:
|
||||||
|
ports:
|
||||||
|
- 80
|
||||||
61
_examples/monorepo/Makefile
Normal file
61
_examples/monorepo/Makefile
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
.DEFAULT_GOAL:=help
|
||||||
|
|
||||||
|
export PROJECT_ROOT=$(PWD)
|
||||||
|
|
||||||
|
files=$(shell find . -name 'squadron.yaml' | tail -r | xargs echo -n | tr " ", ",")
|
||||||
|
|
||||||
|
## === Tasks ===
|
||||||
|
|
||||||
|
.PHONY: list
|
||||||
|
## Show config
|
||||||
|
list:
|
||||||
|
@go run ../../cmd/main.go -f ${files} list
|
||||||
|
|
||||||
|
.PHONY: config
|
||||||
|
## Show config
|
||||||
|
config:
|
||||||
|
@go run ../../cmd/main.go -f ${files} config
|
||||||
|
|
||||||
|
.PHONY: build
|
||||||
|
## Show config
|
||||||
|
build:
|
||||||
|
@go run ../../cmd/main.go -f ${files} build
|
||||||
|
|
||||||
|
.PHONY: template
|
||||||
|
## Show config
|
||||||
|
template:
|
||||||
|
@go run ../../cmd/main.go -f ${files} template
|
||||||
|
|
||||||
|
## === Utils ===
|
||||||
|
|
||||||
|
## Show help text
|
||||||
|
help:
|
||||||
|
@awk '{ \
|
||||||
|
if ($$0 ~ /^.PHONY: [a-zA-Z\-\_0-9]+$$/) { \
|
||||||
|
helpCommand = substr($$0, index($$0, ":") + 2); \
|
||||||
|
if (helpMessage) { \
|
||||||
|
printf "\033[36m%-23s\033[0m %s\n", \
|
||||||
|
helpCommand, helpMessage; \
|
||||||
|
helpMessage = ""; \
|
||||||
|
} \
|
||||||
|
} else if ($$0 ~ /^[a-zA-Z\-\_0-9.]+:/) { \
|
||||||
|
helpCommand = substr($$0, 0, index($$0, ":")); \
|
||||||
|
if (helpMessage) { \
|
||||||
|
printf "\033[36m%-23s\033[0m %s\n", \
|
||||||
|
helpCommand, helpMessage"\n"; \
|
||||||
|
helpMessage = ""; \
|
||||||
|
} \
|
||||||
|
} else if ($$0 ~ /^##/) { \
|
||||||
|
if (helpMessage) { \
|
||||||
|
helpMessage = helpMessage"\n "substr($$0, 3); \
|
||||||
|
} else { \
|
||||||
|
helpMessage = substr($$0, 3); \
|
||||||
|
} \
|
||||||
|
} else { \
|
||||||
|
if (helpMessage) { \
|
||||||
|
print "\n "helpMessage"\n" \
|
||||||
|
} \
|
||||||
|
helpMessage = ""; \
|
||||||
|
} \
|
||||||
|
}' \
|
||||||
|
$(MAKEFILE_LIST)
|
||||||
17
_examples/monorepo/squadrons/checkout/backend/squadron.yaml
Normal file
17
_examples/monorepo/squadrons/checkout/backend/squadron.yaml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# Schema version
|
||||||
|
version: "2.0"
|
||||||
|
|
||||||
|
squadron:
|
||||||
|
checkout:
|
||||||
|
backend:
|
||||||
|
chart: <% env "PROJECT_ROOT" %>/../common/charts/backend
|
||||||
|
builds:
|
||||||
|
default:
|
||||||
|
tag: <% .Global.docker.tag | quote %>
|
||||||
|
image: <% .Global.docker.registry %>/checkout-backend
|
||||||
|
context: <% env "PROJECT_ROOT" %>/squadrons/checkout/backend
|
||||||
|
dockerfile: <% env "PROJECT_ROOT" %>/../common/docker/backend.Dockerfile
|
||||||
|
values:
|
||||||
|
image:
|
||||||
|
tag: <% .Global.docker.tag | quote %>
|
||||||
|
repository: <% .Squadron.checkout.backend.builds.default.image %>
|
||||||
17
_examples/monorepo/squadrons/checkout/frontend/squadron.yaml
Normal file
17
_examples/monorepo/squadrons/checkout/frontend/squadron.yaml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# Schema version
|
||||||
|
version: "2.0"
|
||||||
|
|
||||||
|
squadron:
|
||||||
|
checkout:
|
||||||
|
frontend:
|
||||||
|
chart: <% env "PROJECT_ROOT" %>/../common/charts/frontend
|
||||||
|
builds:
|
||||||
|
default:
|
||||||
|
tag: "<% .Global.docker.tag %>"
|
||||||
|
image: <% .Global.docker.registry %>/checkout-frontend
|
||||||
|
context: <% env "PROJECT_ROOT" %>/squadrons/checkout/frontend
|
||||||
|
dockerfile: <% env "PROJECT_ROOT" %>/../common/docker/frontend.Dockerfile
|
||||||
|
values:
|
||||||
|
image:
|
||||||
|
tag: "<% .Global.docker.tag %>"
|
||||||
|
repository: <% .Squadron.checkout.frontend.builds.default.image %>
|
||||||
6
_examples/monorepo/squadrons/squadron.yaml
Normal file
6
_examples/monorepo/squadrons/squadron.yaml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
version: "2.0"
|
||||||
|
|
||||||
|
global:
|
||||||
|
docker:
|
||||||
|
tag: "230101.0"
|
||||||
|
registry: monorepo
|
||||||
3
_examples/monorepo/squadrons/storefinder/backend/go.mod
Normal file
3
_examples/monorepo/squadrons/storefinder/backend/go.mod
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
module github.com/foomo/squadron/exmpale/monorepo/storefinder/backend
|
||||||
|
|
||||||
|
go 1.16
|
||||||
13
_examples/monorepo/squadrons/storefinder/backend/main.go
Normal file
13
_examples/monorepo/squadrons/storefinder/backend/main.go
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"net/http"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
_, _ = fmt.Fprintf(w, "hello")
|
||||||
|
})
|
||||||
|
_ = http.ListenAndServe(":80", nil)
|
||||||
|
}
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
# Schema version
|
||||||
|
version: "2.0"
|
||||||
|
|
||||||
|
squadron:
|
||||||
|
storefinder:
|
||||||
|
backend:
|
||||||
|
chart: <% env "PROJECT_ROOT" %>/../common/charts/backend
|
||||||
|
builds:
|
||||||
|
default:
|
||||||
|
tag: <% .Global.docker.tag | quote %>
|
||||||
|
image: <% .Global.docker.registry %>/storefinder-backend
|
||||||
|
context: <% env "PROJECT_ROOT" %>/squadrons/storefinder/backend
|
||||||
|
dockerfile: <% env "PROJECT_ROOT" %>/../common/docker/backend.Dockerfile
|
||||||
|
values:
|
||||||
|
image:
|
||||||
|
tag: <% .Global.docker.tag | quote %>
|
||||||
|
repository: <% .Squadron.storefinder.backend.builds.default.image %>
|
||||||
12
_examples/monorepo/squadrons/storefinder/frontend/index.html
Normal file
12
_examples/monorepo/squadrons/storefinder/frontend/index.html
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||||
|
<title>Document</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Storefinder</h1>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
# Schema version
|
||||||
|
version: "2.0"
|
||||||
|
|
||||||
|
squadron:
|
||||||
|
storefinder:
|
||||||
|
frontend:
|
||||||
|
chart: <% env "PROJECT_ROOT" %>/../common/charts/frontend
|
||||||
|
builds:
|
||||||
|
default:
|
||||||
|
tag: "<% .Global.docker.tag %>"
|
||||||
|
image: <% .Global.docker.registry %>/storefinder-frontend
|
||||||
|
context: <% env "PROJECT_ROOT" %>/squadrons/storefinder/frontend
|
||||||
|
dockerfile: <% env "PROJECT_ROOT" %>/../common/docker/frontend.Dockerfile
|
||||||
|
values:
|
||||||
|
image:
|
||||||
|
tag: "<% .Global.docker.tag %>"
|
||||||
|
repository: <% .Squadron.storefinder.frontend.builds.default.image %>
|
||||||
@ -1,11 +0,0 @@
|
|||||||
FROM golang:alpine AS builder
|
|
||||||
|
|
||||||
COPY main.go .
|
|
||||||
|
|
||||||
RUN go build -o /helloworld .
|
|
||||||
|
|
||||||
FROM alpine:latest
|
|
||||||
|
|
||||||
COPY --from=builder /helloworld /helloworld
|
|
||||||
|
|
||||||
ENTRYPOINT ["/helloworld"]
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
version: "1.0"
|
|
||||||
|
|
||||||
squadron:
|
|
||||||
app:
|
|
||||||
chart: ./chart
|
|
||||||
builds:
|
|
||||||
default:
|
|
||||||
tag: latest
|
|
||||||
context: ./app
|
|
||||||
image: helloworld/app
|
|
||||||
values:
|
|
||||||
image: "{{ .Squadron.app.builds.default.image }}:{{ .Squadron.app.builds.default.tag }}"
|
|
||||||
service:
|
|
||||||
ports:
|
|
||||||
- 80
|
|
||||||
@ -1,71 +0,0 @@
|
|||||||
.DEFAULT_GOAL:=help
|
|
||||||
|
|
||||||
export PROJECT_ROOT=$(PWD)
|
|
||||||
|
|
||||||
storefinder.%:files=./squadrons/squadron.yaml,./squadrons/storefinder/squadron.yaml,./squadrons/storefinder/frontend/squadron.yaml,./squadrons/storefinder/backend/squadron.yaml
|
|
||||||
|
|
||||||
.PHONY: storefinder.frontend.config
|
|
||||||
## Show config
|
|
||||||
storefinder.frontend.config:
|
|
||||||
@squadron -f ${files} config
|
|
||||||
|
|
||||||
.PHONY: storefinder.frontend.template
|
|
||||||
## Show config
|
|
||||||
storefinder.frontend.template:
|
|
||||||
@squadron -f ${files} template
|
|
||||||
|
|
||||||
.PHONY: storefinder.frontend.generate
|
|
||||||
## Generate helm chart
|
|
||||||
storefinder.frontend.generate:
|
|
||||||
@squadron -f ${files} generate
|
|
||||||
|
|
||||||
storefinder.%:files=./squadrons/squadron.yaml,./squadrons/storefinder/squadron.yaml,./squadrons/storefinder/frontend/squadron.yaml,./squadrons/storefinder/backend/squadron.yaml
|
|
||||||
|
|
||||||
.PHONY: storefinder.backend.config
|
|
||||||
## Show config
|
|
||||||
storefinder.backend.config:
|
|
||||||
@squadron -f ${files} config
|
|
||||||
|
|
||||||
.PHONY: storefinder.backend.template
|
|
||||||
## Show template
|
|
||||||
storefinder.backend.template:
|
|
||||||
@squadron -f ${files} template
|
|
||||||
|
|
||||||
.PHONY: storefinder.backend.generate
|
|
||||||
## Generate helm chart
|
|
||||||
storefinder.backend.generate:
|
|
||||||
@squadron -f ${files} generate
|
|
||||||
|
|
||||||
## === Utils ===
|
|
||||||
|
|
||||||
## Show help text
|
|
||||||
help:
|
|
||||||
@awk '{ \
|
|
||||||
if ($$0 ~ /^.PHONY: [a-zA-Z\-\_0-9]+$$/) { \
|
|
||||||
helpCommand = substr($$0, index($$0, ":") + 2); \
|
|
||||||
if (helpMessage) { \
|
|
||||||
printf "\033[36m%-23s\033[0m %s\n", \
|
|
||||||
helpCommand, helpMessage; \
|
|
||||||
helpMessage = ""; \
|
|
||||||
} \
|
|
||||||
} else if ($$0 ~ /^[a-zA-Z\-\_0-9.]+:/) { \
|
|
||||||
helpCommand = substr($$0, 0, index($$0, ":")); \
|
|
||||||
if (helpMessage) { \
|
|
||||||
printf "\033[36m%-23s\033[0m %s\n", \
|
|
||||||
helpCommand, helpMessage"\n"; \
|
|
||||||
helpMessage = ""; \
|
|
||||||
} \
|
|
||||||
} else if ($$0 ~ /^##/) { \
|
|
||||||
if (helpMessage) { \
|
|
||||||
helpMessage = helpMessage"\n "substr($$0, 3); \
|
|
||||||
} else { \
|
|
||||||
helpMessage = substr($$0, 3); \
|
|
||||||
} \
|
|
||||||
} else { \
|
|
||||||
if (helpMessage) { \
|
|
||||||
print "\n "helpMessage"\n" \
|
|
||||||
} \
|
|
||||||
helpMessage = ""; \
|
|
||||||
} \
|
|
||||||
}' \
|
|
||||||
$(MAKEFILE_LIST)
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
image: {}
|
|
||||||
# tag: null
|
|
||||||
# repository: null
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
image: {}
|
|
||||||
# tag: null
|
|
||||||
# repository: null
|
|
||||||
@ -1,20 +0,0 @@
|
|||||||
# Schema version
|
|
||||||
version: "1.0"
|
|
||||||
|
|
||||||
name: monorepo
|
|
||||||
|
|
||||||
global:
|
|
||||||
docker:
|
|
||||||
tag: "211206.0"
|
|
||||||
registry: monorepo
|
|
||||||
|
|
||||||
squadron:
|
|
||||||
# mongodb:
|
|
||||||
# chart:
|
|
||||||
# name: mongodb
|
|
||||||
# repository: https://charts.bitnami.com/bitnami
|
|
||||||
# version: 10.11.2
|
|
||||||
# values:
|
|
||||||
# fullnameOverride: catalogue-mongodb
|
|
||||||
# auth:
|
|
||||||
# enabled: false
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
# Schema version
|
|
||||||
version: "1.0"
|
|
||||||
|
|
||||||
squadron:
|
|
||||||
backend:
|
|
||||||
chart: <% env "PROJECT_ROOT" %>/charts/backend
|
|
||||||
builds:
|
|
||||||
default:
|
|
||||||
tag: <% .Global.docker.tag | quote %>
|
|
||||||
image: <% .Global.docker.registry %>/storefinder-backend
|
|
||||||
context: <% env "PROJECT_ROOT" %>/squadrons/storefinder/backend
|
|
||||||
dockefile: <% env "PROJECT_ROOT" %>/docker/backend.Dockerfile
|
|
||||||
values:
|
|
||||||
image:
|
|
||||||
tag: <% .Global.docker.tag | quote %>
|
|
||||||
repository: <% .Squadron.backend.builds.default.image %>
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
# Schema version
|
|
||||||
version: "1.0"
|
|
||||||
|
|
||||||
squadron:
|
|
||||||
# backend:
|
|
||||||
# chart: <% env "PROJECT_ROOT" %>/charts/frontend
|
|
||||||
# builds:
|
|
||||||
# default:
|
|
||||||
# tag: "<% .Global.docker.tag %>"
|
|
||||||
# image: <% .Global.docker.registry %>/storefinder-frontend
|
|
||||||
# context: <% env "PROJECT_ROOT" %>/squadrons/storefinder/frontend
|
|
||||||
# dockefile: <% env "PROJECT_ROOT" %>/docker/frontend.Dockerfile
|
|
||||||
# values:
|
|
||||||
# image:
|
|
||||||
# tag: "<% .Global.docker.tag %>"
|
|
||||||
# repository: <% .Squadron.frontend.builds.default.image %>
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
# Schema version
|
|
||||||
version: "1.0"
|
|
||||||
|
|
||||||
name: storefinder
|
|
||||||
Loading…
Reference in New Issue
Block a user