gitops 1.3.1__tar.gz → 1.4.1__tar.gz

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 (83) hide show
  1. {gitops-1.3.1 → gitops-1.4.1}/.github/workflows/release-please.yaml +0 -1
  2. {gitops-1.3.1 → gitops-1.4.1}/.github/workflows/test.yml +0 -1
  3. gitops-1.4.1/.release-please-manifest.json +5 -0
  4. {gitops-1.3.1 → gitops-1.4.1}/CHANGELOG.md +14 -0
  5. {gitops-1.3.1 → gitops-1.4.1}/Dockerfile +34 -18
  6. {gitops-1.3.1 → gitops-1.4.1}/PKG-INFO +1 -1
  7. {gitops-1.3.1 → gitops-1.4.1}/charts/gitops/CHANGELOG.md +7 -0
  8. {gitops-1.3.1 → gitops-1.4.1}/charts/gitops/Chart.yaml +1 -1
  9. gitops-1.4.1/charts/gitops/templates/pdb.yml +19 -0
  10. {gitops-1.3.1 → gitops-1.4.1}/charts/gitops/values.yaml +12 -0
  11. {gitops-1.3.1 → gitops-1.4.1}/gitops/__init__.py +1 -1
  12. gitops-1.4.1/gitops_server/version.py +1 -0
  13. {gitops-1.3.1 → gitops-1.4.1}/pyproject.toml +1 -1
  14. gitops-1.3.1/.release-please-manifest.json +0 -5
  15. gitops-1.3.1/gitops_server/version.py +0 -1
  16. {gitops-1.3.1 → gitops-1.4.1}/.dockerignore +0 -0
  17. {gitops-1.3.1 → gitops-1.4.1}/.gitignore +0 -0
  18. {gitops-1.3.1 → gitops-1.4.1}/.mise.toml +0 -0
  19. {gitops-1.3.1 → gitops-1.4.1}/.pre-commit-config.yaml +0 -0
  20. {gitops-1.3.1 → gitops-1.4.1}/LICENSE +0 -0
  21. {gitops-1.3.1 → gitops-1.4.1}/README.md +0 -0
  22. {gitops-1.3.1 → gitops-1.4.1}/charts/gitops/.helmignore +0 -0
  23. {gitops-1.3.1 → gitops-1.4.1}/charts/gitops/README.md +0 -0
  24. {gitops-1.3.1 → gitops-1.4.1}/charts/gitops/templates/_helpers.tpl +0 -0
  25. {gitops-1.3.1 → gitops-1.4.1}/charts/gitops/templates/certificate.yml +0 -0
  26. {gitops-1.3.1 → gitops-1.4.1}/charts/gitops/templates/deployment.yml +0 -0
  27. {gitops-1.3.1 → gitops-1.4.1}/charts/gitops/templates/environment.yml +0 -0
  28. {gitops-1.3.1 → gitops-1.4.1}/charts/gitops/templates/ingress.yml +0 -0
  29. {gitops-1.3.1 → gitops-1.4.1}/charts/gitops/templates/issuer.yml +0 -0
  30. {gitops-1.3.1 → gitops-1.4.1}/charts/gitops/templates/secrets.yml +0 -0
  31. {gitops-1.3.1 → gitops-1.4.1}/charts/gitops/templates/service.yml +0 -0
  32. {gitops-1.3.1 → gitops-1.4.1}/charts/gitops/templates/serviceaccount.yaml +0 -0
  33. {gitops-1.3.1 → gitops-1.4.1}/docker-compose.yml +0 -0
  34. {gitops-1.3.1 → gitops-1.4.1}/gitops/common/__init__.py +0 -0
  35. {gitops-1.3.1 → gitops-1.4.1}/gitops/common/app.py +0 -0
  36. {gitops-1.3.1 → gitops-1.4.1}/gitops/common/utils.py +0 -0
  37. {gitops-1.3.1 → gitops-1.4.1}/gitops/core.py +0 -0
  38. {gitops-1.3.1 → gitops-1.4.1}/gitops/main.py +0 -0
  39. {gitops-1.3.1 → gitops-1.4.1}/gitops/py.typed +0 -0
  40. {gitops-1.3.1 → gitops-1.4.1}/gitops/settings.py +0 -0
  41. {gitops-1.3.1 → gitops-1.4.1}/gitops/shorthands.py +0 -0
  42. {gitops-1.3.1 → gitops-1.4.1}/gitops/utils/__init__.py +0 -0
  43. {gitops-1.3.1 → gitops-1.4.1}/gitops/utils/apps.py +0 -0
  44. {gitops-1.3.1 → gitops-1.4.1}/gitops/utils/async_runner.py +0 -0
  45. {gitops-1.3.1 → gitops-1.4.1}/gitops/utils/cli.py +0 -0
  46. {gitops-1.3.1 → gitops-1.4.1}/gitops/utils/exceptions.py +0 -0
  47. {gitops-1.3.1 → gitops-1.4.1}/gitops/utils/images.py +0 -0
  48. {gitops-1.3.1 → gitops-1.4.1}/gitops/utils/kube.py +0 -0
  49. {gitops-1.3.1 → gitops-1.4.1}/gitops/utils/tags.py +0 -0
  50. {gitops-1.3.1 → gitops-1.4.1}/gitops/utils/yaml.py +0 -0
  51. {gitops-1.3.1 → gitops-1.4.1}/gitops_server/CHANGELOG.md +0 -0
  52. {gitops-1.3.1 → gitops-1.4.1}/gitops_server/README.md +0 -0
  53. {gitops-1.3.1 → gitops-1.4.1}/gitops_server/__init__.py +0 -0
  54. {gitops-1.3.1 → gitops-1.4.1}/gitops_server/app.py +0 -0
  55. {gitops-1.3.1 → gitops-1.4.1}/gitops_server/main.py +0 -0
  56. {gitops-1.3.1 → gitops-1.4.1}/gitops_server/settings.py +0 -0
  57. {gitops-1.3.1 → gitops-1.4.1}/gitops_server/types.py +0 -0
  58. {gitops-1.3.1 → gitops-1.4.1}/gitops_server/utils/__init__.py +0 -0
  59. {gitops-1.3.1 → gitops-1.4.1}/gitops_server/utils/git.py +0 -0
  60. {gitops-1.3.1 → gitops-1.4.1}/gitops_server/utils/github.py +0 -0
  61. {gitops-1.3.1 → gitops-1.4.1}/gitops_server/utils/slack.py +0 -0
  62. {gitops-1.3.1 → gitops-1.4.1}/gitops_server/workers/__init__.py +0 -0
  63. {gitops-1.3.1 → gitops-1.4.1}/gitops_server/workers/deployer/__init__.py +0 -0
  64. {gitops-1.3.1 → gitops-1.4.1}/gitops_server/workers/deployer/deploy.py +0 -0
  65. {gitops-1.3.1 → gitops-1.4.1}/gitops_server/workers/deployer/hooks.py +0 -0
  66. {gitops-1.3.1 → gitops-1.4.1}/gitops_server/workers/deployer/worker.py +0 -0
  67. {gitops-1.3.1 → gitops-1.4.1}/release-please-config.json +0 -0
  68. {gitops-1.3.1 → gitops-1.4.1}/release.py +0 -0
  69. {gitops-1.3.1 → gitops-1.4.1}/ruff.toml +0 -0
  70. {gitops-1.3.1 → gitops-1.4.1}/secrets.example.env +0 -0
  71. {gitops-1.3.1 → gitops-1.4.1}/setup.cfg +0 -0
  72. {gitops-1.3.1 → gitops-1.4.1}/tests/__init__.py +0 -0
  73. {gitops-1.3.1 → gitops-1.4.1}/tests/conftest.py +0 -0
  74. {gitops-1.3.1 → gitops-1.4.1}/tests/sample_data.py +0 -0
  75. {gitops-1.3.1 → gitops-1.4.1}/tests/test_app.py +0 -0
  76. {gitops-1.3.1 → gitops-1.4.1}/tests/test_core.py +0 -0
  77. {gitops-1.3.1 → gitops-1.4.1}/tests/test_deploy.py +0 -0
  78. {gitops-1.3.1 → gitops-1.4.1}/tests/test_git.py +0 -0
  79. {gitops-1.3.1 → gitops-1.4.1}/tests/test_gitops_server.py +0 -0
  80. {gitops-1.3.1 → gitops-1.4.1}/tests/test_utils.py +0 -0
  81. {gitops-1.3.1 → gitops-1.4.1}/tests/utils.py +0 -0
  82. {gitops-1.3.1 → gitops-1.4.1}/tests/webhook_sample_data.py +0 -0
  83. {gitops-1.3.1 → gitops-1.4.1}/uv.lock +0 -0
@@ -76,6 +76,5 @@ jobs:
76
76
  docker-context: "."
77
77
  docker-tag: "${{ needs.release-please.outputs.server-version }}"
78
78
  docker-tag-latest: true
79
- docker-image-platforms: linux/amd64
80
79
  docker-repository: "610829907584.dkr.ecr.ap-southeast-2.amazonaws.com/gitops"
81
80
  command: echo $SECRET_ENV | base64 -d > cluster.key
@@ -36,6 +36,5 @@ jobs:
36
36
  docker-context: "."
37
37
  docker-prefix: test
38
38
  docker-tag-latest: false
39
- docker-image-platforms: linux/amd64
40
39
  docker-repository: "610829907584.dkr.ecr.ap-southeast-2.amazonaws.com/gitops"
41
40
  command: echo $SECRET_ENV | base64 -d > cluster.key
@@ -0,0 +1,5 @@
1
+ {
2
+ ".": "1.4.1",
3
+ "gitops_server": "0.15.1",
4
+ "charts/gitops": "1.2.0"
5
+ }
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.4.1](https://github.com/uptick/gitops/compare/gitops-v1.4.0...gitops-v1.4.1) (2025-06-04)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * make sure to pull the right uv image for the target architecture ([9f9cf51](https://github.com/uptick/gitops/commit/9f9cf51d0d4430f7a535341ff295b003b490d418))
9
+
10
+ ## [1.4.0](https://github.com/uptick/gitops/compare/gitops-v1.3.1...gitops-v1.4.0) (2025-05-27)
11
+
12
+
13
+ ### Features
14
+
15
+ * **.github/workflows:** Build docker images for graviton instances ([7350fca](https://github.com/uptick/gitops/commit/7350fca5135000456b97ad6eb64e703e7ab2ecba))
16
+
3
17
  ## [1.3.1](https://github.com/uptick/gitops/compare/gitops-v1.3.0...gitops-v1.3.1) (2025-04-14)
4
18
 
5
19
 
@@ -1,40 +1,57 @@
1
+ # Stage 1: Define a minimal stage to extract the 'uv' binary
2
+ # This is a multi-stage build to use uv for dependency management and is necessary to ensure the the image version we pull is for the right architecture.
3
+ # This is automatically set by the buildx builder. when using --platoform linux/amd64,linux/arm64 argument and then
4
+ # using FROM in the Dockerfile.
5
+ FROM ghcr.io/astral-sh/uv:0.4.0 AS uv_extractor
6
+
7
+
8
+ # Stage 2: The main application build stage
1
9
  FROM python:3.12-slim
2
10
 
11
+ ARG TARGETARCH
12
+
3
13
  ##
4
14
  ## Install kubectl and dependencies.
5
15
  ##
6
- # RUN apk add -U openssl curl tar gzip bash ca-certificates && \
7
- # wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://raw.githubusercontent.com/sgerrand/alpine-pkg-glibc/master/sgerrand.rsa.pub && \
8
- # wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.23-r3/glibc-2.23-r3.apk && \
9
- # apk add glibc-2.23-r3.apk && \
10
- # rm glibc-2.23-r3.apk
11
- # RUN curl -L -o /usr/bin/kubectl https://storage.googleapis.com/kubernetes-release/release/v1.8.0/bin/linux/amd64/kubectl && \
12
- # chmod +x /usr/bin/kubectl && \
13
- # kubectl version --client
14
16
  ENV KUBE_LATEST_VERSION="v1.21.3"
15
17
  ENV HELM_VERSION="v3.6.2" \
16
18
  VIRTUAL_ENV="/app/.venv" \
17
19
  PATH="/app/.venv/bin:$PATH"
18
- RUN apt-get update
19
- RUN apt-get install wget ca-certificates bash git git-crypt -y --no-install-recommends \
20
- && wget -q https://storage.googleapis.com/kubernetes-release/release/${KUBE_LATEST_VERSION}/bin/linux/amd64/kubectl -O /usr/local/bin/kubectl \
20
+
21
+
22
+ RUN apt-get update \
23
+ && apt-get install wget ca-certificates bash git git-crypt -y --no-install-recommends \
24
+ # Download kubectl
25
+ && wget -q https://storage.googleapis.com/kubernetes-release/release/${KUBE_LATEST_VERSION}/bin/linux/${TARGETARCH}/kubectl -O /usr/local/bin/kubectl \
21
26
  && chmod +x /usr/local/bin/kubectl \
22
- && wget -q https://get.helm.sh/helm-${HELM_VERSION}-linux-amd64.tar.gz -O - | tar -xzO linux-amd64/helm > /usr/local/bin/helm \
27
+ \
28
+ # Download helm
29
+ && wget -q https://get.helm.sh/helm-${HELM_VERSION}-linux-${TARGETARCH}.tar.gz -O - | tar -xzO linux-${TARGETARCH}/helm > /usr/local/bin/helm \
23
30
  && chmod +x /usr/local/bin/helm \
31
+ \
32
+ # Install helm-secrets plugin
24
33
  && helm plugin install https://github.com/jkroepke/helm-secrets --version v4.2.2 \
25
- && wget -q https://github.com/mozilla/sops/releases/download/v3.7.3/sops-v3.7.3.linux.amd64 -O /usr/local/bin/sops \
34
+ \
35
+ # Download sops
36
+ && wget -q https://github.com/mozilla/sops/releases/download/v3.7.3/sops-v3.7.3.linux.${TARGETARCH} -O /usr/local/bin/sops \
26
37
  && chmod +x /usr/local/bin/sops \
38
+ \
27
39
  && apt-get clean \
28
40
  && apt-get -y autoremove \
29
41
  && rm -rf /var/lib/apt/lists/* \
30
- && rm -rf /var/cache/apt/ \
31
- ENV SHELL=/bin/bash
42
+ && rm -rf /var/cache/apt/
43
+
44
+ ENV SHELL=/bin/bash
32
45
 
33
46
  ##
34
47
  ## Install dependencies and copy GitOps server.
35
48
  ##
36
49
  WORKDIR /app
37
- COPY --from=ghcr.io/astral-sh/uv:0.4.0 /uv /bin/uv
50
+
51
+
52
+
53
+ # Copy the uv binary from the uv image to the final image.
54
+ COPY --from=uv_extractor /uv /bin/uv
38
55
  COPY --link=true pyproject.toml uv.lock /app/
39
56
  RUN --mount=type=cache,target=/root/.cache/ \
40
57
  (uv sync --frozen --no-install-project --extra server || uv sync --frozen --no-install-project --extra server)
@@ -49,5 +66,4 @@ ENV GIT_CRYPT_KEY_FILE=/app/cluster.key
49
66
  ENV PYTHONPATH="$PYTHONPATH:/app"
50
67
  ENV ACCESS_LOG=""
51
68
 
52
-
53
- CMD ["uvicorn", "--host", "0.0.0.0", "--port", "8000", "gitops_server.main:app"]
69
+ CMD ["uvicorn", "--host", "0.0.0.0", "--port", "8000", "gitops_server.main:app"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitops
3
- Version: 1.3.1
3
+ Version: 1.4.1
4
4
  Summary: Manage multiple apps across one or more k8s clusters.
5
5
  Author-email: Jarek Głowacki <jarekwg@gmail.com>
6
6
  License-File: LICENSE
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.2.0](https://github.com/uptick/gitops/compare/helm-v1.1.2...helm-v1.2.0) (2025-05-09)
4
+
5
+
6
+ ### Features
7
+
8
+ * **charts/gitops:** Add pdb template ([4ac5fdb](https://github.com/uptick/gitops/commit/4ac5fdb2b5d4a2b37e43aa79aa231e15255c4400))
9
+
3
10
  ## [1.1.2](https://github.com/uptick/gitops/compare/helm-v1.1.1...helm-v1.1.2) (2025-02-14)
4
11
 
5
12
 
@@ -2,4 +2,4 @@ apiVersion: v1
2
2
  appVersion: "1.0"
3
3
  description: GitOps Server Helm chart.
4
4
  name: gitops
5
- version: 1.1.2
5
+ version: 1.2.0
@@ -0,0 +1,19 @@
1
+ {{- if .Values.podDisruptionBudget.enabled }}
2
+ apiVersion: policy/v1
3
+ kind: PodDisruptionBudget
4
+ metadata:
5
+ name: {{ .Release.Name }}-pdb
6
+ namespace: {{ .Release.Namespace }}
7
+ labels:
8
+ app: {{ .Release.Name }}
9
+ spec:
10
+ {{- if .Values.podDisruptionBudget.minAvailable }}
11
+ minAvailable: {{ .Values.podDisruptionBudget.minAvailable }}
12
+ {{- end }}
13
+ {{- if .Values.podDisruptionBudget.maxUnavailable }}
14
+ maxUnavailable: {{ .Values.podDisruptionBudget.maxUnavailable }}
15
+ {{- end }}
16
+ selector:
17
+ matchLabels:
18
+ app: {{ .Release.Name }}
19
+ {{- end }}
@@ -30,7 +30,19 @@ nodeSelector: {}
30
30
  tolerations: []
31
31
 
32
32
  affinity: {}
33
+ podDisruptionBudget: {}
34
+ # podDisruptionBudget:
35
+ # enabled: true
36
+ # minAvailable: 1
37
+ # maxUnavailable: 1
33
38
 
39
+ resources:
40
+ limits:
41
+ cpu: 500m
42
+ memory: 512Mi
43
+ requests:
44
+ cpu: 100m
45
+ memory: 128Mi
34
46
  serviceAccount:
35
47
  # Specifies whether a service account should be created
36
48
  create: true
@@ -6,7 +6,7 @@ from gitops.utils.apps import App, get_app_details, get_apps
6
6
 
7
7
  from .utils.cli import success, warning
8
8
 
9
- __version__ = "1.3.1"
9
+ __version__ = "1.4.1"
10
10
 
11
11
 
12
12
  # Checking gitops version matches cluster repo version.
@@ -0,0 +1 @@
1
+ __version__ = "1.4.1"
@@ -1,7 +1,7 @@
1
1
 
2
2
  [project]
3
3
  name = "gitops"
4
- version = "1.3.1"
4
+ version = "1.4.1"
5
5
  description = "Manage multiple apps across one or more k8s clusters."
6
6
  requires-python = ">=3.12"
7
7
  readme = "README.md"
@@ -1,5 +0,0 @@
1
- {
2
- ".": "1.3.1",
3
- "gitops_server": "0.15.1",
4
- "charts/gitops": "1.1.2"
5
- }
@@ -1 +0,0 @@
1
- __version__ = "1.3.1"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes