Skip to content
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

Namespaced Apprepository: cronjobs not displayed in ArgoCD UI when repo deployed in namespace other than the kubeapps namespace #5633

Closed
Jonito opened this issue Nov 14, 2022 · 4 comments
Labels
awaiting-more-evidence Need more info to actually get it done.

Comments

@Jonito
Copy link

Jonito commented Nov 14, 2022

Describe the bug
We deployed GCP Artifact Registry (oci) Apprepos in separate namespaces using ArgoCD. The repos can be seen under each of the required namespace in kubeapps package administration and functionality works
The cronjobs for these Apprepos get deployed in kubeapps namespace along with the jobs created by the cronjobs run.
But the cronjobs are not seen from Argocd.
To Reproduce
Steps to reproduce the behavior:

  1. Deploy GCP artifact repository (OCI) as namedspace Apprepo.
  2. Verify the app repos in Kubeapps package administration in the expected namespace.
  3. Verify the functionality using a helm chart
  4. Verify the contents of cronjob for that Apprepo. If the cronjob is in different namespace then the Apprepo the it will have missing ownerReferences: when checked the cronjob

for e.g one of my cronjobs.

kubectl get cronjobs apprepo-ecpipeline-sync-gcp-ecpipeline -o yaml
apiVersion: batch/v1
kind: CronJob
metadata:
creationTimestamp: "2022-11-14T09:33:34Z"
generation: 1
labels:
apprepositories.kubeapps.com/repo-name: gcp-ecpipeline
apprepositories.kubeapps.com/repo-namespace: ecpipeline
name: apprepo-ecpipeline-sync-gcp-ecpipeline
namespace: apps
resourceVersion: "29377232"
uid: 62e3cb9b-762e-42e1-b7ea-760a86aea3c6
spec:
concurrencyPolicy: Replace
failedJobsHistoryLimit: 1
jobTemplate:
metadata:
creationTimestamp: null
spec:
template:
metadata:
creationTimestamp: null
labels:
apprepositories.kubeapps.com/repo-name: gcp-ecpipeline
apprepositories.kubeapps.com/repo-namespace: ecpipeline
spec:
containers:
- args:
- sync
- --database-url=apps-postgresql:5432
- --database-user=postgres
- --database-name=assets
- --user-agent-comment=kubeapps/2.5.0
- --global-repos-namespace=apps
- --namespace=ecpipeline
- gcp-ecpipeline
- https://europe-west4-docker.pkg.dev/sap-cx-pipeline-test/
- oci
- --oci-repositories
- k8s-ec-pipeline/jenkins-ecpipeline
command:
- /asset-syncer
env:
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
key: postgres-password
name: kubeapps-postgresql
- name: AUTHORIZATION_HEADER
valueFrom:
secretKeyRef:
key: authorizationHeader
name: ecpipeline-apprepo-gcp-ecpipeline
image: eu.gcr.io/sap-cx-pipeline-prod/k8s-apps/kubeapps-asset-syncer:2.5.0-scratch-r0
imagePullPolicy: IfNotPresent
name: sync
resources:
limits:
cpu: 500m
memory: 100M
requests:
cpu: 100m
memory: 50M
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: OnFailure
schedulerName: default-scheduler
securityContext:
runAsUser: 1001
terminationGracePeriodSeconds: 30
ttlSecondsAfterFinished: 3600
schedule: '*/10 * * * *'
successfulJobsHistoryLimit: 3
suspend: false
status:
lastScheduleTime: "2022-11-14T10:20:00Z"
lastSuccessfulTime: "2022-11-14T10:20:05Z"

Expected behavior
I expected the cronjobs to be deployed in same namespace as the Apprepos so the the cronjobs ownerReferences gets defined in the cronjob

Screenshots
Screenshot 2022-11-10 at 10 26 05

Part screenshot of argocd deployment showing the Apprepositories.
In this screenshot i have three repos gcp-test-ecpipeline , gcp-test-modelt-sre and gcp-test-modelt
cronjob displayed for gcp-test-ecpipeline which is in same namespace as kubeapps.
gcp-test-modelt-sre and gcp-test-modelt are in different namespaces and cronjobs not seen in the scrrenshot.

Desktop (please complete the following information):

  • Version [2.5.0]
  • Kubernetes version [v1.23.11]
  • Package version []

Additional context
Add any other context about the problem here.

@Jonito Jonito added the kind/bug An issue that reports a defect in an existing feature label Nov 14, 2022
@absoludity
Copy link
Contributor

Hi @Jonito . I think the related issue here is that the current Kubeapps asset-syncer command requires the database secret for the Kubeapps postgresql database (as in, it talks directly to the DB :/ ), which means that we can really only restrict ourselves to running the asset-sync jobs in the Kubeapps namespace (since otherwise we'd need to copy that secret out to other namespaces - not something we can consider). I had hoped we could at some point address this (see #2394), but it's not something currently prioritized.

So unfortunately I don't currently see a solution for you, other than if there was a way for ArgoCD to link to a cronjob in a different namespace :/ Happy to add any annotations or similar that might be useful/required though I think it's a known restriction - for example, see crossplane/crossplane#2928

@ppbaena
Copy link
Collaborator

ppbaena commented Nov 21, 2022

Hi @Jonito, this is Pepe Baena, engineering manager at Kubeapps. As a Kubeapps adopter, I’d like to feature your organization in the ADOPTERS.md file. Would you like to be included? We only need a PR with your logo and 1-2 sentences describing how your organization uses Kubeapps (we can also help you with this PR).

I really appreciate it for promoting Kubeapps use cases like yours throughout our amazing open-source community.
Thank you so much for your contribution.

@ppbaena ppbaena added awaiting-more-evidence Need more info to actually get it done. and removed kind/bug An issue that reports a defect in an existing feature labels Nov 21, 2022
@Jonito
Copy link
Author

Jonito commented Nov 21, 2022

@ppbaena

I work for SAP and it's already there in the ADOPTERS.md.

@ppbaena
Copy link
Collaborator

ppbaena commented Nov 21, 2022

Thank's @Jonito. I have not everyone in your team identified 😄

@ppbaena ppbaena closed this as completed Dec 19, 2022
absoludity pushed a commit that referenced this issue Apr 6, 2023
Bumps [axios](https://github.com/axios/axios) from 1.3.4 to 1.3.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/axios/axios/releases">axios's
releases</a>.</em></p>
<blockquote>
<h2>Release v1.3.5</h2>
<h2>Release notes:</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>headers:</strong> fixed isValidHeaderName to support full
list of allowed characters; (<a
href="https://redirect.github.com/axios/axios/issues/5584">#5584</a>)
(<a
href="https://github.com/axios/axios/commit/e7decef6a99f4627e27ed9ea5b00ce8e201c3841">e7decef</a>)</li>
<li><strong>params:</strong> re-added the ability to set the function as
<code>paramsSerializer</code> config; (<a
href="https://redirect.github.com/axios/axios/issues/5633">#5633</a>)
(<a
href="https://github.com/axios/axios/commit/a56c8661209d5ce5a645a05f294a0e08a6c1f6b3">a56c866</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a
href="https://github.com/DigitalBrainJS" title="+28/-10
([#5633](axios/axios#5633)
[#5584](axios/axios#5584) )">Dmitriy
Mozgovoy</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/axios/axios/blob/v1.x/CHANGELOG.md">axios's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/axios/axios/compare/v1.3.4...v1.3.5">1.3.5</a>
(2023-04-05)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>headers:</strong> fixed isValidHeaderName to support full
list of allowed characters; (<a
href="https://redirect.github.com/axios/axios/issues/5584">#5584</a>)
(<a
href="https://github.com/axios/axios/commit/e7decef6a99f4627e27ed9ea5b00ce8e201c3841">e7decef</a>)</li>
<li><strong>params:</strong> re-added the ability to set the function as
<code>paramsSerializer</code> config; (<a
href="https://redirect.github.com/axios/axios/issues/5633">#5633</a>)
(<a
href="https://github.com/axios/axios/commit/a56c8661209d5ce5a645a05f294a0e08a6c1f6b3">a56c866</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a
href="https://github.com/DigitalBrainJS" title="+28/-10
([#5633](axios/axios#5633)
[#5584](axios/axios#5584) )">Dmitriy
Mozgovoy</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/axios/axios/commit/4af78a72eee06172c53383aaed74e2dcaf44d620"><code>4af78a7</code></a>
chore(release): v1.3.5 (<a
href="https://redirect.github.com/axios/axios/issues/5634">#5634</a>)</li>
<li><a
href="https://github.com/axios/axios/commit/a56c8661209d5ce5a645a05f294a0e08a6c1f6b3"><code>a56c866</code></a>
fix(params): re-added the ability to set the function as
<code>paramsSerializer</code> c...</li>
<li><a
href="https://github.com/axios/axios/commit/e7decef6a99f4627e27ed9ea5b00ce8e201c3841"><code>e7decef</code></a>
fix(headers): fixed isValidHeaderName to support full list of allowed
charact...</li>
<li>See full diff in <a
href="https://github.com/axios/axios/compare/v1.3.4...v1.3.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=axios&package-manager=npm_and_yarn&previous-version=1.3.4&new-version=1.3.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
absoludity pushed a commit that referenced this issue Apr 17, 2023
Bumps [axios](https://github.com/axios/axios) from 1.3.4 to 1.3.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/axios/axios/releases">axios's
releases</a>.</em></p>
<blockquote>
<h2>Release v1.3.5</h2>
<h2>Release notes:</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>headers:</strong> fixed isValidHeaderName to support full
list of allowed characters; (<a
href="https://redirect.github.com/axios/axios/issues/5584">#5584</a>)
(<a
href="https://github.com/axios/axios/commit/e7decef6a99f4627e27ed9ea5b00ce8e201c3841">e7decef</a>)</li>
<li><strong>params:</strong> re-added the ability to set the function as
<code>paramsSerializer</code> config; (<a
href="https://redirect.github.com/axios/axios/issues/5633">#5633</a>)
(<a
href="https://github.com/axios/axios/commit/a56c8661209d5ce5a645a05f294a0e08a6c1f6b3">a56c866</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a
href="https://github.com/DigitalBrainJS" title="+28/-10
([#5633](axios/axios#5633)
[#5584](axios/axios#5584) )">Dmitriy
Mozgovoy</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/axios/axios/blob/v1.x/CHANGELOG.md">axios's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/axios/axios/compare/v1.3.4...v1.3.5">1.3.5</a>
(2023-04-05)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>headers:</strong> fixed isValidHeaderName to support full
list of allowed characters; (<a
href="https://redirect.github.com/axios/axios/issues/5584">#5584</a>)
(<a
href="https://github.com/axios/axios/commit/e7decef6a99f4627e27ed9ea5b00ce8e201c3841">e7decef</a>)</li>
<li><strong>params:</strong> re-added the ability to set the function as
<code>paramsSerializer</code> config; (<a
href="https://redirect.github.com/axios/axios/issues/5633">#5633</a>)
(<a
href="https://github.com/axios/axios/commit/a56c8661209d5ce5a645a05f294a0e08a6c1f6b3">a56c866</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a
href="https://github.com/DigitalBrainJS" title="+28/-10
([#5633](axios/axios#5633)
[#5584](axios/axios#5584) )">Dmitriy
Mozgovoy</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/axios/axios/commit/4af78a72eee06172c53383aaed74e2dcaf44d620"><code>4af78a7</code></a>
chore(release): v1.3.5 (<a
href="https://redirect.github.com/axios/axios/issues/5634">#5634</a>)</li>
<li><a
href="https://github.com/axios/axios/commit/a56c8661209d5ce5a645a05f294a0e08a6c1f6b3"><code>a56c866</code></a>
fix(params): re-added the ability to set the function as
<code>paramsSerializer</code> c...</li>
<li><a
href="https://github.com/axios/axios/commit/e7decef6a99f4627e27ed9ea5b00ce8e201c3841"><code>e7decef</code></a>
fix(headers): fixed isValidHeaderName to support full list of allowed
charact...</li>
<li>See full diff in <a
href="https://github.com/axios/axios/compare/v1.3.4...v1.3.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=axios&package-manager=npm_and_yarn&previous-version=1.3.4&new-version=1.3.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting-more-evidence Need more info to actually get it done.
Projects
Archived in project
Development

No branches or pull requests

3 participants