Git Product home page Git Product logo

cloudcontrol's Introduction

DO! DevOps GitHub website

Introduction

This is the repository for managing the organization's GitHub pages website. There's nothing here to see, actually.

cloudcontrol's People

Contributors

dependabot[bot] avatar dploeger avatar mlauke avatar protected-branch-pusher[bot] avatar salami738 avatar thomasminor avatar timdeluxe avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

cloudcontrol's Issues

Feature request: Azure flavour: support kubelogin way

Current clusters have this warning:
W0531 18:10:31.675064 3773 azure.go:92] WARNING: the azure auth plugin is deprecated in v1.22+, unavailable in v1.25+; use https://github.com/Azure/kubelogin instead. To learn more, consult https://kubernetes.io/docs/reference/access-authn-authz/authentication/#client-go-credential-plugins

Also AKS release notes repeatingly highlight that. Cloudcontrol should be updated accordingly.
Guides are to be found here: https://github.com/Azure/kubelogin and i dont know... :/

jq tools

hi,

need the >jq tool installed.... at least to use it for initial setup of AWS IAM ;)
i.e.
aws iam create-policy ... | jq -r ....

is it possible to add it during init?

BUG: "krew" feature installer not working

Our config file is

version: "3"
services:
    cli:
        image: "ghcr.io/dodevops/cloudcontrol-azure:latest"
...
        environment:
            - "FEATURES=kubernetes terraform:1.7.5 helm:3.14.0 stern:1.28.0 fish kc kubectlnodeshell azcopy krew"
...
            - "USE_run=yes"
            - 'RUN_COMMANDS=source /terraform/cloudcontrol-template/christ_webshop/project_commands'

If we set up cloudcontrol with this configuration, β€œkrew” will not be installed.

Features do not check for versions, where it is required

If i use a feature without given a version number and this feature has no "latest" or "default" fallback, cloudcontrol fails to start, but also does not provide a helpful error.

Example: I added feature "velero" without providing a version.
Cloudcontrol just failed with

2023/01/06 13:59:02 Error Downloading velero:
./ccc: exit status 1

With debug i saw, that it tried to download like this:
curl -f -s -L https://github.com/vmware-tanzu/velero/releases/download/v/velero-v-linux-amd64.tar.gz --output velero.tar.gz
which results in a 404.

Cloudcontrol should give a more speaking error in this case, also documentation should state which parameters are required where and which are optional.

Optimize CCC error handling

Currently, when the CCC dies (because of an installation failure for example), the client just keeps on asking for status and doesn't show an error.

The client should display a prominent error message stating that it can not reach the server and suggest reading the logs.

Verify terraform Version before downloading

A not existing terraform version causes the download not to fail (most probably it downloads some HTML then) and you get an unpack error, which is confusing:

2020/12/08 18:05:54 Downloading terraform...
2020/12/08 18:05:55 Unpacking terraform...
2020/12/08 18:05:55 Can not unpack terraform
./ccc: exit status 1

Please implement a verification, if the given terraform really exists or not.

Feature request: direnv

Please incorporate direnv (maybe as switchable feature?). In special situations it is needed to quickly switch between certain credentials and direnv is very helpful for that.
Thanks.

FR: Support Krew

Support Krew, the kubernetes kubectl plugin manager with the support to directly install plugins (might be possible to migrate kubectl node-shell to this as well)

FR: Rename feature 'certificates'

Since the feature certificates provides a means to add trusted certificate authorities to the CloudControl environment, the feature name should also reflect this purpose.

Please change the name og the feature to ca_certificates or tca.

Please add your opinions

Feature: certificates

As discussed with @dploeger on a call:

  • add "certificates" feature
  • expects a bind mounted folder, should fail if folder not there
  • looks for *.pem files in that folder
  • adds it to the certs to the root-ca collection specific to the flavours base-image OS way

Support motd

Support overriding the message that gets displayed upon entering the container, so projects can put some hints on how to work inside the container into the compose file.

Simple flavour misses git, which breaks fish

If feature fish is used on simple flavour, every command "enter" goes like this:

fish: Unknown command: git
~/.config/fish/functions/__sf_section_dir.fish (line 1):
command git rev-parse --show-toplevel 2>/dev/null
^
in command substitution
	called on line 30 of file ~/.config/fish/functions/__sf_section_dir.fish
in function '__sf_section_dir'
	called on line 1 of file ~/.config/fish/functions/fish_prompt.fish
in function 'fish_prompt'
in command substitution
~/.config/fish/functions/__sf_section_dir.fish (line 30): Unknown command
	set -l git_root (command git rev-parse --show-toplevel 2>/dev/null)
	                ^
in function '__sf_section_dir'
	called on line 1 of file ~/.config/fish/functions/fish_prompt.fish
in function 'fish_prompt'
in command substitution

Improvement: Change selection/activation of features

Abstract:

Instead of configuring every feature as an individual environment setting consolidate them together with the desired version in just one setting.

Example:

Old:

environment:
    - "USE_kubernetes=yes"
    - "USE_terraform=yes"
    - "USE_kc=yes"
    - "USE_fish=yes"
    - "USE_packer=yes"
    - "PACKER_VERSION=1.7.8"

New:

environment:
    - "FEATURES='kubernetes, terraform, kc, packer:1.7.8, fish, helloWorld'"

Omitting the version will then result in a defined way, e.g. the latest version or a maintainers choice preset.

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.