patricklaabs / frigg Goto Github PK
View Code? Open in Web Editor NEW'Frigg'tionless Craft GitOps-Enabled Kubernetes Clusters on Any Cloud
Home Page: https://patricklaabs.github.io/frigg/
License: MIT License
'Frigg'tionless Craft GitOps-Enabled Kubernetes Clusters on Any Cloud
Home Page: https://patricklaabs.github.io/frigg/
License: MIT License
/kind feature
Describe the solution you'd like
[A clear and concise description of what you want to happen.]
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:
kubectl version
):/etc/os-release
):/kind feature
Describe the solution you'd like
Generating ssh-key pairs on each runtime.
/kind feature
Describe the solution you'd like
[A clear and concise description of what you want to happen.]
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:
kubectl version
):/etc/os-release
):/kind feature
/kind feature
Describe the solution you'd like
Currently, at some point in the code, we relay on the github cli usage.
I'd like to more generic at this point, so we might be able to support other scm's easier.
/kind feature
Describe the solution you'd like
The current changes that will be merged with a PR are not being tested.
This should be improved.
Anything else you would like to add:
Maybe something like using Taskfile and Github Actions which will prov. a KinD cluster and bootstrap everything with frigg bootstrap capd cluster
Environment:
kubectl version
):/etc/os-release
):/kind feature
Describe the solution you'd like
Having the ability to use harvester as a cluster-api provider.
https://github.com/harvester/harvester
https://github.com/rancher-sandbox/cluster-api-provider-harvester
/kind bug
What steps did you take and what happened:
When we create the Secrets inside ArgoCD Workflow, the encrypted URL (base64) seems to line break inside the shell of ArgoCD Workflows.
Currently we are passing the url with an env var.
But, if we add the base64 string directly to the deployment, it works perfectly and as expected.
/kind feature
Describe the solution you'd like
Currently, we lack the feature of having the ability to maintain and observe the very first mgmt-cluster.
Everything attached ontop the first mgmt-cluster is managed by the root-mgmt.
Anything else you would like to add:
Maybe some ideas to that:
/kind feature
Describe the solution you'd like
[A clear and concise description of what you want to happen.]
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:
kubectl version
):/etc/os-release
):/kind bug
What steps did you take and what happened:
Rendering the gitops template repo
Loggin in to Github with your provided Github Token
Error: exit status 1
The value of the GITHUB_TOKEN environment variable is being used for authentication.
To have GitHub CLI store credentials instead, first clear the value from the environment.
Creating Argohub Repo out of Template Repo
https://github.com/PatrickLaabs/argo-hub-test
Cloning the new repository to the local working directory
Enumerating objects: 67, done.
Counting objects: 100% (67/67), done.
Compressing objects: 100% (43/43), done.
Total 67 (delta 28), reused 52 (delta 22), pack-reused 0
Info: <nil>
Error on Reading the file: read /Users/patricklaabs/.frigg/argo-hub-test: is a directory
Error on opening the file: open /Users/patricklaabs/.frigg/argo-hub-test: is a directory
Error on writing the file: invalid argument
Error on closing file: invalid argument
We recieve some errors from the CLI even if the process was successfully.
What did you expect to happen:
To not have any errors returned.
/kind feature
Describe the solution you'd like
[A clear and concise description of what you want to happen.]
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:
kubectl version
):/etc/os-release
):/kind feature
Describe the solution you'd like
Since we introduced the prepare function, we should switch from using the installed tools from the users PATH to the pre-downloaded toolsdir of frigg.
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:
kubectl version
):/etc/os-release
):Tracking issue for:
/kind feature
Describe the solution you'd like
The Logging output is currently kinda wild and needs some love.
Also, I'd love to add some colorised outputs to the terminal.
Anything else you would like to add:
Just need to go through each file ๐
When we deploy the CAPD Provider for the ClusterAPI Controller, the deployment will fail because of the security context.
As a workaround, i added back the clusterctl installation of the capd provider:
frigg/cmd/frigg/bootstrap/capd-controller/cluster/cluster.go
Lines 287 to 289 in 3f859db
Mayb we should introduce the helm installation of the ClusterAPI Controllers with HelmChartProxies.
For this, we should need:
Needed in order to create local certificates, which we later use for lets encrypt
/kind feature
Describe the solution you'd like
Currently, the Repo Names that are being created are hard-coded with the username and there is currently no solution to make this template-able.
We need to pass the Username as an Env to the container, so that we can replace the strings inside the script.
Anything else you would like to add:
No
/kind feature
Describe the solution you'd like
[A clear and concise description of what you want to happen.]
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:
kubectl version
):/etc/os-release
):/kind feature
argocd-hub-workloadclusters-apps
/kind feature
Describe the solution you'd like
When we create a workload cluster ontop of the mgmt cluster, the workload cluster has to pull a lot of things in order to get fully ready.
As soon, as the control plane is ready - on mgmt-clusters perspective - the argocd workflow kicks in, and tries to run every thing.
The Script will fail, since the worker nodes and everything else is not yet fully ready and the part "Adding the workload cluster to argohub" will not work.
As a workaround, i set a high timer, so that the script will wait till everything will - eventually - be up and running.
Best solution would be:
Checking, that everything is up and running on the workload cluster. Maybe we should think about an event type, or using cloud events.
Anything else you would like to add:
This might be only an issue on local development, and might depend on your actual download speed from your internet provider.
in order to create the helmchartproxy installation in the right way and use labels for selection, we need to create a mgmt cluster after the initial bootstrap step.
This is a little bit overkill, but thats currently the only way to reach to the goal needed.
/kind feature
/kind feature
Describe the solution you'd like
[A clear and concise description of what you want to happen.]
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:
kubectl version
):/etc/os-release
):/kind feature
Describe the solution you'd like
Currently, since we are lacking the sshkey generation at the very first provisioning step, the cloned template repo needs to be public.
This should definitely be private.
Anything else you would like to add:
ASAP
/kind feature
Describe the solution you'd like
Currently the consts are also defined in the vars.go package.
For better readability and clarity, i'd like to move them into their own package
called "consts.go"
// FriggVersion and VersionPreRelease constants are used to define the Version the Frigg CLI outputs on ./frigg version
const FriggVersion = "1.0.2"
const VersionPreRelease = ""
Anything else you would like to add:
Another side-effect, we could archive:
We can modify this package on release-creation, just to automatically bump the version as needed from the git.
Environment:
kubectl version
):/etc/os-release
):/kind feature
Describe the solution you'd like
[A clear and concise description of what you want to happen.]
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:
kubectl version
):/etc/os-release
):To fix the kubeconfig for the CAPD workload clusters:
# Point the kubeconfig to the exposed port of the load balancer, rather than the inaccessible container IP.
sed -i -e "s/server:.*/server: https:\/\/$(docker port capi-quickstart-lb 6443/tcp | sed "s/0.0.0.0/127.0.0.1/")/g" ./capi-quickstart.kubeconfig
/kind feature
Describe the solution you'd like
[A clear and concise description of what you want to happen.]
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:
kubectl version
):/etc/os-release
):/kind feature
/kind feature
Describe the solution you'd like
currently we define the paths like this
outputPath := homedir + "/" + vars.FriggDirName + "/" + vars.WorkloadManifest
but we could instead use filepath.Join
like
friggDir = filepath.Join(homedir, vars.FriggDirName, vars.FriggTools)
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:
kubectl version
):/etc/os-release
):/kind bug
What steps did you take and what happened:
git config user.name "GITHUB_USER"
git config user.email "GITHUB_USER_EMAIL"
git config user.name "PatrickLaabs"
git config user.email "PatrickLaabs_EMAIL"
Function:
reGhUser := regexp.MustCompile(`GITHUB_USER`)
reGhMail := regexp.MustCompile(`GITHUB_USER_EMAIL`)
// Replace GITHUB_USER and GITHUB_USER_EMAIL
newdata := replaceInString(data, reGhUser, username)
newdata = replaceInString(newdata, reGhMail, usermail)
/kind feature
Describe the solution you'd like
Needed for better templating and passing generated ssh-keys to the yaml in
order to use private Repos.
/kind feature
Describe the solution you'd like
Running the frigg platform on your laptop, might take some time, till everything is up and running.
We should investigate and look for a solution to improve the time that is needed, to get everything up and running.
/kind feature
Creating Argohub Repo out of Template Repo
GraphQL: Could not clone: Name already exists on this account (cloneTemplateRepository)
Cloning the new repository to the local working directory
Error cloning your Argohub Repo: repository already exists
Describe the solution you'd like
Implement a feature to check, if the repo already exists and skipping the clone process.
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:
kubectl version
):/etc/os-release
):or do a check, if everything is installed and let the user decide how they install these tools and adding them to their PATH.
/kind feature
Currently, we don't inject any helm chart installation with the already installed CAAPH Provider.
We may need:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.