* scheme update
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
# Best Practices
|
||||
|
||||
1) Name scheming
|
||||
|
||||
Nom des resources = <kind>-<app>-<environment>
|
||||
|
||||
2) Tagging
|
||||
|
||||
# Providers
|
||||
|
||||
| Name | Version |
|
||||
|---|---|
|
||||
| [provider-aws-rds](https://marketplace.upbound.io/providers/upbound/provider-aws-rds/v1.2.1) | 1.2.1 |
|
||||
| [provider-aws-iam](https://marketplace.upbound.io/providers/upbound/provider-aws-iam/v1.2.1) | 1.2.1 |
|
||||
| [provider-aws-ec2](https://marketplace.upbound.io/providers/upbound/provider-aws-ec2/v1.2.1) | 1.2.1 |
|
||||
|
||||
# CompositeResources
|
||||
|
||||
| Provider | Kind |
|
||||
|---|---|
|
||||
| [IAM](https://marketplace.upbound.io/providers/upbound/provider-aws-iam/v1.2.1) | [Role](https://marketplace.upbound.io/providers/upbound/provider-aws-iam/v1.2.1/resources/iam.aws.upbound.io/Role/v1beta1) |
|
||||
| [RDS](https://marketplace.upbound.io/providers/upbound/provider-aws-rds/v1.2.1) | [Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws-rds/v1.2.1/resources/rds.aws.upbound.io/Cluster/v1beta1) |
|
||||
| [RDS](https://marketplace.upbound.io/providers/upbound/provider-aws-rds/v1.2.1) | [ClusterRoleAssociation](https://marketplace.upbound.io/providers/upbound/provider-aws-rds/v1.2.1/resources/rds.aws.upbound.io/ClusterRoleAssociation/v1beta1) |
|
||||
| [RDS](https://marketplace.upbound.io/providers/upbound/provider-aws-rds/v1.2.1) | [SubnetGroup](https://marketplace.upbound.io/providers/upbound/provider-aws-rds/v1.2.1/resources/rds.aws.upbound.io/SubnetGroup/v1beta1) |
|
||||
| [RDS](https://marketplace.upbound.io/providers/upbound/provider-aws-rds/v1.2.1) | [ClusterInstance](https://marketplace.upbound.io/providers/upbound/provider-aws-rds/v1.2.1/resources/rds.aws.upbound.io/ClusterInstance/v1beta1) |
|
||||
| [RDS](https://marketplace.upbound.io/providers/upbound/provider-aws-rds/v1.2.1) | [Instance](https://marketplace.upbound.io/providers/upbound/provider-aws-rds/v1.2.1/resources/rds.aws.upbound.io/Instance/v1beta2) |
|
||||
| [RDS](https://marketplace.upbound.io/providers/upbound/provider-aws-rds/v1.2.1) | [ClusterParameterGroup](https://marketplace.upbound.io/providers/upbound/provider-aws-rds/v1.2.1/resources/rds.aws.upbound.io/ClusterParameterGroup/v1beta1) |
|
||||
| [RDS](https://marketplace.upbound.io/providers/upbound/provider-aws-rds/v1.2.1) | [ParameterGroup](https://marketplace.upbound.io/providers/upbound/provider-aws-rds/v1.2.1/resources/rds.aws.upbound.io/ParameterGroup/v1beta1) |
|
||||
| [EC2](https://marketplace.upbound.io/providers/upbound/provider-aws-ec2/v1.2.1) | [SecurityGroup](https://marketplace.upbound.io/providers/upbound/provider-aws-ec2/v1.2.1/resources/ec2.aws.upbound.io/SecurityGroup/v1beta1) |
|
||||
| [EC2](https://marketplace.upbound.io/providers/upbound/provider-aws-ec2/v1.2.1) | [SecurityGroupRule](https://marketplace.upbound.io/providers/upbound/provider-aws-ec2/v1.2.1/resources/ec2.aws.upbound.io/SecurityGroupRule/v1beta1) |
|
||||
| [EC2](https://marketplace.upbound.io/providers/upbound/provider-aws-ec2/v1.2.1) | [SecurityGroupIngressRule](https://marketplace.upbound.io/providers/upbound/provider-aws-ec2/v1.2.1/resources/ec2.aws.upbound.io/SecurityGroupIngressRule/v1beta1) |
|
||||
| [EC2](https://marketplace.upbound.io/providers/upbound/provider-aws-ec2/v1.2.1) | [SecurityGroupEgressRule](https://marketplace.upbound.io/providers/upbound/provider-aws-ec2/v1.2.1/resources/ec2.aws.upbound.io/SecurityGroupEgressRule/v1beta1) |
|
||||
|
||||
# Claim example
|
||||
|
||||
```yaml
|
||||
apiVersion: crossplane.evina/v1alpha1
|
||||
kind: RDS
|
||||
metadata:
|
||||
namespace: crossplane-system
|
||||
name: claimed-
|
||||
spec:
|
||||
compositionRef:
|
||||
name: rds-composition
|
||||
parameters:
|
||||
region:
|
||||
app:
|
||||
environment:
|
||||
engine:
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
| Name | Description | Value |Required |
|
||||
|---|---|---|---|
|
||||
| region | AWS Region where the provider will operate | eu-west-1 | Required |
|
||||
| app | Name of the app (Used for Tagging/Naming) | dcbprotect / karpenter / brandprotect / grafana | Required |
|
||||
| environment | Environment where the claim will operate (Used for Tag/Naming) | dev / staging / production | Required |
|
||||
| account | Environment where the claim will operate (Used for Tagging) | 169590266381 | Recommended |
|
||||
| engineVersion | The engine version to use | 5.7.mysql_aurora.2.11.2 | Required |
|
||||
| providerConfigRef | Target a specific account | provider-aws-config.yaml | Required |
|
||||
| instanceClass | Instance used to host the database | db.t3.medium | Required |
|
||||
|
||||
# Outputs
|
||||
|
||||
# TODO
|
||||
|
||||
- [x] Import and observe all resources from terraform
|
||||
- [ ] Create a managed resources with crossplane
|
||||
- [x] IAM
|
||||
- [x] Role
|
||||
- [x] RDS
|
||||
- [ ] Cluster
|
||||
- [x] SubnetGroup
|
||||
- [ ] ClusterInstance
|
||||
- [x] Instance
|
||||
- [x] ClusterParameterGroup
|
||||
- [x] ParameterGroup
|
||||
- [x] EC2
|
||||
- [x] SecurityGroup
|
||||
- [ ] SecurityGroupRule (Générer une managedResources pour faire le lien entre une compo RDS et APP)
|
||||
- [ ] SecurityGroupIngressRule (Générer une managedResources pour faire le lien entre une compo RDS et APP)
|
||||
- [x] SecurityGroupEgressRule
|
||||
- [ ] Check Tags
|
||||
- [ ] Check when to use Refs
|
||||
- [ ] How to create more instances from claim
|
||||
- [ ] Create a certIdentifier ?
|
||||
- [ ] Ajouter une resource roleAssociation for RDS and IAM role created
|
||||
- [ ] Ajoute automatiquement la description "Managed by terraform" SubnetGroup ??
|
||||
- [ ] Create composition and definition
|
||||
Reference in New Issue
Block a user