Repository navigation
feat!: GitOps Reverser decides when Flux or Argo CD applies a folder #419
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Open
Changes from all commits
Commits
Show all changes
36 commits
Select commit
Hold shift + click to select a range
c7230c3
docs(design): add gitops-api's ask to wake the reconciler only on for…
sunib b10c9cd
docs(design): answer #29: GitOps Reverser takes over the reconciliati…
sunib 6e700ec
docs: describe GitOps Reverser owning the apply trigger, ahead of the…
sunib 75eac7a
feat!: GitOps Reverser decides when Flux applies a folder
sunib ee94924
test(e2e): count the refusal spec's empty commits from a baseline, an…
sunib 11ec79c
fix(git): restart the apply trigger's quiet period on every decided w…
sunib 83a5e60
docs: describe onRefusal: Reapply in the API-first publication guide
sunib 2e5f801
docs(design): record the apply trigger's follow-ups
sunib 65621bd
docs: match the apply trigger docs to what the code does
sunib eb9dc03
docs(design): plan the review fixes before the apply trigger merges
sunib 994d92b
fix(applier): check every apply request again at the patch
sunib 3e130d5
docs: narrow the refusal promise and record the review fixes
sunib cf1485c
fix(applier): keep status.applier per GitTarget incarnation
sunib afd7e83
test(e2e): prove the Flux applier's source check, hand-back and receiver
sunib e3c8df4
test(e2e): prove the refresher alone gets a Git-side push applied
sunib ffe9503
docs: add the Flux user guide, with its example held to the code
sunib 0847f82
refactor(applier): the branch worker owns every apply obligation
sunib cdb0d21
test: drop the empty-commit trick and repoint design citations
sunib 483adc5
docs: a fresh apply trigger design, and the aim restored
sunib 84a76c9
fix(applier): never stamp an older commit over a newer push
sunib 27dd081
fix(git): a late notice for our own push no longer cuts a save short
sunib af4bb65
fix(receiver): accept GitHub's form-encoded webhooks
sunib 537a90f
docs: the stamp rule, staleness, and where the apply trigger goes next
sunib c326ae5
test(e2e): share one Flux applier helper between the Flux specs
sunib 235ef07
fix(receiver): derive the route from the token, and answer every miss…
sunib c6e1da7
feat(applier): find the applier through its own ClusterProvider
sunib e24d242
feat(applier): the API wins an edit made while Flux applies
sunib 8fbc019
docs(design): plan the Argo CD applier, with automated sync off as th…
sunib 3de4908
docs(design): record the Argo CD applier decisions
sunib c5b1f0c
feat(api): name an Argo CD Application as a GitTarget's applier
sunib e2cb566
feat(applier): ask an Argo CD Application to sync a commit the worker…
sunib 16bc098
feat(controller): check an Argo CD applier, grant its RBAC, and docum…
sunib cc49a4d
test(e2e): drive the Argo CD corner under the standard, automated syn…
sunib b295a97
docs: the architecture overview and index name the Argo CD applier
sunib bedeb2e
test(e2e): ask the GitTarget to reconcile before reading status.applier
sunib 6efbf4d
docs(argocd): list the requirements, and what not to do with Argo CD
sunib File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1 @@ | ||
| 79.9 | ||
| 80.0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,93 @@ | ||
| {{- if and .Values.rbac.create .Values.applierAccess.flux }} | ||
| # What GitOps Reverser needs to ask Flux to apply a commit after somebody else pushed to a branch a | ||
| # GitTarget writes: read and patch the Kustomization and its GitRepository (an apply request is a | ||
| # reconcile request on them), and create SelfSubjectAccessReviews so the operator can check it holds | ||
| # that access before relying on it. Separate from the manager role because it is optional and | ||
| # names another project's API: an install without Flux grants nothing on it. See | ||
| # docs/design/apply-trigger.md. | ||
| apiVersion: rbac.authorization.k8s.io/v1 | ||
| kind: ClusterRole | ||
| metadata: | ||
| name: {{ include "gitops-reverser.fullname" . }}-applier-flux | ||
| labels: | ||
| {{- include "gitops-reverser.labels" . | nindent 4 }} | ||
| rules: | ||
| - apiGroups: | ||
| - kustomize.toolkit.fluxcd.io | ||
| resources: | ||
| - kustomizations | ||
| verbs: | ||
| - get | ||
| - patch | ||
| - apiGroups: | ||
| - source.toolkit.fluxcd.io | ||
| resources: | ||
| - gitrepositories | ||
| verbs: | ||
| - get | ||
| - patch | ||
| - apiGroups: | ||
| - authorization.k8s.io | ||
| resources: | ||
| - selfsubjectaccessreviews | ||
| verbs: | ||
| - create | ||
| --- | ||
| apiVersion: rbac.authorization.k8s.io/v1 | ||
| kind: ClusterRoleBinding | ||
| metadata: | ||
| name: {{ include "gitops-reverser.fullname" . }}-applier-flux | ||
| labels: | ||
| {{- include "gitops-reverser.labels" . | nindent 4 }} | ||
| roleRef: | ||
| apiGroup: rbac.authorization.k8s.io | ||
| kind: ClusterRole | ||
| name: {{ include "gitops-reverser.fullname" . }}-applier-flux | ||
| subjects: | ||
| - kind: ServiceAccount | ||
| name: {{ include "gitops-reverser.serviceAccountName" . }} | ||
| namespace: {{ .Release.Namespace }} | ||
| {{- end }} | ||
| {{- if and .Values.rbac.create .Values.applierAccess.argocd }} | ||
| --- | ||
| # What GitOps Reverser needs to ask an Argo CD Application to sync a commit it checked: read the | ||
| # Application and update it with a sync operation (how Argo CD's own automated sync starts one), and | ||
| # create SelfSubjectAccessReviews so the operator can check it holds that access before relying on | ||
| # it. Separate from the manager role because it is optional and names another project's API: an | ||
| # install without Argo CD grants nothing on it. See docs/argocd.md. | ||
| apiVersion: rbac.authorization.k8s.io/v1 | ||
| kind: ClusterRole | ||
| metadata: | ||
| name: {{ include "gitops-reverser.fullname" . }}-applier-argocd | ||
| labels: | ||
| {{- include "gitops-reverser.labels" . | nindent 4 }} | ||
| rules: | ||
| - apiGroups: | ||
| - argoproj.io | ||
| resources: | ||
| - applications | ||
| verbs: | ||
| - get | ||
| - update | ||
| - apiGroups: | ||
| - authorization.k8s.io | ||
| resources: | ||
| - selfsubjectaccessreviews | ||
| verbs: | ||
| - create | ||
| --- | ||
| apiVersion: rbac.authorization.k8s.io/v1 | ||
| kind: ClusterRoleBinding | ||
| metadata: | ||
| name: {{ include "gitops-reverser.fullname" . }}-applier-argocd | ||
| labels: | ||
| {{- include "gitops-reverser.labels" . | nindent 4 }} | ||
| roleRef: | ||
| apiGroup: rbac.authorization.k8s.io | ||
| kind: ClusterRole | ||
| name: {{ include "gitops-reverser.fullname" . }}-applier-argocd | ||
| subjects: | ||
| - kind: ServiceAccount | ||
| name: {{ include "gitops-reverser.serviceAccountName" . }} | ||
| namespace: {{ .Release.Namespace }} | ||
| {{- end }} | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.