Git Product home page Git Product logo

kargo's Issues

terminal artifacting issue

Problem

konductor terminal is causing graphical artifacting in cli

workaround

run command fish or bash to open a non-affected shell session

image

Feat request: official migration away from Docker

I would like to request that the official client be podman or nerdctl to comply with a fully OCI compliant toolchain, I want to build containers nonroot with nonroot running processes and the cli is compatible with docker.

[OPS] EPIC: Migrate to protected `main` branch and implement dev/edge/main enhancement promotion

Convert repository to protected 'main' branch

Pre-MVP development is currently proceeding with direct commits to main branch. This is poor git hygene and will not scale with project and community growth.

Recommend

  1. activate protected main branch feature
  2. setup dev / edge / main branches as [dev/test/prod] promotion channels
  3. setup release publishing from main > vX.XX.XX semantic versioned branches for pinning deployments to stable releases
  4. document n-1 support & maintenance + accept PRs for minor revision updates to version release branches.

Documentation: Add requirement for pulumi access token

Installation for local dev container, after make kind, user is prompted for pulumi access token.

Pulumi account and valid access token should probably be listed in the requirements so that it's setup before installation.

[RFE] Add Persistent Storage Providers

Add Storage Providers

Requirements

  1. A simple and reliable mvp storage provider that can be simply toggled on/off via bool in pulumi config and requires minimal/no user configuration.
  2. A highly configurable and available storage provider supporting sane hdd, ssd, nvme storage class device matching and also serve the platform undercloud block devices as storage classes to tenant workloads and tenant kubernetes clusters as well.
  3. A NFS storage provisioner for easy long term persistent storage served from appliance or provisioned NAS.

Selection

  1. rancher hostpath provisioner
  2. rook ceph operator
  3. rook ceph cluster(s)
  4. nfs democratic-csi provisioner

[RFE] Adding CSI-Driver-NFS via helm install

In my environment I have access to an NFS shared storage device so with my environment I am looking at deploying via helm the CSI-Driver-NFS option.

The helm command I am using is below.

helm install csi-driver-nfs csi-driver-nfs/csi-driver-nfs --namespace kube-system --version v4.6.0 --set externalSnapshotter.enabled=true --set controller.runOnControlPlane=true --set controller.replicas=2

helm get values -n kube-system csi-driver-nfs

USER-SUPPLIED VALUES:
controller:
  replicas: 2
  runOnControlPlane: true
externalSnapshotter:
  enabled: true

A helm install is not enough we also need a StorageClass, Snapshotclass

Just documenting here so we can add to Kargo if requested and needed.

[RFE] Enhance w/ IaC for Kargo on Kargo nested kubevirt platform development

Problem:

Currently, platform development cycle velocity is capped at the speed of bare metal iteration which is significantly slower and more cumbersome than developing on virtual infrastructure.

Recommend:

Write the official virtualized platform developer workflow IaC and docs to deliver a low effort nested platform in platform development environment for Kargo contributors.

cert-manager deployment - unable to deploy ClusterIssuer because webhooks aren't running

When installing cert manager the cluster-selfsigned-issuer ClusterIssuer fails to create because the cert-manager webhooks aren't up yet. Need to wait until the webhooks are ready before creating this object. Here's the logs:

kubernetes:cert-manager.io/v1:ClusterIssuer (cluster-selfsigned-issuer-root):
    error: resource "urn:pulumi:localkargo::kargo::kubernetes:cert-manager.io/v1:ClusterIssuer::cluster-selfsigned-issuer-root" was not successfully created by the Kubernetes API server : Internal error occurred: failed calling webhook "webhook.cert-manager.io": failed to call webhook: Post "https://cert-manager-b86abdb0-webhook.cert-manager.svc:443/mutate?timeout=10s": tls: failed to verify certificate: x509: certificate signed by unknown authority

  pulumi:pulumi:Stack (kargo-localkargo):
    2024-03-14 14:30:59,136 - INFO - Fetching URL: https://raw.githubusercontent.com/cilium/charts/master/index.yaml
    2024-03-14 14:30:59,775 - INFO - Fetching URL: https://raw.githubusercontent.com/cilium/charts/master/index.yaml
    2024-03-14 14:31:00,813 - INFO - Fetching URL: https://charts.jetstack.io/index.yaml

    error: update failed

[Bug] Kubevirt resource transform not removing namespace resource

Problem

Trying to eliminate a built in namespace resource from a remote k8s.core.v1.ConfigFile manifest using transformations.

Logging indicates the condition is correctly detected but the namespace resource is still deployed.

Code permalink

    # Define the transformation to remove Namespace creation and ensure correct namespace for other resources
    # TODO: fix transformation to remove namespace creation (currently producing duplicate namespace resource)
    def remove_namespace_transform(args):
        if args['kind'] == "Namespace":
            pulumi.log.info(f"Skipping creation of duplicate Namespace: {args['metadata']['name']}")
            return None  # Skip the creation of this resource if it's a duplicate
        else:
            if 'metadata' in args:
                args['metadata']['namespace'] = ns_name
        pulumi.log.info(f"Transforming resource of namespace/kind: {ns_name}/{args['kind']}")
        return args

Bash

Kargo on ๎‚  mvp/usrbinkat/refactor [!] via ๏†ฒ usrbinkat@ci via ๐Ÿ v3.10.12 
๐Ÿ‹ โฏ pulumi up --skip-preview --refresh=true
Updating (ci)

View in Browser (Ctrl+O): https://app.pulumi.com/usrbinkat/kargo/ci/updates/165

     Type                                                                  Name                                    Status              Info
     pulumi:pulumi:Stack                                                   kargo-ci                                                    4 messages
     โ”œโ”€ pulumi:providers:kubernetes                                        k8sProvider                                                 
     โ”œโ”€ kubernetes:core/v1:Namespace                                       cert-manager                                                
     โ”‚  โ””โ”€ kubernetes:helm.sh/v3:Release                                   cert-manager                                                
     โ”‚     โ””โ”€ kubernetes:cert-manager.io/v1:ClusterIssuer                  cluster-selfsigned-issuer-root                              [diff: ~metadata]
     โ”‚        โ””โ”€ kubernetes:cert-manager.io/v1:Certificate                 cluster-selfsigned-issuer-ca                                
     โ”‚           โ””โ”€ kubernetes:cert-manager.io/v1:ClusterIssuer            cluster-selfsigned-issuer                                   [diff: ~metadata]
     โ”œโ”€ kubernetes:core/v1:Namespace                                       kubevirt                                                    
     โ”‚  โ””โ”€ kubernetes:yaml:ConfigFile                                      kubevirt-operator                                           
     โ”‚     โ”œโ”€ kubernetes:rbac.authorization.k8s.io/v1:ClusterRole          kubevirt/kubevirt-operator                                  [diff: ~metadata]
     โ”‚     โ”œโ”€ kubernetes:core/v1:ServiceAccount                            kubevirt/kubevirt-operator                                  
     โ”‚     โ”œโ”€ kubernetes:kubevirt.io/v1:KubeVirt                           kubevirt                                                    
     โ”‚     โ”œโ”€ kubernetes:rbac.authorization.k8s.io/v1:ClusterRoleBinding   kubevirt/kubevirt-operator                                  [diff: ~metadata]
     โ”‚     โ”œโ”€ kubernetes:apps/v1:Deployment                                kubevirt/virt-operator                                      
     โ”‚     โ”œโ”€ kubernetes:core/v1:Namespace                                 kubevirt                                                    
     โ”‚     โ”œโ”€ kubernetes:scheduling.k8s.io/v1:PriorityClass                kubevirt/kubevirt-cluster-critical                          [diff: ~metadata]
     โ”‚     โ”œโ”€ kubernetes:rbac.authorization.k8s.io/v1:ClusterRole          kubevirt/kubevirt.io:operator                               [diff: ~metadata]
     โ”‚     โ”œโ”€ kubernetes:rbac.authorization.k8s.io/v1:RoleBinding          kubevirt/kubevirt-operator-rolebinding                      
     โ”‚     โ”œโ”€ kubernetes:rbac.authorization.k8s.io/v1:Role                 kubevirt/kubevirt-operator                                  
     โ”‚     โ””โ”€ kubernetes:apiextensions.k8s.io/v1:CustomResourceDefinition  kubevirt/kubevirts.kubevirt.io                              [diff: ~metadata]
 ~   โ”œโ”€ kubernetes:core/v1:Endpoints                                       kubernetes                              refresh (0.13s)     [diff: +apiVersion,kind,metadata]
     โ””โ”€ custom:x:KubernetesApiEndpointIp                                   kubernetes-endpoint-service-address                         

Diagnostics:
  pulumi:pulumi:Stack (kargo-ci):
    Using helm release version: cert-manager/1.14.5
    Using KubeVirt version: kubevirt/1.2.0
    Using emulation for KubeVirt in developer mode
    Skipping creation of duplicate Namespace: kubevirt

Outputs:
    kubernetes-endpoint-service-address: "172.18.0.2"

Resources:
    21 unchanged

Duration: 10s

[RFE] convert Makefile to Taskfile - taskfile.dev

Problem

Makefile is a less integrated developer automation tool. Taskfile offers several more advanced environment variable handling features which is a primary motivation for adoption.

Proposal

Convert Makefile and Github Actions Workflow tasks to use Taskfile instead.

Requirements:

  • 100% Feature Parity coverage in Taskfile for current Makefile features
  • CONTRIBUTOR.md section explaining dev and test workflow
  • CI .github/workflows/kind.yaml passes all tests
  • Docstrings in code where taskfile documentation may be helpful for future maintainers

Resources:

[RFE] add Containerized Data Importer

the CDI is a shim to support distribution of virtual machine disk images via OCI using rudimentary Dockerfile COPY approach.

Need to adopt until UOR shim deprecates CDI for artifact distribution.

Reference

[BUG] Update helm values for talos-metal - cilium

USER-SUPPLIED VALUES:
cgroup:
  autoMount:
    enabled: false
  hostRoot: /sys/fs/cgroup
cluster:
  name: talos-metal
ipam:
  mode: kubernetes
k8sServiceHost: 192.168.169.210
k8sServicePort: 6443
kubeProxyReplacement: strict
operator:
  replicas: 1
routingMode: tunnel
securityContext:
  capabilities:
    ciliumAgent:
    - CHOWN
    - KILL
    - NET_ADMIN
    - NET_RAW
    - IPC_LOCK
    - SYS_ADMIN
    - SYS_RESOURCE
    - DAC_OVERRIDE
    - FOWNER
    - SETGID
    - SETUID
    cleanCiliumState:
    - NET_ADMIN
    - SYS_ADMIN
    - SYS_RESOURCE
serviceAccounts:
  cilium:
    name: cilium
  operator:
    name: cilium-operator
tunnelProtocol: vxlan

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.