@yunuseon/kayra 0.7.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +5 -5
  2. package/ansible/playbooks/apps-prune.yml +6 -6
  3. package/ansible/playbooks/platform.yml +5 -5
  4. package/ansible/roles/app/tasks/main.yml +26 -14
  5. package/ansible/roles/app/templates/app.env.j2 +1 -1
  6. package/ansible/roles/common/tasks/main.yml +1 -1
  7. package/ansible/roles/forgejo-config/tasks/main.yml +4 -9
  8. package/ansible/roles/platform/defaults/main.yml +8 -15
  9. package/ansible/roles/platform/tasks/main.yml +96 -63
  10. package/ansible/roles/platform/templates/platform.env.j2 +3 -11
  11. package/cli/dist/brand.js +0 -3
  12. package/cli/dist/cli.js +10 -1
  13. package/cli/dist/commands/server.js +16 -2
  14. package/cli/dist/deployer/app.js +47 -0
  15. package/cli/dist/deployer/brand.js +8 -0
  16. package/cli/dist/deployer/builder.js +196 -0
  17. package/cli/dist/deployer/bundle.js +49 -0
  18. package/cli/dist/deployer/compose.js +26 -0
  19. package/cli/dist/deployer/cron.js +44 -0
  20. package/cli/dist/deployer/ctl.js +77 -0
  21. package/cli/dist/deployer/deployer.js +282 -0
  22. package/cli/dist/deployer/forge.js +25 -0
  23. package/cli/dist/deployer/http.js +22 -0
  24. package/cli/dist/deployer/main.js +19 -0
  25. package/cli/dist/deployer/page.js +32 -0
  26. package/cli/dist/deployer/process.js +31 -0
  27. package/cli/dist/deployer/queue.js +28 -0
  28. package/cli/dist/deployer/records.js +46 -0
  29. package/cli/dist/deployer/run.js +76 -0
  30. package/cli/dist/deployer/store.js +31 -0
  31. package/cli/dist/deployer/webhook.js +31 -0
  32. package/cli/dist/fleet.js +1 -1
  33. package/cli/dist/main.js +11 -7
  34. package/cli/dist/settings.js +6 -10
  35. package/compose/authelia/configuration.yml +3 -3
  36. package/compose/deployer/Dockerfile.builder +37 -0
  37. package/compose/deployer/Dockerfile.deployer +40 -0
  38. package/compose/deployer/kayra-deployer +6 -0
  39. package/compose/docker-compose.ci.yml +71 -79
  40. package/hosts.conf +2 -2
  41. package/package.json +2 -3
  42. package/schema/defaults.json +2 -14
  43. package/schema/server.json +1 -1
  44. package/schema/vars-platform.json +2 -14
  45. package/scripts/local/require-main.sh +5 -1
  46. package/scripts/platform/compose-policy.sh +84 -0
  47. package/scripts/platform/registry-gc.sh +99 -0
  48. package/scripts/platform/resolve-images.sh +107 -0
  49. package/scripts/server/{jenkins-app-apply → app-apply} +9 -10
  50. package/scripts/server/app-purge +1 -1
  51. package/scripts/server/app-remove +8 -9
  52. package/ansible/roles/app/templates/casc-app.yaml.j2 +0 -68
  53. package/compose/jenkins/Dockerfile +0 -40
  54. package/compose/jenkins/casc/00-platform.yaml +0 -158
  55. package/compose/jenkins/plugins.txt +0 -97
  56. package/compose/jenkins-agent/Dockerfile +0 -24
  57. package/scripts/server/jenkins-api +0 -28
  58. package/scripts/server/jenkins-reload +0 -12
@@ -1,24 +0,0 @@
1
- # =============================================================================
2
- # Jenkins Inbound Agent — git + buildctl + jq, nothing app-specific.
3
- #
4
- # Deliberately has NO docker CLI and no docker socket: it runs code from
5
- # arbitrary branches, and the host's socket would make that host root. Images
6
- # are built by buildkitd over TCP. No language toolchain either: apps build and
7
- # test inside their Dockerfiles, so a new app never changes this image.
8
- # =============================================================================
9
-
10
- FROM jenkins/inbound-agent:3386.v353e57a_1b_ea_0-1-jdk21
11
-
12
- USER root
13
-
14
- # renovate: datasource=github-releases depName=moby/buildkit
15
- ARG BUILDKIT_VERSION=v0.34.0
16
-
17
- RUN apt-get update && \
18
- apt-get install -y --no-install-recommends ca-certificates curl jq && \
19
- arch="$(dpkg --print-architecture)" && \
20
- curl -fsSL "https://github.com/moby/buildkit/releases/download/${BUILDKIT_VERSION}/buildkit-${BUILDKIT_VERSION}.linux-${arch}.tar.gz" \
21
- | tar -xz -C /usr/local bin/buildctl && \
22
- rm -rf /var/lib/apt/lists/*
23
-
24
- USER jenkins
@@ -1,28 +0,0 @@
1
- #!/usr/bin/env bash
2
- # =============================================================================
3
- # jenkins-api <METHOD> <path> [curl args…] — one authenticated call to the
4
- # Jenkins API, from inside the controller (admin credentials from its env,
5
- # CSRF crumb fetched in the same session). Prints the response body.
6
- #
7
- # jenkins-api GET '/api/json?tree=jobs[name]'
8
- # jenkins-api POST /configuration-as-code/reload
9
- #
10
- # Installed by the platform role at <platform_dir>/bin.
11
- # =============================================================================
12
- set -euo pipefail
13
-
14
- method="${1:?Usage: jenkins-api <METHOD> <path> [curl args…]}"
15
- path="${2:?}"
16
- shift 2
17
-
18
- cd "$(dirname "$0")/.."
19
- docker compose exec -T jenkins-controller sh -ec '
20
- jar=$(mktemp)
21
- trap "rm -f $jar" EXIT
22
- auth="${JENKINS_ADMIN_USER}:${JENKINS_ADMIN_PASSWORD}"
23
- base=http://127.0.0.1:8080
24
- crumb=$(curl -sf -c "$jar" -u "$auth" \
25
- "$base/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,\":\",//crumb)")
26
- method="$1"; path="$2"; shift 2
27
- curl -sf -b "$jar" -u "$auth" -H "$crumb" -X "$method" "$base$path" "$@"
28
- ' sh "$method" "$path" "$@"
@@ -1,12 +0,0 @@
1
- #!/usr/bin/env bash
2
- # =============================================================================
3
- # jenkins-reload — re-apply every JCasC fragment in jenkins/casc/ in place.
4
- #
5
- # Reload, not restart: Jenkins is shared, and recreating the controller for one
6
- # config change would kill every app's running builds.
7
- #
8
- # Installed by the platform role at <platform_dir>/bin.
9
- # =============================================================================
10
- set -euo pipefail
11
-
12
- "$(dirname "$0")/jenkins-api" POST /configuration-as-code/reload -o /dev/null