Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Read me & Description update #17

Merged
merged 3 commits into from
Feb 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 38 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,39 @@
# Application Configuration
# Example App Configuration

Application Configuration is reusable Configuration that can be used accross
different reference platforms

This repository contains a [Crossplane configuration](https://docs.crossplane.io/latest/concepts/packages/#configuration-packages), tailored for users establishing their initial control plane with [Upbound](https://cloud.upbound.io). This configuration deploys fully managed Ghost blog as an example of how to deploy apps.

## Overview

The core components of a custom API in [Crossplane](https://docs.crossplane.io/latest/getting-started/introduction/) include:

- **CompositeResourceDefinition (XRD):** Defines the API's structure.
- **Composition(s):** Implements the API by orchestrating a set of Crossplane managed resources.

In this specific configuration, the App API contains:

- **an [App definition](/apis/definition.yaml) custom resource type.**
- **Composition of the [app] resources:** Configured in [/apis/composition.yaml](/apis/composition.yaml), it provisions a Ghost blog deployment with helm and resources in the `upbound-system` namespace.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- **Composition of the [app] resources:** Configured in [/apis/composition.yaml](/apis/composition.yaml), it provisions a Ghost blog deployment with helm and resources in the `upbound-system` namespace.
- **Composition of the [app] resources:** Configured in [/apis/composition.yaml](/apis/composition.yaml), it provisions a Ghost blog deployment with helm and resources in the `upbound-system` namespace.

this does not sound correct as we specify application namespace here https://github.com/upbound/configuration-app/blob/main/apis/composition.yaml#L31


This repository contains an Composite Resource (XR) file.

## Deployment

```shell
apiVersion: pkg.crossplane.io/v1
kind: Configuration
metadata:
name: configuration-app
spec:
package: xpkg.upbound.io/upbound/configuration-app:v0.2.0
```

## Next steps

This repository serves as a foundational step. To enhance your control plane, consider:

1. create new API definitions in this same repo
2. editing the existing API definition to your needs


Upbound will automatically detect the commits you make in your repo and build the configuration package for you. To learn more about how to build APIs for your managed control planes in Upbound, read the guide on Upbound's docs.
7 changes: 7 additions & 0 deletions crossplane.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@ metadata:
meta.crossplane.io/maintainer: Upbound <[email protected]>
meta.crossplane.io/source: github.com/upbound/configuration-app
meta.crossplane.io/license: Apache-2.0
meta.crossplane.io/description: |
This repository provides a foundational configuration to build and operate a Ghost blogging application, including handling its dependencies and configurations. The setup ensures a streamlined and repeatable deployment in a cloud environment.

meta.crossplane.io/readme: |
This repository offers a specialized configuration for deploying and managing the Ghost blogging application on Kubernetes using Crossplane. This setup provides the necessary infrastructure to deploy Ghost with with helm and managed with Crossplane in Kubernetes. This approach ensures a flexible, streamlined deployment to any cloud provider.

For more details and customization options, you can explore [the GitHub repository](https://github.com/upbound/configuration-app).
spec:
crossplane:
version: ">=v1.14.1-0"
Expand Down