Disable republish in Artifactory - artifactory

How to disable re-publish of the same version of the artifact in the Jfrog Artifactory?
For example Docker repository - my-docker-releases: Image myapp:1.0.0 is published in the repository. It should not be possible for anyone to publish another image with the same tag myapp:1.0.0 in the same repository.
How to achieve this feature by repository settings of Artifactory?

As mentioned in their documentation:
https://www.jfrog.com/confluence/display/RTF6X/Managing+Permissions
Preventing Overwriting Deployments
You can prevent a user or group from overwriting a deployed release or unique snapshot by not granting the Delete permission. Non-unique snapshots can always be overwritten (provided the Deploy permission is granted).

Related

Artifactory File Spec Upload: How to ignore existing artifacts / skip uploading artifacts on

Is there any option that allows uploading already existing artifacts without getting the error Not enough permissions to delete/overwrite artifact?
I know that I could give the "Delete" permission to my uploading user but this is not what I want since I don't want artifacts to be overwritten. For example, the python package uploader twine has such an option --skip-existing as well.
Related StackOverflow posts:
How to avoid overriding the existing files while uploading to Artifactory using JFrog rt CLI
How can I prevent previously deployed artifacts from being overwritten?
I already created a issue on GitHub for my question as well.

How do I get (remote/virtual) repositories to actually show up in Artifactory OSS' repository administration page?

I have an instance of Artifactory OSS (latest version) running in a docker container locally.
We have a remote instance of Artifactory (non-OSS) running as well.
In my local instance, I set up a remote repository of package type Ivy pointing to each of the repositories we have set up in our remote non-OSS instance.
Once I have created a remote repository configuration, I can view each remote repository I created and its artifacts being served under the Application --> Artifactory --> Artifacts page HOWEVER under the Administration --> Repositories --> Repositories page where I am expecting to be able to make changes to the configurations (I have logged in as Admin with administrator privileges btw), none of the repositories I set up are actually visible here! I only see a 0 Repositories count and a No remote repositories message where I am expecting to see a list.
When I do Ivy resolves against my local (remote repository) it works as expected, so they're definitely working... just not showing up for administration.
I have tried rolling back to earlier versions of Artifactory OSS but that hasn't changed anything.
I can tediously work around this with a combination of the REST API and the UI but I REALLY JUST want to be able to administer the configurations within the web app... Am I just being dumb about something or is there a known issue regarding this? I have searched around and I haven't found an answer to this issue, so any help or direction would be greatly appreciated! Thanks!
I was able to reproduce it on my end on as well on version 7.19.1, seems this issue happens when working with Ivy on Artifactory OSS.
I have opened a bug for this on JFrog Jira.

How can I clone a hasura project as a collaborator?

We are working on a node-express application and I have been assigned the collaborator role.
From Hasura's Docs,
The owner and collaborators should push changes to the upstream origin (like GitHub) and pull changes regularly to avoid conflicts arising later.
This means that Hasura doesn't do version control for your codebase and you should be just pulling it from a git repo where you and all other collaborators push code to.
Rest of the steps are fairly explained in official docs on Collaborating on a Hasura Project.

Artifactory Remote Repositories - does it keep files deleted remotely?

A repository I use regularly deletes old version of deb packages as it releases new ones, which is very annoying as it breaks our builds until we can bump the package version in our config management.
I was hoping that the Remote Repositories feature would let me create a cache that keeps packages in it even though the original repository has deleted them.
Does Artifactory Remote Repositories delete files when they are deleted from the original repository?
Thanks
The answer is NO, Artifactory will not delete the files if the remote repository deleted the files. Now there is a scenario that Artifactory will clean unused artifacts BUT only if the Admin choose to and I will explain. In the Artifactory UI --> Admin --> Remote repositories --> Repository configuration --> Advanced tab, you have a checkbox named "Unused Artifacts Cleanup Period". By default, this field is empty which means no cleanup. Unless the Admin change this field nothing should be deleted automatically by any Artifactory process.

Artifactory - Manage external dependencies

I'm wondering how other Artifactory Admins do that so here's my question:
We're starting to use Artifactory to manage our artifacts. Internal as well as external artifacts. The external artifacts are all available in an internal repository. This is so because of a conversion from a file based repository to Artifactory.
Now this is starting to cause issues and I'm wondering how others are managing the external dependencies? As an Artifactory Administrator I want to be sure that my developers only use artifacts which have the correct license so I don't want to have a "feel free to download everything from the internet" culture.
I want to provide some sort of a "whitelisted and approved" set of external Artifacts.
Is this possible using Artifactory OSS or do we manually download the artifacts from a remote repository and deploy it to our local repository?
Thank you in advance!
this can be done with writing a user plugin but it will require a PRO version of Artifactory. You can see here examples to a governance control plugin that was written in the past.
With OSS version you can't reject downloads of users based on license.
Hope that answer your question.

Resources