wttech-aem


Namewttech-aem JSON
Version 0.1.2 PyPI version JSON
download
home_pagehttps://github.com/wttech/pulumi-aem
SummaryEasily manage Adobe Experience Manager instances in the cloud without a deep dev-ops knowledge
upload_time2024-06-17 15:18:12
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseApache-2.0
keywords pulumi aem aemc category/cloud
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![AEM Compose Logo](https://raw.githubusercontent.com/wttech/pulumi-aem/main/docs/logo-with-text.png)](https://github.com/wttech/aemc)
[![WTT Logo](https://raw.githubusercontent.com/wttech/pulumi-aem/main/docs/wtt-logo.png)](https://www.wundermanthompson.com/service/technology)

[![Apache License, Version 2.0, January 2004](https://raw.githubusercontent.com/wttech/pulumi-aem/main/docs/apache-license-badge.svg)](http://www.apache.org/licenses/)

# AEM Compose - Pulumi Native Provider

This provider allows development teams to easily set up [Adobe Experience Manager](https://business.adobe.com/products/experience-manager/adobe-experience-manager.html) instances on virtual machines in the cloud (AWS, Azure, GCP, etc.) or bare metal machines.
It's based on the [AEM Compose](https://github.com/wttech/aemc) tool and aims to simplify the process of creating AEM environments without requiring deep DevOps knowledge.

Published in [Pulumi Registry](https://www.pulumi.com/registry/packages/aem/).

## Purpose

The main purpose of this provider is to enable users to:

- Set up as many AEM environments as needed with minimal effort
- Eliminate the need for deep DevOps knowledge
- Allow for seamless integration with popular cloud platforms such as AWS and Azure
- Provide a simple and efficient way to manage AEM instances

## Features

- Easy configuration and management of AEM instances
- Support for multiple cloud platforms and bare metal machines
- Seamless integration with Pulumi for infrastructure provisioning
- Based on the powerful [AEM Compose](https://github.com/wttech/aemc) tool

## Quickstart

The easiest way to get started is to review, copy and adapt provided examples:

1. AWS EC2 instance with private IP
   * [Go](https://github.com/wttech/pulumi-aem/tree/main/examples/go_aws_ssm)
   * [NodeJS](https://github.com/wttech/pulumi-aem/tree/main/examples/nodejs_aws_ssm)
   * [Python](https://github.com/wttech/pulumi-aem/tree/main/examples/python_aws_ssm)
   * [.NET](https://github.com/wttech/pulumi-aem/tree/main/examples/dotnet_aws_ssm)
2. AWS EC2 instance with public IP
   * [Go](https://github.com/wttech/pulumi-aem/tree/main/examples/go_aws_ssh)
   * [NodeJS](https://github.com/wttech/pulumi-aem/tree/main/examples/nodejs_aws_ssh)
   * [Python](https://github.com/wttech/pulumi-aem/tree/main/examples/python_aws_ssh)
   * [.NET](https://github.com/wttech/pulumi-aem/tree/main/examples/dotnet_aws_ssh)
3. Bare metal machine
   * [Go](https://github.com/wttech/pulumi-aem/tree/main/examples/go_bare_metal)
   * [NodeJS](https://github.com/wttech/pulumi-aem/tree/main/examples/nodejs_bare_metal)
   * [Python](https://github.com/wttech/pulumi-aem/tree/main/examples/python_bare_metal)
   * [.NET](https://github.com/wttech/pulumi-aem/tree/main/examples/dotnet_bare_metal)

- - -

## Development

This repository is showing how to create and locally test a native Pulumi provider.

### Authoring a Pulumi Native Provider

This creates a working Pulumi-owned provider named `aem`.
It implements a random number generator that you can [build and test out for yourself](#test-against-the-example) and then replace the Random code with code specific to your provider.


#### Prerequisites

Prerequisites for this repository are already satisfied by the [Pulumi Devcontainer](https://github.com/pulumi/devcontainer) if you are using Github Codespaces, or VSCode.

If you are not using VSCode, you will need to ensure the following tools are installed and present in your `$PATH`:

* [`pulumictl`](https://github.com/pulumi/pulumictl#installation)
* [Go](https://golang.org/dl/) or 1.latest
* [NodeJS](https://nodejs.org/en/) 14.x.  We recommend using [nvm](https://github.com/nvm-sh/nvm) to manage NodeJS installations.
* [Yarn](https://yarnpkg.com/)
* [TypeScript](https://www.typescriptlang.org/)
* [Python](https://www.python.org/downloads/) (called as `python3`).  For recent versions of MacOS, the system-installed version is fine.
* [.NET](https://dotnet.microsoft.com/download)


#### Build & test the Adobe Experience Manager provider

1. Create a new Github CodeSpaces environment using this repository.
1. Open a terminal in the CodeSpaces environment.
1. Run `make build install` to build and install the provider.
1. Run `make gen_examples` to generate the example programs in `examples/` off of the source `examples/yaml` example program.
1. Run `make up` to run the example program in `examples/yaml`.
1. Run `make down` to tear down the example program.

##### Build the provider and install the plugin

   ```bash
   $ make build install
   ```

This will:

1. Create the SDK codegen binary and place it in a `./bin` folder (gitignored)
2. Create the provider binary and place it in the `./bin` folder (gitignored)
3. Generate the dotnet, Go, Node, and Python SDKs and place them in the `./sdk` folder
4. Install the provider on your machine.

##### Test against the example

```bash
$ cd examples/simple
$ yarn link @wttech/aem
$ yarn install
$ pulumi stack init test
$ pulumi up
```

Now that you have completed all of the above steps, you have a working provider that generates a random string for you.

##### A brief repository overview

You now have:

1. A `provider/` folder containing the building and implementation logic
    1. `cmd/pulumi-resource-aem/main.go` - holds the provider's sample implementation logic.
2. `deployment-templates` - a set of files to help you around deployment and publication
3. `sdk` - holds the generated code libraries created by `pulumi-gen-aem/main.go`
4. `examples` a folder of Pulumi programs to try locally and/or use in CI.
5. A `Makefile` and this `README`.

##### Additional Details

This repository depends on the pulumi-go-provider library. For more details on building providers, please check
the [Pulumi Go Provider docs](https://github.com/pulumi/pulumi-go-provider).

#### Build Examples

Create an example program using the resources defined in your provider, and place it in the `examples/` folder.

You can now repeat the steps for [build, install, and test](#test-against-the-example).

### Configuring CI and releases

1. Follow the instructions laid out in the [deployment templates](./deployment-templates/README-DEPLOYMENT.md).

### References

Other resources/examples for implementing providers:
* [Pulumi Command provider](https://github.com/pulumi/pulumi-command/blob/master/provider/pkg/provider/provider.go)
* [Pulumi Go Provider repository](https://github.com/pulumi/pulumi-go-provider)



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/wttech/pulumi-aem",
    "name": "wttech-aem",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "pulumi aem aemc category/cloud",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/09/2b/36adbae816a6928a172fee6411b18c07865ab8fb751f8cf4bee68f8213e2/wttech_aem-0.1.2.tar.gz",
    "platform": null,
    "description": "[![AEM Compose Logo](https://raw.githubusercontent.com/wttech/pulumi-aem/main/docs/logo-with-text.png)](https://github.com/wttech/aemc)\n[![WTT Logo](https://raw.githubusercontent.com/wttech/pulumi-aem/main/docs/wtt-logo.png)](https://www.wundermanthompson.com/service/technology)\n\n[![Apache License, Version 2.0, January 2004](https://raw.githubusercontent.com/wttech/pulumi-aem/main/docs/apache-license-badge.svg)](http://www.apache.org/licenses/)\n\n# AEM Compose - Pulumi Native Provider\n\nThis provider allows development teams to easily set up [Adobe Experience Manager](https://business.adobe.com/products/experience-manager/adobe-experience-manager.html) instances on virtual machines in the cloud (AWS, Azure, GCP, etc.) or bare metal machines.\nIt's based on the [AEM Compose](https://github.com/wttech/aemc) tool and aims to simplify the process of creating AEM environments without requiring deep DevOps knowledge.\n\nPublished in [Pulumi Registry](https://www.pulumi.com/registry/packages/aem/).\n\n## Purpose\n\nThe main purpose of this provider is to enable users to:\n\n- Set up as many AEM environments as needed with minimal effort\n- Eliminate the need for deep DevOps knowledge\n- Allow for seamless integration with popular cloud platforms such as AWS and Azure\n- Provide a simple and efficient way to manage AEM instances\n\n## Features\n\n- Easy configuration and management of AEM instances\n- Support for multiple cloud platforms and bare metal machines\n- Seamless integration with Pulumi for infrastructure provisioning\n- Based on the powerful [AEM Compose](https://github.com/wttech/aemc) tool\n\n## Quickstart\n\nThe easiest way to get started is to review, copy and adapt provided examples:\n\n1. AWS EC2 instance with private IP\n   * [Go](https://github.com/wttech/pulumi-aem/tree/main/examples/go_aws_ssm)\n   * [NodeJS](https://github.com/wttech/pulumi-aem/tree/main/examples/nodejs_aws_ssm)\n   * [Python](https://github.com/wttech/pulumi-aem/tree/main/examples/python_aws_ssm)\n   * [.NET](https://github.com/wttech/pulumi-aem/tree/main/examples/dotnet_aws_ssm)\n2. AWS EC2 instance with public IP\n   * [Go](https://github.com/wttech/pulumi-aem/tree/main/examples/go_aws_ssh)\n   * [NodeJS](https://github.com/wttech/pulumi-aem/tree/main/examples/nodejs_aws_ssh)\n   * [Python](https://github.com/wttech/pulumi-aem/tree/main/examples/python_aws_ssh)\n   * [.NET](https://github.com/wttech/pulumi-aem/tree/main/examples/dotnet_aws_ssh)\n3. Bare metal machine\n   * [Go](https://github.com/wttech/pulumi-aem/tree/main/examples/go_bare_metal)\n   * [NodeJS](https://github.com/wttech/pulumi-aem/tree/main/examples/nodejs_bare_metal)\n   * [Python](https://github.com/wttech/pulumi-aem/tree/main/examples/python_bare_metal)\n   * [.NET](https://github.com/wttech/pulumi-aem/tree/main/examples/dotnet_bare_metal)\n\n- - -\n\n## Development\n\nThis repository is showing how to create and locally test a native Pulumi provider.\n\n### Authoring a Pulumi Native Provider\n\nThis creates a working Pulumi-owned provider named `aem`.\nIt implements a random number generator that you can [build and test out for yourself](#test-against-the-example) and then replace the Random code with code specific to your provider.\n\n\n#### Prerequisites\n\nPrerequisites for this repository are already satisfied by the [Pulumi Devcontainer](https://github.com/pulumi/devcontainer) if you are using Github Codespaces, or VSCode.\n\nIf you are not using VSCode, you will need to ensure the following tools are installed and present in your `$PATH`:\n\n* [`pulumictl`](https://github.com/pulumi/pulumictl#installation)\n* [Go](https://golang.org/dl/) or 1.latest\n* [NodeJS](https://nodejs.org/en/) 14.x.  We recommend using [nvm](https://github.com/nvm-sh/nvm) to manage NodeJS installations.\n* [Yarn](https://yarnpkg.com/)\n* [TypeScript](https://www.typescriptlang.org/)\n* [Python](https://www.python.org/downloads/) (called as `python3`).  For recent versions of MacOS, the system-installed version is fine.\n* [.NET](https://dotnet.microsoft.com/download)\n\n\n#### Build & test the Adobe Experience Manager provider\n\n1. Create a new Github CodeSpaces environment using this repository.\n1. Open a terminal in the CodeSpaces environment.\n1. Run `make build install` to build and install the provider.\n1. Run `make gen_examples` to generate the example programs in `examples/` off of the source `examples/yaml` example program.\n1. Run `make up` to run the example program in `examples/yaml`.\n1. Run `make down` to tear down the example program.\n\n##### Build the provider and install the plugin\n\n   ```bash\n   $ make build install\n   ```\n\nThis will:\n\n1. Create the SDK codegen binary and place it in a `./bin` folder (gitignored)\n2. Create the provider binary and place it in the `./bin` folder (gitignored)\n3. Generate the dotnet, Go, Node, and Python SDKs and place them in the `./sdk` folder\n4. Install the provider on your machine.\n\n##### Test against the example\n\n```bash\n$ cd examples/simple\n$ yarn link @wttech/aem\n$ yarn install\n$ pulumi stack init test\n$ pulumi up\n```\n\nNow that you have completed all of the above steps, you have a working provider that generates a random string for you.\n\n##### A brief repository overview\n\nYou now have:\n\n1. A `provider/` folder containing the building and implementation logic\n    1. `cmd/pulumi-resource-aem/main.go` - holds the provider's sample implementation logic.\n2. `deployment-templates` - a set of files to help you around deployment and publication\n3. `sdk` - holds the generated code libraries created by `pulumi-gen-aem/main.go`\n4. `examples` a folder of Pulumi programs to try locally and/or use in CI.\n5. A `Makefile` and this `README`.\n\n##### Additional Details\n\nThis repository depends on the pulumi-go-provider library. For more details on building providers, please check\nthe [Pulumi Go Provider docs](https://github.com/pulumi/pulumi-go-provider).\n\n#### Build Examples\n\nCreate an example program using the resources defined in your provider, and place it in the `examples/` folder.\n\nYou can now repeat the steps for [build, install, and test](#test-against-the-example).\n\n### Configuring CI and releases\n\n1. Follow the instructions laid out in the [deployment templates](./deployment-templates/README-DEPLOYMENT.md).\n\n### References\n\nOther resources/examples for implementing providers:\n* [Pulumi Command provider](https://github.com/pulumi/pulumi-command/blob/master/provider/pkg/provider/provider.go)\n* [Pulumi Go Provider repository](https://github.com/pulumi/pulumi-go-provider)\n\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Easily manage Adobe Experience Manager instances in the cloud without a deep dev-ops knowledge",
    "version": "0.1.2",
    "project_urls": {
        "Homepage": "https://github.com/wttech/pulumi-aem",
        "Repository": "https://github.com/wttech/pulumi-aem"
    },
    "split_keywords": [
        "pulumi",
        "aem",
        "aemc",
        "category/cloud"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "092b36adbae816a6928a172fee6411b18c07865ab8fb751f8cf4bee68f8213e2",
                "md5": "5780e36f8040c5ddde6af4a6c39338b4",
                "sha256": "1bf3d24bbd9486c3b3c1a8b9fea79e8159e7c4942a27aa98f04054d413dac7ff"
            },
            "downloads": -1,
            "filename": "wttech_aem-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "5780e36f8040c5ddde6af4a6c39338b4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 18338,
            "upload_time": "2024-06-17T15:18:12",
            "upload_time_iso_8601": "2024-06-17T15:18:12.166056Z",
            "url": "https://files.pythonhosted.org/packages/09/2b/36adbae816a6928a172fee6411b18c07865ab8fb751f8cf4bee68f8213e2/wttech_aem-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-17 15:18:12",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "wttech",
    "github_project": "pulumi-aem",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "wttech-aem"
}
        
Elapsed time: 1.79155s