diff --git a/.gitignore b/.gitignore index 81b0747..4eef3fe 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,5 @@ shell-code/jwt.admin.token run.sh lcg_history.json deploy/0.create_sealed_secrets.sh +deploy/0.create_git_secrets.sh +deploy/0.create_app_secrets.sh diff --git a/VERSION.txt b/VERSION.txt index f3b15f3..f256be6 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -v2.0.2 +v2.0.3 diff --git a/deploy/0.create_sealed_secrets.example.sh b/deploy/0.create_secrets.example.sh similarity index 100% rename from deploy/0.create_sealed_secrets.example.sh rename to deploy/0.create_secrets.example.sh diff --git a/deploy/1.configmap.yaml b/deploy/1.configmap.tmpl.yaml similarity index 95% rename from deploy/1.configmap.yaml rename to deploy/1.configmap.tmpl.yaml index 62019b2..3b52612 100644 --- a/deploy/1.configmap.yaml +++ b/deploy/1.configmap.tmpl.yaml @@ -41,6 +41,4 @@ data: # Настройки таймаутов LCG_TIMEOUT: "300" - - # Настройки отладки - LCG_DEBUG: "false" + \ No newline at end of file diff --git a/deploy/2.gitrepository.yaml b/deploy/2.gitrepository.yaml deleted file mode 100644 index 5b71cc4..0000000 --- a/deploy/2.gitrepository.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: source.toolkit.fluxcd.io/v1 -kind: GitRepository -metadata: - name: linux-command-gpt - namespace: flux-system -spec: - interval: 3m - url: https://direct-dev.ru/gitea/GiteaAdmin/go-lcg.git - ref: - branch: release - secretRef: - name: gitea-token diff --git a/deploy/2.lcg-flux.yaml b/deploy/2.lcg-flux.yaml new file mode 100644 index 0000000..09627c4 --- /dev/null +++ b/deploy/2.lcg-flux.yaml @@ -0,0 +1,77 @@ +apiVersion: source.toolkit.fluxcd.io/v1 +kind: GitRepository +metadata: + name: go-lcg + namespace: flux-system +spec: + interval: 3m + url: https://github.com/Direct-Dev-Ru/go-lcg.git + ref: + branch: release + secretRef: + name: git-secrets + +--- + +# apiVersion: source.toolkit.fluxcd.io/v1 +# kind: GitRepository +# metadata: +# name: linux-command-gpt +# namespace: flux-system +# spec: +# interval: 3m +# url: https://direct-dev.ru/gitea/GiteaAdmin/go-lcg.git +# ref: +# branch: release +# secretRef: +# name: gitea-token + + +--- +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: lcg + namespace: flux-system +spec: + healthChecks: + - kind: Deployment + name: lcg + namespace: lcg + interval: 3m15s + path: ./kustomize + prune: true + sourceRef: + kind: GitRepository + name: go-lcg + targetNamespace: lcg + timeout: 2m0s + +--- + +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: lcg + namespace: flux-system +spec: + image: kuznetcovay/lcg + interval: 3m + secretRef: + name: regcred + +--- + +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: lcg + namespace: flux-system +spec: + imageRepositoryRef: + name: lcg + policy: + semver: + range: '>=1.0.0' + +--- diff --git a/deploy/3.lcg-kustomization.yaml b/deploy/3.lcg-kustomization.yaml deleted file mode 100644 index dbc8e69..0000000 --- a/deploy/3.lcg-kustomization.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- -apiVersion: kustomize.toolkit.fluxcd.io/v1 -kind: Kustomization -metadata: - name: lcg - namespace: flux-system -spec: - healthChecks: - - kind: Deployment - name: lcg - namespace: lcg - interval: 3m15s - path: ./kustomize - prune: true - sourceRef: - kind: GitRepository - name: linux-command-gpt - targetNamespace: lcg - timeout: 2m0s diff --git a/deploy/6.full-build.sh b/deploy/6.full-build.sh index 45bec62..04bfb4b 100755 --- a/deploy/6.full-build.sh +++ b/deploy/6.full-build.sh @@ -50,9 +50,7 @@ log "🚀 Полная сборка LCG (бинарные файлы + Docker о # Этап 1: Сборка бинарных файлов log "📦 Этап 1: Сборка бинарных файлов с goreleaser..." -./deploy/4.build-binaries.sh "$VERSION" - -if [ $? -ne 0 ]; then +if ! ./deploy/4.build-binaries.sh "$VERSION"; then error "Ошибка при сборке бинарных файлов" exit 1 fi @@ -61,9 +59,7 @@ success "✅ Бинарные файлы собраны успешно" # Этап 2: Сборка Docker образа log "🐳 Этап 2: Сборка Docker образа..." -./deploy/5.build-docker.sh "$REPOSITORY" "$VERSION" "$PLATFORMS" - -if [ $? -ne 0 ]; then +if ! ./deploy/5.build-docker.sh "$REPOSITORY" "$VERSION" "$PLATFORMS"; then error "Ошибка при сборке Docker образа" exit 1 fi @@ -78,7 +74,7 @@ export VERSION=$VERSION export PLATFORMS=$PLATFORMS export KUBECONFIG="${HOME}/.kube/config_hlab" && kubectx default -if ! envsubst < deploy/1.configmap.yaml > kustomize/configmap.yaml; then +if ! envsubst < deploy/1.configmap.tmpl.yaml > kustomize/configmap.yaml; then error "Ошибка при генерации deploy/1.configmap.yaml" exit 1 fi @@ -131,10 +127,14 @@ fi if [ "$current_branch" != "main" ]; then git checkout main git merge --no-ff -m "Merged branch '$current_branch' into main while building $VERSION" "$current_branch" +elif [ "$current_branch" = "main" ]; then + log "🔄 Вы находитесь на ветке main. Слияние с release..." + git add . + git commit -m "Исправления в ветке $current_branch" fi # переключиться на ветку release и слить с веткой main -git checkout -b release +git checkout release git merge --no-ff -m "Merged main into release while building $VERSION" main # если тег $VERSION существует, удалить его и принудительно запушить diff --git a/deploy/VERSION.txt b/deploy/VERSION.txt index f3b15f3..f256be6 100644 --- a/deploy/VERSION.txt +++ b/deploy/VERSION.txt @@ -1 +1 @@ -v2.0.2 +v2.0.3 diff --git a/git-sealed-cfg.yaml b/git-sealed-cfg.yaml new file mode 100644 index 0000000..2de62e4 --- /dev/null +++ b/git-sealed-cfg.yaml @@ -0,0 +1,16 @@ +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + creationTimestamp: null + name: git-secrets + namespace: flux-system +spec: + encryptedData: + password: AgB8/7lk3onjQG9R2OzX02rv9Lwh3tkOkvV/DjySSGZDHnYtdOw6ttOZXSeQqibAfKIOqtbKvpGAmK0x0/1tQXfB1zg2unFh1p5oEa0sgYBNd0eeNV5nRXDpgl8gv3lWKLaLvLCmhxloYze1B6Js8UrPDGeH3lvxRk9A5oja87HEBnx/VIGm5h4crvb5fUn+7wibr+oQNP+LBRLiko4eqR8PZAA0qgWUvoJnAF6NIsGPEtNi6WjErtwwvYIsZbCIChjPHQll+FQYwSH7M9jXVEBPejiR92+XIR8RMMo6hsWWxkEvvZs5prNREirAOSErOHBRTMEYkI5JIAb6uaRBKZ2nP0G4YQAkx3N7DIZPD7MVQF3u5jIpqaRwP4S+v703/19uPID1D8RuXt99QUv4d7Bfs8PlwkV5/SOgx2ZPVn1viuieZZ9M9hdk5uXYqOqgLOjU4aQSVpVV5pdR7ifn2fcbcTsG6fE3srrjUt8c2t+bV1IBUw8CIzyA1lebxj31s2XRpY+6JsfihSneKm/RkR4ySkyLjF+BeAO7CuXeCdziSFsoCzRDGQqaf/3YKCv1HFbLUsAfHvbCOYuZH7X9UAw51OVqqhEpdD21Ms0W29NGRVUFz80/eglLpK5OmvlXr1kME2P9Wo8TEkLIK1Fjo10f6WzHsUU9eI1cfy6/JgyoaFn4Sjga9SaRgdMkv2neztyFLx6cRbdGui+5qh5Zewqaawvp72j7ZhosXVi0uBnKSoBkN6CLEzlw + username: AgB1HiFs7wfaiAaCrwGNr6zWfd8IoNMZUvJrKeaLbKqEJ2oAr3Db406mjq1gz/O0lhvOJqnmBR/Iel4PMVfixMBtmA8j2anytEkj7ZuruFF3OHOzEkN6OeYfJa9ddkJmUs+Zq62TxQdcaJufQnVfuSdScGvE+Exc8ruFWE0xM1cDgFsRp75d0lo6UmhxaJlBRewQexyH6izOmtecAZDX6WVyBopIGx2cPgNfyxp/4sU5CI5sGCjeqcq+5INRELk9kofbDIUnQuHxrH3nbzABNnK76sU6DhqS3jBmT5Pv9azB2AWaaYZ8z1di/fdYia3wKoQAbef36wKyQ+/ZLApnuaVkj9F96tcjqlV4T3SGp4179k99M8zf/7g1GwsljYRPEcRmc00L2FrC5m3S+oK8wIk6fLVT5KYJBlEP6ja3eTrgGDttosuNa4BcpzqLC2Ov6x1b6RKLRVPN9/+1eC9gMBxBqKnvsdjZn4kQb8yUYgjyRHMZl8kHehLnRDhIoE1O7xCQAMkrdeNyE1kAXsij2jgTDR7a72J86nnE0NPAyct4mCpn2x+2aFUVeyZ8u2e0nDLjxPIAs/ceN51ybz5f2cXH0JrEk3Yy0ZXTtHOF6NbZNcxrCrZGODYYIbtTpjI0MjYd+nxJt5TI3UN0pnrdR7FxHai+76Gw+fGWhXKQk+NgmSXsjyiQkBfoU7LCcnv8iFI5T3IpxtmlckZvcn/b + template: + metadata: + creationTimestamp: null + name: git-secrets + namespace: flux-system +--- diff --git a/kustomize/configmap.yaml b/kustomize/configmap.yaml index d4ad62f..0aca463 100644 --- a/kustomize/configmap.yaml +++ b/kustomize/configmap.yaml @@ -5,7 +5,7 @@ metadata: namespace: lcg data: # Основные настройки - LCG_VERSION: "v2.0.2" + LCG_VERSION: "v2.0.3" LCG_BASE_PATH: "/lcg" LCG_SERVER_HOST: "0.0.0.0" LCG_SERVER_PORT: "8080" @@ -41,6 +41,4 @@ data: # Настройки таймаутов LCG_TIMEOUT: "300" - - # Настройки отладки - LCG_DEBUG: "false" + \ No newline at end of file diff --git a/kustomize/deployment.yaml b/kustomize/deployment.yaml index 6bf7254..827dc28 100644 --- a/kustomize/deployment.yaml +++ b/kustomize/deployment.yaml @@ -5,7 +5,7 @@ metadata: namespace: lcg labels: app: lcg - version: v2.0.2 + version: v2.0.3 spec: replicas: 1 selector: @@ -15,11 +15,11 @@ spec: metadata: labels: app: lcg - version: v2.0.2 + version: v2.0.3 spec: containers: - name: lcg - image: kuznetcovay/lcg:v2.0.2 + image: kuznetcovay/lcg:v2.0.3 imagePullPolicy: Always ports: - containerPort: 8080 diff --git a/kustomize/ingress-route.yaml b/kustomize/ingress-route.yaml index 1f47066..77db26b 100644 --- a/kustomize/ingress-route.yaml +++ b/kustomize/ingress-route.yaml @@ -5,7 +5,7 @@ metadata: namespace: lcg labels: app: lcg - version: v2.0.2 + version: v2.0.3 spec: entryPoints: - websecure diff --git a/kustomize/kustomization.yaml b/kustomize/kustomization.yaml index 8286315..027db87 100644 --- a/kustomize/kustomization.yaml +++ b/kustomize/kustomization.yaml @@ -15,11 +15,11 @@ resources: # Common labels commonLabels: app: lcg - version: v2.0.2 + version: v2.0.3 managed-by: kustomize # Images images: - name: lcg newName: kuznetcovay/lcg - newTag: v2.0.2 + newTag: v2.0.3 diff --git a/kustomize/service.yaml b/kustomize/service.yaml index c278abc..d515c36 100644 --- a/kustomize/service.yaml +++ b/kustomize/service.yaml @@ -5,7 +5,7 @@ metadata: namespace: lcg labels: app: lcg - version: v2.0.2 + version: v2.0.3 spec: type: ClusterIP ports: @@ -15,4 +15,4 @@ spec: name: http selector: app: lcg - version: v2.0.2 + version: v2.0.3