Constructs are classes which define a “piece of system state”. Constructs can be composed
together to form higher-level building blocks which represent more complex state. Constructs
are often used to represent the desired state of cloud applications. For example, in the AWS
CDK, which is used to define the desired state for AWS infrastructure using CloudFormation,
the lowest-level construct represents a resource definition in a CloudFormation template.
These resources are composed to represent higher-level logical units of a cloud application,
etc.
cloud-iac aims to define a set of custom constructs -- both L1 & L2 -- in efforts towards
security, re-usability, and overall cloud-provider defined best-practices.
A hyperlink will be provided upon successful completion. With reference to the example, navigating
to https://v41dkt0ik0.execute-api.us-east-2.amazonaws.com/development/test-function will then provide a JSON
response body containing information about the package, and the lambda function's layer.
The design philosophies and motivations behind cloud-factory are simple:
Eliminate drift between deployable(s) across environments
Create an agnostic interface to generate and deploy distribution(s)
Configure opinionated defaults with zero impact on development teams
Overview
At a high level, cloud-factory receives a set of repositories as input, executes directory translations and
potentially compile(s) code, and outputs a distribution. The distribution is composed of an opinionated structure
that later fulfills deployment requirements. Through analysis of repository layout(s) & dependencies, a series of
constructs, or cloud resources, are dynamically composed into a singular stack -- the stack becomes the deployable.
When lower level constructs -- repositories -- become capable of implicitly defining infrastructure-related
requirements, a large portion of development overhead and maintenance can be eliminated.
Opinionated Defaults
An opinionated default can be any additional or non-default attribute that assists defining a cloud resource. For
example, in Azure, GCP, and AWS, resources can have Tags. Through key-value assignment, a subset of resources can all
be attributed an Environmentkey with a Development
value.
While seemingly of little value, parsers or API scrappers can use these tags to filter through applicable resources.
Billing, security auditing, and patch-groups are all but some benefits administrators can gain from assigning
tag-related opinionated defaults.
The freedom of repository-based folder structuring is just one of the abstractions cloud-factory will perform --
therefore limiting deployment and vcs requirements, or otherwise development-related overhead.
Regardless of any automated or otherwise pipeline'd implementation (deployments can also be performed locally), the
design pattern is always the same:
Clone in a remote repository to an arbitrary ci environment
Programmatic logic can then be easily abstracted according to repository-to-directory mapping(s).
The npm package cloud-iac receives a total of 3 weekly downloads. As such, cloud-iac popularity was classified as not popular.
We found that cloud-iac demonstrated a not healthy version release cadence and project activity because the last version was released a year ago.It has 1 open source maintainer collaborating on the project.
Package last updated on 09 Mar 2022
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.