GitKraken won't let me open my Private Repository on GitLab - gitlab

So, in addition to GitKraken won't let me clone from a private repo on GitHub
I get this screen when opening my GitLab Repo:
Anyone got a solution of how to make my Repo 'non-private' or how to make GitKraken let me open this without the Pro Plan?
Already tried:
Generating new SSH Key in GitKraken
Removing Repo, Generate new GitLab connection, Clone Repo
Checked GitLab: GitKraken is an Authorized applications
Git Pull via command line gives no trouble, so no permission issue
...

6.5.1 is the last version to support private repo. You can see the release details at this link https://blog.axosoft.com/gitkraken-v6-0/#pricing-changes OR https://support.gitkraken.com/release-notes/6x/
And you can also download it (Mac version) from Axosoft https://release.axocdn.com/darwin/GitKraken-v6.5.1.zip OR https://release.gitkraken.com/darwin/GitKraken-v6.5.1.zip
I not sure how to turn off the automatic update function, so if you turn off GitKraken completely and reopen it, it will update to the latest version.
=======
Updated
Block IP Address for updating
For MacOS
echo "127.0.0.1 release.gitkraken.com" >> /private/etc/hosts
Windows 10 – “C:\Windows\System32\drivers\etc\hosts”
Linux – “/etc/hosts”
Mac OS X – “/private/etc/hosts”

Installing older version of Gitkraken is the only solution I guess to work on private repo if you want it for free and without student developer pack.
From the release notes, the last version to support private repo is v6.5.1.
Download link:
For windows: https://release.gitkraken.com/win64/GitKrakenSetup-6.5.1.exe
For linux (debian): https://release.axocdn.com/linux/GitKraken-v6.5.1.deb
For linux (tar.gz): https://release.axocdn.com/linux/GitKraken-v6.5.1.tar.gz
For mac: https://release.axocdn.com/darwin/GitKraken-v6.5.1.zip

Download old version of app
Official download URL for macOS. For Win you have link on Comments in this answer
EDIT:
OMG! I found it.
There is auto patcher who was build over yarn
https://github.com/5cr1pt/GitCracken
Work like a sharm 💪
Note:
It take a decent time to install, so be patient.

I had the same problem, this what I found:
They say, and I quote -
This was a licensing change we made 3 months ago. When we made the
change, we gave all existing users a 3 month free trial, which are all
expiring this week. Sounds like yours is one of them
BTW worth noting that if you're a student, you can use GitKraken for free:
https://www.gitkraken.com/student-resources

My solution is to uninstall GitKraken and install Fork, a very similar program with all the options that I have used previously in GitKraken. It's free and has a dark mode too :-)

(window users)
In your %appdata%/../Local/gitkraken, remove latest gk version you just updated, remove updater & use the previous version (& maybe buy a license)

(Windows solution)
I think this solution should work:
Since Private repo is moved to paid plan after v6.5.1 so make sure you download an earlier version (For example Windows: 5.0.4 - Change version number to any desired one)
If you had a newer version installed, get rid of it like this:
Uninstall that version
Go to C:/Users/USERNAME/appdata/local/ and remove GitKraken
Go to C:/Users/USERNAME/appdata/roaming/ and remove .gitkraken
Install the selected older version
Go to C:/Users/USERNAME/appdata/local/gitkraken and rename Update.exe to Update_.exe (Don't remove it. Needed for uninstalling)
Use it
Note: I had issues with some repos even with this solution and that could be because gitkraken saves config file in the repo (which is not shared with remote). So make sure you remove the local project and get it from remote again.
(Note: Newer version obviously contains more features. You may want to purchase a license to be updated and fine, as well as supporting the company)

If you have tried running GitKraken 6.5.1 on a recent version of Ubuntu, you have probably noticed that it has dependencies that can't be satisfied (gvfs-bin). However, you can run it in Docker by building an image for it based on Ubuntu 18.04!
Download the GitKraken package:
wget https://release.axocdn.com/linux/GitKraken-v6.5.1.deb
Create a Dockerfile. Replace YOURUSERNAME with your local username. Replace 1000 with your actual user and group IDs respectively:
FROM ubuntu:18.04
COPY GitKraken-v6.5.1.deb /tmp
RUN apt update && apt install gconf2 gconf-service libgtk2.0-0 libnotify4 libxtst6 libnss3 libxkbfile1 python gvfs-bin xdg-utils xauth libxss1 libasound2 -y
RUN dpkg -i /tmp/GitKraken-v6.5.1.deb
RUN groupadd -g 1000 YOURUSERNAME && useradd -u 1000 -g 1000 YOURUSERNAME
CMD ["/usr/bin/gitkraken", "--no-sandbox"]
Build the Docker image:
docker build -t gitkraken .
Allow Docker to connect to your local XServer:
xhost +local:docker
Run your GitKraken in a container, mapping your local home directory into the container. Again, replace your username and IDs:
docker run -ti --rm -e DISPLAY=$DISPLAY --network=host -v /home/YOURUSERNAME:/home/YOURUSERNAME --user 1000:1000 gitkraken

Uninstall and use an older version of gitkraken. V5.0.4 will continue to work as always.

Gitkraken does not update automatically in Linux, so Axosoft can't shove it down your throat. For Windows, there's SourceTree. Consolations to Mac users.

I have the GitKraken individual plan and can only use my account on one computer.
My laptop displays the same message regarding the private repository and blocks me. I thought that the individual plan would allow my single account on multiple computers.

I have been using GitKraken free version for more than an year. I ran into the same issue recently. I was able to get it working by reinstalling an older version.
Note: You need to do this whenever you restart your computer or Gitkraken.

My solution:
Remove the latest version from (window users) appdata%/../Local/gitkraken
Create a short cut to the folder where the previous version is installed.
Open shortcut
Start executable.
What happens when the update come up again. I will see then.

If anyone is looking for a solid Git linux client, try GitClient, they have an AppImage,
it doesnt have all features of Kraken but very solid,
https://github.com/francescmm/GitQlient

Save your files of Repository - Without Folder (.git)
Create new public repository
Copy and Commit your Files
Open your Repo (Git Kraken).

To expose your project from gitlab, go to Settings => General and select public under the "Visibility, project features, permissions" section.
To open a private repo under GitKraken, subscribe to their licence.

Related

How to downgrade Terraform to a previous version?

I have installed a version (0.12.24) of Terraform which is later than the required version (0.12.17) specified in our configuration. How can I downgrade to that earlier version? My system is Linux Ubuntu 18.04.
As long as you are in linux, do the following in the terminal:
rm -r $(which terraform)
Install the previous version:
wget https://releases.hashicorp.com/terraform/1.3.4/terraform_1.3.4_linux_amd64.zip
unzip terraform_1.3.4_linux_amd64.zip
mv terraform /usr/local/bin/terraform
terraform --version
That's it, my friend.
EDIT: I've assumed people now use v1.3.5 so the previous version is v1.3.4.
You could also checkout Terraform Switcher - this will allow you to switch between different versions easily.
First, download latest package information using:
sudo apt-get update
The simplest way to downgrade is to use apt-get to install the required version - this will automatically perform a downgrade:
Show a list of available versions - sudo apt list -a terraform
terraform/xenial 0.13.5 amd64
terraform/xenial 0.13.4-2 amd64
... etc
or use sudo apt policy terraform to list available versions
Install the desired version:
sudo apt-get install terraform=0.14.5
Or, for a 'clean' approach, remove the existing version before installing the desired version:
sudo apt remove terraform
There are other valid answers here. This may be useful if you have a situation, like I do, where you need multiple Terraform versions during a migration from an old version to a new version.
I use tfenv for that:
https://github.com/tfutils/tfenv
It provides a modified terraform script that does a lookup of the correct terraform executable based on a default or based on the closest .terraform-version file in the directory or parent directories. This allows us to use a version of Terraform 0.12 for our migrated stuff and keep Terraform 0.11 for our legacy stuff.
You shouldn't be installing terraform in ubuntu any more. Generally speaking, the industry has moved on to docker now. You can install docker like this:
sudo apt install -y curl
curl -LSs get.docker.com | sh
sudo groupadd docker
sudo usermod -aG docker $USER
Once installed you can run terraform like this:
docker run -v $PWD:/work -w /work -v ~/.aws:/root/.aws hashicorp/terraform:0.12.17 init
Assuming that your .aws directory contains your aws credentials. If not, you can leave that mount binding (-v ~/.aws:/root/.aws) out of the command and it'll work with whatever scheme you choose to use. You can change the version of terraform you are using with ease, without installing anything.
There are significant benefits in this approach over the accepted answer. First is the ease of versioning. If you have installed terraform using a package manager you can either uninstall it and install the version you need, or you can play around with Linux alternatives (if your distro supports them, or you are using Linux, or a package manager of some sort -- you could be using Windows and have downloaded and run an installer). Of course, this might be a one-off thing, in which case you do it once and you're ok forever, but in my experience, that isn't often the case as most teams are required to update versions due to security controls, and those teams that aren't required to regularly update software probably should be.
If this isn't a one-off thing, or you'd not like to play around too much with versioning then you could just download the binary, as one comment on this post points out. It's pretty easy to come up with a scheme of directories for each version, or just delete the one you're using and replace it completely. This may suit your use-case pretty well. Go to the appropriate website (I've forgotten which one -- Hashicorp or the GitHub repo's releases page, you can always search for it, though that takes time too -- which is my point) and find the right version and download it.
Or, you can just type docker run hashicorp/terraform:0.12.17 and the right version will be automagically pulled for you from a preconfigured online trusted repo.
So, installing new versions is easier, and of course, docker will run the checksum for you, and will also have scanned the image for vulnerabilities and reported the results back to the developers. Of course, you can do all of this yourself, because as the comment on this answer states, it's just a statically compiled binary, so no hassle just install it and go.
Only it still isn't that easy. Another benefit would be the ease in which you could incorporate the containerised version into docker-compose configurations, or run it in K8S. Again, you may not need this capability, but given that the industry is moving that way, you can learn to do it using the standardised tools now and apply that knowledge everywhere, or you can learn a different technique to install every single tool you use now (get some from GitHub releases and copy the binary, others you should use the package manager, others you should download, unzip, and install, still others should be installed from the vendor website using an installer, etc. etc. etc.). Or, you can just learn how to do it with docker and apply the same trick to everything. The vast of modern tools and software are now packaged in this 'standard' manner. That's the point of containers really -- standardisation. A single approach more-or-less fits everything.
So, you get a standardised approach that fits most modern software, extra security, and easier versioning, and this all works almost exactly the same way no matter which operating system you're running on (almost -- it does cover Linux, windows, osx, raspbian, etc.).
There are other benefits around security other than those specifically mentioned here, that apply in an enterprise environment, but I don't have time to go into a lot of detail here, but if you were interested you could look at things like Aqua and Prisma Cloud Compute. And of course you also have the possibility of extending the base hashicorp/terraform container and adding in your favourite defaults.
Personally, I have no choice in work but to run windows (without wsl), but I am allowed to run docker, so I have a 'swiss army knife' container with aliases to run other containers through the shared docker socket. This means that I get as close to a real Linux environment as possible while running windows. I dispose of my work container regularly, and wouldn't want to rebuild it whenever I change the version of a tool that I'm using, so I use an alias against the latest version of those tools, and new versions are automatically pulled into my workspace. If that breaks when I'm doing, then I can specify a version in the alias and continue working until I'm ready to upgrade. If I need to downgrade a tool when I'm working on somebody else's code I just change the alias again and everything works with the old version. It seems to me that this workflow is the easiest I've ever used, and I've been doing this for 35 years.
I think that docker and this approach to engineering is simpler, cleaner, and more secure than any that has come before it. I strongly recommend that everyone try it.

How do I manually install older versions of unity (2019) for Linux (Arch)

I am aware of this page: https://unity3d.com/get-unity/download/archive but the downloads are only for windows and mac and despite having it installed, the "unity hub" button does nothing. I have found places to download even older versions like 2018 but I need version "2019.2.5f1". Can I download and use the mac version? Is there somewhere I can download this compiled for Linux without using unity hub? Thanks for any help.
The UnityHub link will have a version hash in it which is unique across platforms. With that hash, you can build the Linux version download URL yourself.
In your case, you need 2019.2.5f1, which gives you the UnityHub link unityhub://2019.2.5f1/9dace1eed4cc
You can download the tarball at the following URL:
https://download.unity3d.com/download_unity/9dace1eed4cc/LinuxEditorInstaller/Unity.tar.xz
The unity-editor package is a good one to modify the PKGBUILD file for if you'd like to install an arbitrary version as a proper package.
Clone the project
Tweak the PKGBUILD version and hash to the one you want
Run makepkg -g to generate the checksum for the new tarball
Insert the new checksum into the PKGBUILD
Run makepkg -p PKGBUILD to compile the package
Run sudo pacman -U ./unity-editor-${pkgversion}.pkg.tar to install your newly built package.
If anyone is having this issue and want to download older versions from unityhub, there is solution that worked for me :
Go to unity download archive
Copy redirection link from the green button (you can right click it and select "Open Link in new tab", and then copy it from here)
Once you have the link, open up your terminal and go to location in which you have UnityHub.AppImage
Simply use this command : ./UnityHub.AppImage link where link is what you copied (for example ./UnityHub.AppImage unityhub://2019.3.13f1/d4ddf0d95db9 to download 2019.3.13 version of uinity)
I have two of the hashes:
89d6087839c2 Unity 2019.3.1f1
b9898e2d04a4 unity 2019.2.16f1

How do I configure cygwin cyg-get mirror sites?

I installed cygwin via Chocolatey on Windows, got cyg-get package manager along with it to install packages.
Now that I want to install to packages like openssh, rsync. These are not getting downloaded since mirror site (mirror.kernel.org) is not responding and it's just paused on
downloading setup.bz2
So the question is can I select mirror sites or configure them in cyg-get just like cygwin GUI ?
Assuming that you've installed to the default location you should find the file in the following folder:
C:\ProgramData\Chocolatey\lib\cyg-get_####\tools\
You will want to modify the file cyg-get.ps1
Look for the line containing:
$cygPackages -s ftp://mirrors.kernel.org/sourceware/cygwin -P $package
and modify the URL ftp://mirrors.kernel.org/sourceware/cygwin to your preferred mirror
The newer cyg-get package, released last week, allows you to specify a source if you don't want to use the default.
Not even specifying the site worked for me, so what resolved was to open cygwinSetup executable and choose the mirror once. Then cyg-get auto selects my last mirror.

What's the difference between cookbook-gitlab and omnibus-gitlab?

So, I'm trying to install gitlab on a subdirectory. A lot of articles online suggest it is now possible to do so.
I installed omnibus-gitlab but it didn't seem to contain the files required to make gitlab run in a subdirectory like application.rb and stuff. Did a little research and discovered it is not yet supported on omnibus.
So why the differences? I actually thought they were all different ways of getting the same thing. My question again: difference between cookbook, omnibus and normal manual installation. Thanks!
Cookbook : the installation is done by Chef recipes
Manual : you install all the components one by one, manually, with a lot of pain and suffering
Omnibus : The installation in simplified with a .RPM (red hat) or a .deb (Debian), much more simple.
The results are differents: with a manual install, the home dir of gitlab will be somehting like /home/git/... while it will be /opt/gitlab/... in omnibus. Also, the commands to manage your GitLab instance are a little differents. By example, in manual install to seed an external DB you have to type sudo -u git -H bundle exec rake gitlab:setup while gitlab omnibus will need a sudo gitlab-rake gitlab:setup.
From what I tested, they all leed to the same GitLab features, but with a different way to manage it.
Now for the subdirectory (it doesn't works for me, but that's what the documentation say) : after an omnibus install, modifiy the non_root_url in the following files :
/opt/gitlab/embedded/service/gitlab-rails/conf/gitlab.yml
/opt/gitlab/embedded/service/gitlab-rails/conf/application.rb (read the comments at the bottom of the file)
/opt/gitlab/embedded/service/gitlab-rails/conf/unicorn.rb
/opt/gitlab/embedded/service/gitlab-shell/config.yml
And then restart GitLab. I repeat: that's what the gitlab's doc say, but it doesn't works for me. In my case it just create a redirection. Look:
#gitlab is configured to run in subdirectory "/gitlab" :
curl -v http:127.0.0.1:3000/gitlab
----> Error 404
curl -v http://127.0.0.1:3000
----> <html><body>You are being redirected.</body></html>

grunt-init not creating any file(s)

I probably missed something here. I'm using Node 0.10.1 on Win7/64bit and installed grunt 0.4.1 with
npm install grunt
npm install -g grunt-cli
npm install -g grunt-init
Then I tried to install a template while in folder %USERPROFILE%
git clone git#github.com:gruntjs/grunt-init-gruntfile.git ~/.grunt-init/gruntfile
But git wants a passphrase for key [current folder]. So I just created a folder
%USERPROFILE%\.grunt-init\gruntfile\
and copied
https://raw.github.com/gruntjs/grunt-init-gruntfile/master/template.js
to it. Now I switched to the project folder and was able to start grunt-init with
grunt-init gruntfile
DOM involved? n
files concatenated or minified? Y
package.json? n
any changes? N
Process ends with "Done, without errors", but no file ist created, or at least I can't find it.
dont know how to clone into your userhome on windows, but IMPORTANT(!) you also need to copy the whole "root" directory ( https://raw.github.com/gruntjs/grunt-init-gruntfile/master/root) to '%USERPROFILE%.grunt-init\gruntfile\'
you know that this init-template will just create a gruntfile.js for you? (inside the root-directory you can see that). if you want to create a node-module, jquery-plugin and so on, use one of the other templates (grunt-init-node, grunt-init-jquery) and so on.
creating your own template is easy. just create a new folder in '%USERPROFILE%.grunt-init' with your template-name. add the template.js. add a root-directory where all the files are which you want to be copied, maybe add a rename.json (for folder and file-renamings) and maybe change some stuff in the template.js.
I think you are have few a different issues here - from your comments it looks like you are using a Windows.
The first issue is that you can't clone the repository. Having tried this myself, I found the problem was fixed by setting up a valid ssh key on my github account. So to clone this repository you need to create a github account and install ssh keys on both your machine and your github account. Github's documentation on how to do this is very good and can be found here for Windows https://help.github.com/articles/set-up-git#platform-windows.
The second issue is that the git clone command you are using won't work on a Windows machine as it supplies a path to a Linux home directory ~/.grunt-init/gruntfile.
From your comments I am guessing the %USERPROFILE%.grunt-init\gruntfile\ is the correct install directory for Windows and so changing your working directory to that and using the command git clone git#github.com:gruntjs/grunt-init-gruntfile.git should install it.
You may also consider working using Cygwin which allows you to use a linux working environment on a windows machine.
Happy node hacking.

Resources