{"id":19144187,"url":"https://github.com/crossplane/crosscd","last_synced_at":"2026-06-11T06:30:19.408Z","repository":{"id":103426422,"uuid":"221365062","full_name":"crossplane/crosscd","owner":"crossplane","description":"Infrastructure environments continuously deployed by Crossplane","archived":false,"fork":false,"pushed_at":"2023-12-15T05:39:44.000Z","size":57,"stargazers_count":27,"open_issues_count":1,"forks_count":20,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-01-03T15:46:09.058Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/crossplane.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-13T03:31:41.000Z","updated_at":"2024-06-18T09:59:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"b40d076e-6070-441c-8380-3865a57e4e60","html_url":"https://github.com/crossplane/crosscd","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crossplane%2Fcrosscd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crossplane%2Fcrosscd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crossplane%2Fcrosscd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crossplane%2Fcrosscd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crossplane","download_url":"https://codeload.github.com/crossplane/crosscd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240225000,"owners_count":19767840,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T07:34:03.239Z","updated_at":"2026-06-11T06:30:19.299Z","avatar_url":"https://github.com/crossplane.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# CrossCD\n\nCrossCD is an infrastructure configuration library that allows you to bootstrap\nentire environments for provisioning resources across clouds from a Kubernetes\ncluster.\n\n## Quick Start\n\nIf you do not want full environment configuration and are just looking to try\nout Crossplane, you can install a multi-cloud `dev` environment with the\nfollowing command:\n\n```bash\nkubectl apply -k ./classpacks/quickstart\n```\n\nThis will create a `dev` environment, populated with a class for each provider\nfor all resource types that support dynamic provisioning. It will also make\n`AWS` resources the `default` option when you create unopinionated claims. Note\nthat this does not statically provision any managed resources, so types like the\nGCP `Network` are not included because they are not currently supported by\ndynamic provisioning.\n\n## Further Customization\n\nEvery bottom-level directory in each `{provider-name}/services` provides its own\n`kustomization.yaml file` that specifies the resources present and also labels\nthem with the provider name. In [kustomize] language this is referred to as a\n[base]. All other `kustomization.yaml` files are [overlays]. Overlays reference\nbases and apply additional configuration or [patches], which allow you to\nreplace parts of the base-level resources. In this repository, each base\nprovides all *required* fields for validation, but may not include every field\nrequired for successful provisioning. For example, fields that require one of\ntwo fields have both omitted in the base, such that overlays do not have to\ndelete fields. This means that some bases will *require* an overlay in order to\nbe successfully utilized for dynamic provisioning.\n\nCustomizing can take the form of either modifying bases or creating and\ncombining new overlays. For instance, when you run `kubectl apply -k .` in the\ntop-level directory of this repository, the `kustomization.yaml` is an overlay\nfor each of the provider's\n`{provider-name}/environments/full/kustomization.yaml`, which is an overlay for\neach of the `kustomization.yaml` files in the `dev`, `stage`, and `prod`\ndirectories, which in turn are overlays for the\n`{provider-name}/services/kustomization.yaml`, which is itself an overlay for\neach type's `kustomization.yaml` (which are the base files we mentioned\nearlier). This can be somewhat confusing, but it is always safe to start out\nwith the base files and then build up one layer at a time.\n\n## Naming\n\nWhen looking at bases in this repository, files with managed resources are named\n`resource.yaml`. If you apply a base of this type in your Crossplane cluster, it\nwill lead to the attempted provisioning of an external resource. Files named\n`class.yaml` denote resource classes, which provide configuration for\nprovisioning external resources, but will not lead to actual provisioning until\na compatible claim is created.\n\n\u003c!-- Named Links --\u003e\n[kustomize]: https://github.com/kubernetes-sigs/kustomize\n[base]: https://github.com/kubernetes-sigs/kustomize/blob/master/docs/glossary.md#base\n[overlays]: https://github.com/kubernetes-sigs/kustomize/blob/master/docs/glossary.md#overlay\n[patches]: https://github.com/kubernetes-sigs/kustomize/blob/master/docs/glossary.md#patch","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrossplane%2Fcrosscd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrossplane%2Fcrosscd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrossplane%2Fcrosscd/lists"}