Skip to content

Commit

Permalink
docs(readme): update readme, remove providers in crossplane.yaml (#128)
Browse files Browse the repository at this point in the history
* docs(readme): update readme, remove providers in crossplane.yaml

Signed-off-by: Christopher Haar <[email protected]>

* style(chars): set 80 chars

Signed-off-by: Christopher Haar <[email protected]>

---------

Signed-off-by: Christopher Haar <[email protected]>
  • Loading branch information
haarchri authored Nov 6, 2023
1 parent 619de82 commit 88998f9
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 36 deletions.
67 changes: 39 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,30 @@
# AWS Reference Platform

This repository contains a reference AWS Platform Configuration for
[Crossplane](https://crossplane.io/). It's a great starting point for building
internal cloud platforms with AWS and offering a self-service API to your internal
development teams.

This platform provides APIs to provision fully configured EKS clusters, with
secure networking, and stateful cloud services (RDS) designed to securely
connect to the nodes in each EKS cluster — all composed using cloud service
primitives from the [Official Upbound AWS
Provider](https://marketplace.upbound.io/providers/upbound/provider-aws). App
deployments can securely connect to the infrastructure they need using secrets
distributed directly to the app namespace.
[Crossplane](https://crossplane.io). It's a great starting point for
building internal cloud platforms with AWS and offering a self-service
API to your internal development teams.

This platform offers APIs for setting up fully configured EKS clusters
with secure networking, stateful cloud services (RDS) that can securely
connect to the EKS clusters, an Observability Stack, and a GitOps
System. All these components are built using cloud service tools from
the [Official Upbound AWS Provider](https://marketplace.upbound.io/
providers/upbound/provider-aws). App deployments can securely access the
necessary infrastructure through secrets distributed directly to the app
namespace.

## Overview

This reference platform defines a custom API for creating an EKS cluster
([XCluster](package/cluster/definition.yaml)) which includes the actual EKS
cluster, a network fabric, Prometheus, and other cluster services
([XServices](package/cluster/composition.yaml)). Additionally, it defines a
custom API for provisioning RDS Databases
([XSQLInstance](package/database/sqlinstance/definition.yaml)).
This reference platform outlines a specialized API for generating an EKS cluster
([XCluster](apis/cluster/definition.yaml)) that incorporates XRs from the specified configurations:

[upbound-configuration-app](https://github.com/upbound/upbound-configuration-app)
[upbound-configuration-aws-database](https://github.com/upbound/upbound-configuration-aws-database)
[upbound-configuration-aws-eks](https://github.com/upbound/upbound-configuration-aws-eks)
[upbound-configuration-aws-network](https://github.com/upbound/upbound-configuration-aws-network)
[upbound-configuration-gitops-flux](https://github.com/upbound/upbound-configuration-gitops-flux)
[upbound-configuration-observability-oss](https://github.com/upbound/upbound-configuration-observability-oss)

```mermaid
graph LR;
Expand All @@ -30,7 +33,7 @@ graph LR;
MyApp---MyDB(XRC: my-db);
MyDB---XRD2(XRD: XSQLInstance);
subgraph Configuration:upbound/platform-ref-aws;
XRD1---Composition(XEKS, XNetwork, XServices);
XRD1---Composition(XEKS, XNetwork, XFlux, XOss);
XRD2---Composition2(Composition);
end
subgraph Provider:upbound/provider-aws
Expand All @@ -55,7 +58,7 @@ style RDS.MRs color:#000,fill:#81CABB,stroke:#000,stroke-width:2px
```

Learn more about Composite Resources in the [Crossplane
Docs](https://crossplane.io/docs/v1.10/concepts/composition.html).
Docs](https://docs.crossplane.io/latest/concepts/compositions/).

## Quickstart

Expand Down Expand Up @@ -98,11 +101,11 @@ kubectl get all -n upbound-system
### Install the AWS Reference Platform

Now you can install this reference platform. It's packaged as a [Crossplane
configuration package](https://crossplane.io/docs/v1.10/concepts/packages.html)
configuration package](https://docs.crossplane.io/latest/concepts/packages/)
so there is a single command to install it:

```console
up ctp configuration install xpkg.upbound.io/upbound/platform-ref-aws:v0.6.0
up ctp configuration install xpkg.upbound.io/upbound/platform-ref-aws:v0.7.0
```

Validate the install by inspecting the provider and configuration packages:
Expand Down Expand Up @@ -165,7 +168,7 @@ kubectl apply -f examples/mariadb-claim.yaml
Now deploy the sample application:

```
kubectl apply -f examples/ghost-claim.yaml
kubectl apply -f examples/app-claim.yaml
```

You can verify the status by inspecting the claims, composites and managed
Expand All @@ -185,8 +188,21 @@ To uninstall the provider & platform configuration:

```console
kubectl delete configurations.pkg.crossplane.io upbound-platform-ref-aws
kubectl delete providers.pkg.crossplane.io upbound-provider-aws
kubectl delete configurations.pkg.crossplane.io upbound-configuration-app
kubectl delete configurations.pkg.crossplane.io upbound-configuration-aws-database
kubectl delete configurations.pkg.crossplane.io upbound-configuration-aws-eks
kubectl delete configurations.pkg.crossplane.io upbound-configuration-aws-network
kubectl delete configurations.pkg.crossplane.io upbound-configuration-gitops-flux
kubectl delete configurations.pkg.crossplane.io upbound-configuration-observability-oss

kubectl delete providers.pkg.crossplane.io crossplane-contrib-provider-helm
kubectl delete providers.pkg.crossplane.io crossplane-contrib-provider-kubernetes
kubectl delete providers.pkg.crossplane.io grafana-provider-grafana
kubectl delete providers.pkg.crossplane.io upbound-provider-aws-ec2
kubectl delete providers.pkg.crossplane.io upbound-provider-aws-eks
kubectl delete providers.pkg.crossplane.io upbound-provider-aws-iam
kubectl delete providers.pkg.crossplane.io upbound-provider-aws-rds
kubectl delete providers.pkg.crossplane.io upbound-provider-family-aws
```

## Customize for your Organization
Expand Down Expand Up @@ -220,11 +236,6 @@ To make your changes clone this repository:
git clone https://github.com/upbound/platform-ref-aws.git $PLATFORM && cd $PLATFORM
```

In the [EKS composition](package/cluster/eks/composition.yaml) find the `region`
definitions and change them from `us-west-2` to `eu-central-1`. Also find the
`scalingConfig.maxSize` and change it from `100` to `10`.


### Build and push your platform

To share your new platform you need to build and distribute this package.
Expand Down
8 changes: 0 additions & 8 deletions crossplane.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,6 @@ spec:
crossplane:
version: ">=v1.12.1-0"
dependsOn:
- provider: xpkg.upbound.io/crossplane-contrib/provider-helm
version: ">=v0.15.0"
- provider: xpkg.upbound.io/upbound/provider-aws-ec2
version: ">=v0.36.0"
- provider: xpkg.upbound.io/upbound/provider-aws-eks
version: ">=v0.36.0"
- provider: xpkg.upbound.io/upbound/provider-aws-iam
version: ">=v0.36.0"
- configuration: xpkg.upbound.io/upbound/configuration-aws-network
version: ">=v0.2.0"
- configuration: xpkg.upbound.io/upbound/configuration-aws-database
Expand Down

0 comments on commit 88998f9

Please sign in to comment.