Code Monkey home page Code Monkey logo

argoproj-deployments's Introduction

slack

Argoproj - Get stuff done with Kubernetes

Argo Image

What is Argoproj?

Argoproj is a collection of tools for getting work done with Kubernetes.

  • Argo Workflows - Container-native Workflow Engine
  • Argo CD - Declarative GitOps Continuous Delivery
  • Argo Events - Event-based Dependency Manager
  • Argo Rollouts - Progressive Delivery with support for Canary and Blue Green deployment strategies

Also argoproj-labs is a separate GitHub org that we setup for community contributions related to the Argoproj ecosystem. Repos in argoproj-labs are administered by the owners of each project. Please reach out to us on the Argo slack channel if you have a project that you would like to add to the org to make it easier to others in the Argo community to find, use, and contribute back.

Community Blogs and Presentations

Project specific community blogs and presentations are at

Adopters

Each Argo sub-project maintains its own list of adopters. Those lists are available in the respective project repositories:

Contributing

To learn about how to contribute to Argoproj, see our contributing documentation. Argo contributors must follow the CNCF Code of Conduct.

For help contributing, visit the #argo-contributors channel in CNCF Slack.

To learn about Argoproj governance, see our community governance document.

Project Resources

argoproj-deployments's People

Contributors

agaudreault avatar alexec avatar alexmt avatar dthomson25 avatar jessesuen avatar leoluz avatar whynowy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

argoproj-deployments's Issues

Bootstrapping a project with a configuration similar to this one

Hello,

I am creating a repo using a similar approach to this one but using helm instead of kustomize. I have a couple questions regarding the setup that I couldn't find explanations in the docs:

  1. When you guys bootstrap it in a cluster for the first time I'm guessing the steps are more or less:
  • Create the k8s cluster
  • Install argocd (manually or with a script)
  • Run kubectl apply -n my-argo-namespace -k argoproj-deployments/argoproj or e.g. kustomize build https://github.com/argoproj/argoproj-deployments/tree/master/argoproj/
  1. I was wondering why is kustomize the suggested tool to manage argo with argo. Do you have any specific pointers or recommendations if I were to do it with helm instead?

Infra: manage cluster access from an external data source

The list of permission to the GCP account is managed as code, but the users access is given on personal gmail accounts. Some users might not want to have their personal gmail in the source code publicly available.
A Terraform Data Source can be used to retrieve the list of user gmail to use for permissions.

AC

  • Use a low-cost data source to store the list of gmails.
    • Could be managed by a github team, and have a data source that contains the mapping of github username <-> gmail account.
  • Update documentation on how to add/remove a user
  • Update CODEOWNERS based on the github team / users

Manage secrets as code

Some secrets used for different applications have been created manually in the cluster.
Using SealedSecrets seems like the best approach to manage them as code.

Another alternative would be External Secrets, but it would require a provider such as GCP Secret Manager at additional costs and secrets at this location would still need to be managed manually.

The list of the secrets that were applied manually are:

  • dex/dex
  • argocd/argocd-auth
  • prometheus-operator/prometheus-operator-grafana
    • Only the key admin-password
  • argo/argo-server-sso
  • argo/argo-workflows-webhook-clients

AC

  • Update the different README.md to reflect the changes
  • Manage secrets as code

The README for argoproj/argoproj-deployments is copypasta

It looks like an example was copied and customized, but the README is still verbatim from the example which is rather confusing when looking through this repo.

This matters since this repo is linked from the user guide as an example for how to do ArgoCD on ArgoCD.

Deployments are not working

Here is the error we are encountering:

error: add operation does not apply: doc is missing path: "/spec/template/spec/containers/0/command/-": missing value

Proposed fix:
#19

1 sync.go:50] cert-manager/controller/ingress-shim "level"=0 "msg"="not syncing ingress resource as it does not contain a \"cert-manager.io/issuer\" or \"cert-manager.io/cluster-issu er\" annotation" "resource_kind"="Ingress" "resource_name"="http01" "resource_namespace"="argocd"

Steps:

  • Clone project
  • Change domain
  • Apply deployment
    Result: invalid certificate.
    The logs of certificate-manager: 1 sync.go:50] cert-manager/controller/ingress-shim "level"=0 "msg"="not syncing ingress resource as it does not contain a "cert-manager.io/issuer" or "cert-manager.io/cluster-issu
    er" annotation" "resource_kind"="Ingress" "resource_name"="http01" "resource_namespace"="argocd"
    I guest the problem come from version of certificate-manager. Please help me.

Infra: Manage all DNS zones in argoproj.io

The domain argoproj.io is currently managed by the CNCF, but the nameserver must be updated to use a new DNS zone in the current project. All records needs to be migrated.

AC

  • DNS managed in Infra as code
  • DNS migrated
  • Old DNS decomissioned

Any plans migrating to ApplicationSet ?

It seems the App of Apps is better implemented by using ApplicationSets , do you have any plans of updating the code to use this or is there a specific reason someone should not use it ?

Cannot login as admin for CD and Workflow

The Github team currently used in ArgoCD and Argo Workflow auth does not exist. It is impossible to login as an admin to both tools.

AC

  • Create 2 new admin teams for Workflow and ArgoCD
  • Update both tools RBAC configurations

Use Apps-of-Apps pattern to manage cluster

All argo applications under argoproj/ folder are applied manually. Having a new application to automatically sync the applications would reduce burden on people with cluster access to update the applications manually and provide a better experience when contributors merge a pull request.

AC

  • Create apps-of-apps in argoproj folder that syncs itself and other apps.

https://workflows.apps.argoproj.io returns 503

The Argoproj Workflows deployment is returning a 503. I first encountered this issue last week and saw it again today so I'm raising an issue. It is unclear when it actually became unavailable, but this was the last commit to Workflows and I have to imagine its been up since Jan 6th.

For some reason the logs are not viewable in the ArgoCD UI on 2.4.0-385dec96

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.