Giter VIP home page Giter VIP logo

gitops-github-action's People

Contributors

0x46616c6b avatar aksdb avatar axdotl avatar dependabot[bot] avatar flaxel avatar franzuhlig avatar harikaduyu avatar kaitimmer avatar monotek avatar pofl avatar ricoberger avatar scthi avatar staffbot avatar staust avatar stefanmeschke avatar timdittler avatar timkante avatar

Stargazers

 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  avatar  avatar

gitops-github-action's Issues

๐Ÿ”ฅ Remove `yq` file

Feature Suggestion

  • remove the binary yq from the repository and get it in the run of the action from the original repository

Possible Implementation

  • add additional step to the action to download the binary, like:
sudo wget -O /usr/local/bin/yq https://github.com/mikefarah/yq/releases/download/v4.8.0/yq_linux_amd64
sudo chmod +x /usr/local/bin/yq

Context

  • easier usage of the action without explicit checkout

Configurable Stages

Feature Suggestion

At the moment three stages are hard coded and can't configured differently. This includes also the triggers when the stage should be updated. It would be a great option if the stages are configurable and more flexible for other projects with more stages or other names and other triggers.

Possible Implementation

Option 1

  • Parameter of the Action (only string can be used)
- name: GitOps (build, push and deploy a new Docker image)
  uses: Staffbase/gitops-github-action@main
  with:
    stages: |
      - name: 'dev'
        trigger: 'refs/heads/dev'
        files: ['kubernetes/namespaces/myService/dev/myService-deploy.yaml']
        path: 'spec.template.spec.containers.backend.image'
    
      - name: stage
        trigger: 'refs/heads/main'
        files: ['kubernetes/namespaces/myService/stage/myService-deploy.yaml']
        path: 'spec.template.spec.containers.backend.image'  
    
      - name: prod
        trigger: 'refs/tags/*'
        files: ['kubernetes/namespaces/myService/prod/myService-deploy.yaml']
        path: 'spec.template.spec.containers.backend.image' 
    # other options

Option 2

  • dot file in the repository, e.g .gitops or .github/gitops-github-action.yml
---
stages:
  - name: 'dev'
    trigger: 'refs/heads/dev'
    files: ['kubernetes/namespaces/myService/dev/myService-deploy.yaml']
    path: 'spec.template.spec.containers.backend.image'
  
  - name: stage
    trigger: 'refs/heads/main'
    files: ['kubernetes/namespaces/myService/stage/myService-deploy.yaml']
    path: 'spec.template.spec.containers.backend.image'  
  
  - name: prod
    trigger: 'refs/tags/*'
    files: ['kubernetes/namespaces/myService/prod/myService-deploy.yaml']
    path: 'spec.template.spec.containers.backend.image' 

Context

  • Configurable Stages for Deployment

Do not require docker credentials if docker is not enabled.

When you disable the docker build/push using dockerenabled: false, you have to provide the action with registry-credentials anyway. This doesn't make sense and in case docker is disabled for the run, the credentials should not be required.

Possibility to retag existing image

Feature Suggestion

  • add an additional step so the docker image is not built again but you can reuse the last tag

Possible Implementation

  • add an extra step and retag the last existing image
  • mixing existing parameters or create a new option retagging_enabled

Example

An example: Currently we have an extra step in the backend for example.

โฌ†๏ธ Bump yp binary version

Feature Suggestion

  • there is a new major release for the binary file

Possible Implementation

  • first: use the new version + adapt the command calls (migration guide)
  • second: using the GitHub action so it is not necessary to download the binary

๐Ÿ”ฅ Remove gitops and docker enabled

Feature Suggestion

  • remove options gitopsenabled and dockerenabled

Possible Implementation

  • check for gitops with gitopstoken
  • check for docker with dockeruser and dockerpassword

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.