Code Monkey home page Code Monkey logo

declcd's Introduction


A Type Safe Declarative Continuous Delivery Toolkit For Kubernetes


What is GitOps?

GitOps is a way of implementing Continuous Deployment for cloud native applications by having a Git repository that contains declarative descriptions of the desired infrastructure and applications and an automated process to reconcile the production environment with the desired state in the repository.

Why Declcd?

Traditional GitOps tools often rely on YAML for configuration, which can lead to verbosity and complexity. Declcd leverages CUE, a type safe configuration language with a more concise and expressive syntax and the benefits of general-purpose programming languages, making it easier to define and maintain your desired cluster state.

Overview

Documentation

To learn more about Declcd, visit declcd.io

Contributions

We welcome contributions! To contribute to Declcd, follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes.
  4. Create tests and run them in a containerized environment via Dagger with:
    cd build/
    # Run all tests
    go run cmd/test/main.go
    
    # Or run a specific test
    go run cmd/test/main.go MyTest pkg/mypackage
  5. Create a PR.
  6. Ensure that your code passes the CI/CD checks. For more information, see CONTRIBUTING.md.

declcd's People

Contributors

kharf avatar dependabot[bot] avatar

Stargazers

Bahaa Kallas avatar Manuel Rüger avatar dsbenghe avatar Dennis Demund avatar Mike Boda avatar Moritz Jörg avatar Joe Taber avatar Schielek, Richard avatar Mervyn McCreight avatar Florian Heubeck avatar  avatar

Watchers

 avatar

declcd's Issues

Queue

implement mutating operations as queue to be failure safe. When the controller crashes, it should pick up the work where it left off

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Location: renovate.json
Error type: Invalid JSON (parsing failed)
Message: Syntax error: expecting end of expression or separator near "var

CLI

cobra + bubbletea

  • create cue mod + schemas on init
  • validation command
  • encrypt command
  • install command

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Repository problems

Renovate tried to run on this repository, but found these problems.

  • WARN: Error updating branch: update failure

Errored

These updates encountered an error and will be retried. Click on a checkbox below to force a retry now.

  • chore(deps): pin dependencies (golang, node)

Edited/Blocked

These updates have been manually edited so Renovate will no longer make changes. To discard all commits and start over, click on a checkbox.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

dockerfile
Dockerfile
  • alpine 3.20.1@sha256:b89d9c93e9ed3597455c90a0b88a8bbb5cb7188438f70953fede212a0c4394e0
gomod
build/go.mod
  • go 1.22.2
  • dagger.io/dagger v0.11.9
go.mod
  • go 1.22.2
  • cuelabs.dev/go/oci/ociregistry v0.0.0-20240703134027-fa95d0563666@fa95d0563666
  • cuelang.org/go v0.9.2
  • github.com/Azure/azure-sdk-for-go/sdk/azcore v1.12.0
  • github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0
  • github.com/aws/aws-sdk-go-v2/config v1.27.24
  • github.com/aws/aws-sdk-go-v2/credentials v1.17.24
  • github.com/aws/aws-sdk-go-v2/service/ecr v1.30.1
  • github.com/foxcpp/go-mockdns v1.1.0
  • github.com/go-git/go-git/v5 v5.12.0
  • github.com/google/go-github/v62 v62.0.0
  • github.com/grafana/pyroscope-go/godeltaprof v0.1.7
  • github.com/onsi/ginkgo/v2 v2.19.0
  • github.com/onsi/gomega v1.33.1
  • github.com/otiai10/copy v1.14.0
  • github.com/xanzy/go-gitlab v0.106.0
  • go.uber.org/automaxprocs v1.5.3
  • go.uber.org/goleak v1.3.0
  • go.uber.org/zap v1.27.0
  • gotest.tools/v3 v3.5.1
  • helm.sh/helm/v3 v3.15.2
  • k8s.io/api v0.30.3
  • k8s.io/apimachinery v0.30.3
  • k8s.io/client-go v0.30.3
  • sigs.k8s.io/controller-runtime v0.18.4
  • sigs.k8s.io/yaml v1.4.0
  • github.com/go-logr/logr v1.4.2
  • github.com/google/go-cmp v0.6.0
  • github.com/prometheus/client_golang v1.19.1
  • github.com/spf13/cobra v1.8.1
  • golang.org/x/crypto v0.25.0
  • golang.org/x/sync v0.7.0
  • gopkg.in/yaml.v3 v3.0.1
  • k8s.io/apiextensions-apiserver v0.30.3
  • k8s.io/cli-runtime v0.30.3
  • k8s.io/kubectl v0.30.3
regex
build/cue.mod/module.cue
  • cue-lang/cue v0.9.2
internal/manifest/cue.mod/module.cue
  • cue-lang/cue v0.9.2
pkg/project/init.go
  • cue-lang/cue v0.9.2
schema/cue.mod/module.cue
  • cue-lang/cue v0.9.2
internal/manifest/cue.mod/module.cue
  • kharf/declcd v0.24.5
build/workflows.cue
  • actions/checkout v4.1.7
  • actions/setup-go v5.0.1
build/cmd/update/main.go
  • node 20.15.1-alpine
build/internal/build/base.go
  • golang 1.22.5-alpine
build/internal/build/build.go
  • cuelang.org/go/cmd/cue v0.9.2
  • sigs.k8s.io/controller-tools/cmd/controller-gen v0.15.0
  • github.com/goreleaser/goreleaser/v2 v2.0.1
build/renovate.cue

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.