Context
I've installed minikube in github codespaces, and that works fantastic! With this setup I'm able to port forward any application running in minikube and reach it with the url generated by github codespaces.
Problem
I'd like to use github actions to deploy an app into the minikube cluster that runs in github codespaces.
Question
Is it possible, if so the how to do it?
It toured out that it is possible. There are 2 ways that you could solve this problem.
Push based
Start GitHub codespace with minikube installed in it.
Install and configure GitHub's self hosted runner in GitHub Codespaces.
Configure and start GitHub's self hosted runner in GitHub Codespace - preferably you should run self hosted runner as a service
Run your GitHub's Actions on self hosted runners
jobs:
build:
runs-on:
labels:
- self-hosted
- self-hosted-runner-label
Pull based
Start GitHub Codespace with minikube installed in it.
Install ArgoCD in minikube
Point ArgoCD towards your GitHub repository
Use GitHub Actions to generate new k8s manifests files
"error getting repository remote digest" from my local installation of Artifacthub.io
The Helm package "my-app" is in a virtual Helm repo in JFrog's Artifactory which is one of the options listed at https://helm.sh/docs/topics/chart_repository/#jfrog-artifactory.
.
I already had a Nodejs App with MongoDB deployed on Azure VM. (I followed the YouTube Tutorial)
Currently, I manually update the branch using
git pull and then pm2 restart app.ts.
How do I implement CI/CD from the bitbucket to trigger my VM for automated update?
My situation is as follows:
have a kubernetes cluster with a couple of nodes
have argocd installed on the cluster and working great
using gitlab for my repo and build pipelines
have another repo for storing my helm charts
have docker images being built in gitlab and pushed to my gitlab registry
have argocd able to point to my helm chart repo and sync the helm chart with my k8s cluster
have helm chart archive files pushed to my gitlab repo
While this is a decent setup, it's not ideal.
The first problem i faced with using a helm chart git repo is that I can't (or don't know) how to differentiate my staging environment with my production environment. Since I have a dev environment and prod environment in my cluster, argocd syncs both environments with the helm chart repo. I could get around this with separate charts for each environment but that isn't a valid solution.
The second problem i faced, while trying to get around the above problem, is that I can't get argocd to pull helm charts from a gitlab oci registry. I made it so that my build pipeline pushed the helm chart archive file to my gitlab container registry with the tag dev-latest or prod-latest, which is great, just what I want. The problem is that argocd, as far as I can tell, can't pull from gitlab's container registry.
How do I go about getting my pipeline automated with gitlab as my repo and build pipeline, helm for packaging my application, and argocd for syncing my helm application with my k8s cluster?
is that I can't get argocd to pull helm charts from a gitlab oci registry.
You might be interested by the latest Jul. 2021 GitLab 14.1:
Build, publish, and share Helm charts
Helm defines a chart as a Helm package that contains all of the resource definitions necessary to run an application, tool, or service inside of a Kubernetes cluster.
For organizations that create and manage their own Helm charts, it’s important to have a central repository to collect and share them.
GitLab already supports a variety of other package manager formats.
Why not also support Helm? That’s what community member and MVP from the 14.0 milestone Mathieu Parent asked several months ago before breaking ground on the new GitLab Helm chart registry. The collaboration between the community and GitLab is part of our dual flywheel strategy and one of the reasons I love working at GitLab. Chapeau Mathieu!
Now you can use your GitLab project to publish and share packaged Helm charts.
Simply add your project as a remote, authenticating with a personal access, deploy, or CI/CD job token.
Once that’s done you can use the Helm client or GitLab CI/CD to manage your Helm charts.
You can also download the charts using the API or the user interface.
What’s next? First, we’d like to present additional metadata for charts.
Then we’ll start dogfooding the feature by using it as a replacement for https://charts.gitlab.io/.
So, try out the feature and let us know how it goes by commenting in the epic GitLab-#6366.
See Documentation and issue.
I have a project to migrate all on-prem nexus nugets to azure Artifact(azure DevOps service(VSTS)).
is there any tool available to help on this matter. On-prem nexus contains our own customize nugets and can only be available via company VPN.