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

Add Cloud Toolkit AWS #2108

Closed
wants to merge 2 commits into from
Closed
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
10 changes: 2 additions & 8 deletions .github/workflows/generate-package-metadata.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,8 @@ jobs:
max-parallel: 1
matrix: ${{fromJson(needs.generate-packages-list.outputs.matrix)}}
steps:
- name: Get provider short name
uses: actions-ecosystem/action-regex-match@v2
id: regex-prov
with:
text: ${{ matrix.repoSlug }}
regex: '(\/.*-)(.*?$)'
- name: Check if there is already an open PR
if: contains(needs.generate-packages-list.outputs.prs, steps.regex-prov.outputs.group2 )
if: contains(needs.generate-packages-list.outputs.prs, matrix.shortName)
id: skip-run
run: echo "::set-output name=skip::1"
- name: Check out registry repo
Expand Down Expand Up @@ -79,7 +73,7 @@ jobs:
if: env.PROVIDER_VERSION
uses: peter-evans/create-pull-request@v3
env:
PROVIDER_SHORT_NAME: ${{ steps.regex-prov.outputs.group2 }}
PROVIDER_SHORT_NAME: ${{ matrix.shortName }}
with:
token: ${{ secrets.PULUMI_BOT_TOKEN }}
committer: Pulumi Bot <bot@pulumi.com>
Expand Down
146 changes: 99 additions & 47 deletions community-packages/package-list.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,191 +2,243 @@
"include": [
{
"repoSlug": "koyeb/pulumi-koyeb",
"schemaFile": "provider/cmd/pulumi-resource-koyeb/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-koyeb/schema.json",
"shortName": "koyeb"
},
{
"repoSlug": "pulumiverse/pulumi-time",
"schemaFile": "provider/cmd/pulumi-resource-time/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-time/schema.json",
"shortName": "time"
},
{
"repoSlug": "pulumiverse/pulumi-doppler",
"schemaFile": "provider/cmd/pulumi-resource-doppler/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-doppler/schema.json",
"shortName": "doppler"
},
{
"repoSlug": "checkly/pulumi-checkly",
"schemaFile": "provider/cmd/pulumi-resource-checkly/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-checkly/schema.json",
"shortName": "checkly"
},
{
"repoSlug": "EventStore/pulumi-eventstorecloud",
"schemaFile": "provider/cmd/pulumi-resource-eventstorecloud/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-eventstorecloud/schema.json",
"shortName": "eventstorecloud"
},
{
"repoSlug": "grapl-security/pulumi-buildkite",
"schemaFile": "provider/cmd/pulumi-resource-buildkite/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-buildkite/schema.json",
"shortName": "buildkite"
},
{
"repoSlug": "pulumiverse/pulumi-gandi",
"schemaFile": "provider/cmd/pulumi-resource-gandi/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-gandi/schema.json",
"shortName": "gandi"
},
{
"repoSlug": "grapl-security/pulumi-hcp",
"schemaFile": "provider/cmd/pulumi-resource-hcp/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-hcp/schema.json",
"shortName": "hcp"
},
{
"repoSlug": "lbrlabs/pulumi-scaleway",
"schemaFile": "provider/cmd/pulumi-resource-scaleway/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-scaleway/schema.json",
"shortName": "scaleway"
},
{
"repoSlug": "pulumi/pulumi-kubernetes-cert-manager",
"schemaFile": "schema.json"
"schemaFile": "schema.json",
"shortName": "kubernetes-cert-manager"
},
{
"repoSlug": "pulumi/pulumi-kubernetes-coredns",
"schemaFile": "schema.json"
"schemaFile": "schema.json",
"shortName": "kubernetes-coredns"
},
{
"repoSlug": "pulumi/pulumi-kubernetes-ingress-nginx",
"schemaFile": "schema.json"
"schemaFile": "schema.json",
"shortName": "kubernetes-ingress-nginx"
},
{
"repoSlug": "pulumi/pulumi-aws-apigateway",
"schemaFile": "schema.yaml"
"schemaFile": "schema.yaml",
"shortName": "aws-apigateway"
},
{
"repoSlug": "rootlyhq/pulumi-rootly",
"schemaFile": "provider/cmd/pulumi-resource-rootly/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-rootly/schema.json",
"shortName": "rootly"
},
{
"repoSlug": "pulumiverse/pulumi-astra",
"schemaFile": "provider/cmd/pulumi-resource-astra/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-astra/schema.json",
"shortName": "astra"
},
{
"repoSlug": "pulumi/pulumi-azure-justrun",
"schemaFile": "schema.json"
"schemaFile": "schema.json",
"shortName": "azure-justrun"
},
{
"repoSlug": "pulumi/pulumi-aws-static-website",
"schemaFile": "schema.json"
"schemaFile": "schema.json",
"shortName": "aws-static-website"
},
{
"repoSlug": "muhlba91/pulumi-proxmoxve",
"schemaFile": "provider/cmd/pulumi-resource-proxmoxve/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-proxmoxve/schema.json",
"shortName": "proxmoxve"
},
{
"repoSlug": "theogravity/pulumi-fusionauth",
"schemaFile": "provider/cmd/pulumi-resource-fusionauth/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-fusionauth/schema.json",
"shortName": "fusionauth"
},
{
"repoSlug": "upstash/pulumi-upstash",
"schemaFile": "provider/cmd/pulumi-resource-upstash/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-upstash/schema.json",
"shortName": "upstash"
},
{
"repoSlug": "lbrlabs/pulumi-ovh",
"schemaFile": "provider/cmd/pulumi-resource-ovh/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-ovh/schema.json",
"shortName": "ovh"
},
{
"repoSlug": "lbrlabs/pulumi-grafana",
"schemaFile": "provider/cmd/pulumi-resource-grafana/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-grafana/schema.json",
"shortName": "grafana"
},
{
"repoSlug": "lbrlabs/pulumi-launchdarkly",
"schemaFile": "provider/cmd/pulumi-resource-launchdarkly/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-launchdarkly/schema.json",
"shortName": "launchdarkly"
},
{
"repoSlug": "pulumi/pulumi-azure-static-website",
"schemaFile": "schema.json"
"schemaFile": "schema.json",
"shortName": "azure-static-website"
},
{
"repoSlug": "lbrlabs/pulumi-harness",
"schemaFile": "provider/cmd/pulumi-resource-harness/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-harness/schema.json",
"shortName": "harness"
},
{
"repoSlug": "pulumi/pulumi-google-cloud-static-website",
"schemaFile": "schema.json"
"schemaFile": "schema.json",
"shortName": "google-cloud-static-website"
},
{
"repoSlug": "pulumi/pulumi-synced-folder",
"schemaFile": "schema.json"
"schemaFile": "schema.json",
"shortName": "synced-folder"
},
{
"repoSlug": "pulumi/pulumi-tls-self-signed-cert",
"schemaFile": "schema.json"
"schemaFile": "schema.json",
"shortName": "tls-self-signed-cert"
},
{
"repoSlug": "oun/pulumi-flux",
"schemaFile": "provider/cmd/pulumi-resource-flux/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-flux/schema.json",
"shortName": "flux"
},
{
"repoSlug": "lbrlabs/pulumi-dynatrace",
"schemaFile": "provider/cmd/pulumi-resource-dynatrace/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-dynatrace/schema.json",
"shortName": "dynatrace"
},
{
"repoSlug": "pulumiverse/pulumi-aquasec",
"schemaFile": "provider/cmd/pulumi-resource-aquasec/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-aquasec/schema.json",
"shortName": "aquasec"
},
{
"repoSlug": "pulumiverse/pulumi-exoscale",
"schemaFile": "provider/cmd/pulumi-resource-exoscale/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-exoscale/schema.json",
"shortName": "exoscale"
},
{
"repoSlug": "pulumiverse/pulumi-sentry",
"schemaFile": "provider/cmd/pulumi-resource-sentry/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-sentry/schema.json",
"shortName": "sentry"
},
{
"repoSlug": "pulumiverse/pulumi-heroku",
"schemaFile": "provider/cmd/pulumi-resource-heroku/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-heroku/schema.json",
"shortName": "heroku"
},
{
"repoSlug": "pulumi/pulumi-str",
"schemaFile": "sdk/schema.json"
"schemaFile": "sdk/schema.json",
"shortName": "str"
},
{
"repoSlug": "pulumiverse/pulumi-unifi",
"schemaFile": "provider/cmd/pulumi-resource-unifi/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-unifi/schema.json",
"shortName": "unifi"
},
{
"repoSlug": "symbiosis-cloud/pulumi-symbiosis",
"schemaFile": "provider/cmd/pulumi-resource-symbiosis/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-symbiosis/schema.json",
"shortName": "symbiosis"
},
{
"repoSlug": "astipkovits/pulumi-aviatrix",
"schemaFile": "provider/cmd/pulumi-resource-aviatrix/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-aviatrix/schema.json",
"shortName": "aviatrix"
},
{
"repoSlug": "pulumiverse/pulumi-purrl",
"schemaFile": "provider/cmd/pulumi-resource-purrl/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-purrl/schema.json",
"shortName": "purrl"
},
{
"repoSlug": "pulumiverse/pulumi-harbor",
"schemaFile": "provider/cmd/pulumi-resource-harbor/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-harbor/schema.json",
"shortName": "harbor"
},
{
"repoSlug": "dirien/pulumi-vultr",
"schemaFile": "provider/cmd/pulumi-resource-vultr/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-vultr/schema.json",
"shortName": "vultr"
},
{
"repoSlug": "zscaler/pulumi-zpa",
"schemaFile": "provider/cmd/pulumi-resource-zpa/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-zpa/schema.json",
"shortName": "zpa"
},
{
"repoSlug": "zscaler/pulumi-zia",
"schemaFile": "provider/cmd/pulumi-resource-zia/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-zia/schema.json",
"shortName": "zia"
},
{
"repoSlug": "pulumiverse/pulumi-statuscake",
"schemaFile": "provider/cmd/pulumi-resource-statuscake/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-statuscake/schema.json",
"shortName": "statuscake"
},
{
"repoSlug": "nuage-studio/pulumi-nuage",
"schemaFile": "schema.json"
"schemaFile": "schema.json",
"shortName": "nuage"
},
{
"repoSlug": "twingate-labs/pulumi-twingate",
"schemaFile": "provider/cmd/pulumi-resource-twingate/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-twingate/schema.json",
"shortName": "twingate"
},
{
"repoSlug": "dirien/pulumi-azapi",
"schemaFile": "provider/cmd/pulumi-resource-azapi/schema.json"
"schemaFile": "provider/cmd/pulumi-resource-azapi/schema.json",
"shortName": "azapi"
},
{
"repoSlug": "cloud-toolkit/cloud-toolkit-aws",
"schemaFile": "schema.yaml",
"shortName": "cloud-toolkit-aws"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
title: Cloud Toolkit AWS
meta_desc: Cloud Toolkit AWS bridges Infrastructure as Code and accessibility, allowing users to manage their infrastructure by leveraging real-world usage and patterns.
layout: overview
---

The Cloud Toolkit AWS provider for Pulumi provision well-architected solutions in [AWS](https://aws.amazon.com/). It uses the AWS SDK to manage and provision resources.

The AWS provider must be configured with credentials to deploy and update resources in AWS; see [Installation & Configuration](./installation-configuration/) for instructions.

## Example

{{< chooser language "typescript,javascript,python" >}}

{{% choosable language typescript %}}

```typescript
import * as ct from require("@cloudtoolkit/aws");

const bucket = new ct.storage.Bucket("mybucket");
```

{{% /choosable %}}

{{% choosable language javascript %}}

```typescript
const ct = require("@cloudtoolkit/aws");

const bucket = new ct.storage.Bucket("mybucket");
```

{{% /choosable %}}

{{% choosable language python %}}

```python
import cloud_toolkit_aws as ct

bucket = ct.storage.Bucket("bucket")
```

{{% /choosable %}}

{{< /chooser >}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: Cloud Toolkit AWS Installation & Configuration
meta_desc: How to set up credentials to use the Cloud Toolkit AWS component library.
layout: installation
---

## Installation

The Cloud Toolkit AWS provider is available as a package in all Pulumi languages:

* JavaScript/TypeScript: [`@cloudtoolkit/aws`](https://www.npmjs.com/package/@cloudtoolkit/aws)
* Python: [`cloud-toolkit-aws`](https://pypi.org/project/cloud-toolkit-aws/)

## Configuration

To provision resources with the Cloud Toolkit AWS provider, you need to have AWS credentials. You can use the instructions on if you plan to use AWS credentials from a shared credentials file (which the AWS CLI usually manages for you) or from an environment variable. For more details, see the [AWS documentation](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html).
14 changes: 14 additions & 0 deletions themes/default/data/registry/packages/cloud-toolkit-aws.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
category: Cloud
component: true
description: A Pulumi package for creating well-architected solutions on AWS.
featured: false
logo_url: https://raw.githubusercontent.com/cloud-toolkit/website/main/src/assets/icons/logo.svg
name: cloud-toolkit-aws
native: false
package_status: public_preview
publisher: AstroKube
repo_url: https://github.com/cloud-toolkit/cloud-toolkit-aws
schema_file_path: schema.yaml
title: Cloud Toolkit AWS
updated_on: 1676442142
version: v0.7.0