Skip to content

Commit 60d80de

Browse files
authored
Initial commit
0 parents  commit 60d80de

29 files changed

+1673
-0
lines changed

.devcontainer/Dockerfile

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
ARG UBUNTU_VERSION=latest
2+
FROM ubuntu:${UBUNTU_VERSION}
3+
4+
# Update apt-get and install various needed utilities
5+
RUN apt-get update && \
6+
apt-get install -y curl && \
7+
apt-get install -y wget && \
8+
apt-get install -y xz-utils && \
9+
apt-get install -y make && \
10+
apt-get install -y gcc && \
11+
apt-get install -y git
12+
13+
# Install bridged provider prerequisites
14+
# See README.md
15+
16+
# Install go
17+
ARG GO_VERSION=1.18.3
18+
RUN rm -rf /usr/local/go && \
19+
wget -O ${GO_VERSION}.tar.gz https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz && \
20+
tar -C /usr/local -xzf ${GO_VERSION}.tar.gz && \
21+
rm ${GO_VERSION}.tar.gz
22+
23+
ENV GOPATH=/root/go
24+
ENV PATH=$PATH:/usr/local/go/bin
25+
26+
# Install go linter
27+
RUN mkdir -p $GOPATH/bin && \
28+
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $GOPATH/bin v1.46.2
29+
30+
ENV PATH=$PATH:$GOPATH/bin
31+
32+
# Install pulumictl
33+
ARG PULUMICTL_VERSION=v0.0.32
34+
RUN rm -rf /usr/local/bin/pulumictl && \
35+
wget -O pulumictl.${PULUMICTL_VERSION}.tar.gz https://github.com/pulumi/pulumictl/releases/download/${PULUMICTL_VERSION}/pulumictl-${PULUMICTL_VERSION}-linux-amd64.tar.gz && \
36+
tar -C /usr/local/bin -xzf pulumictl.${PULUMICTL_VERSION}.tar.gz
37+
38+
# Install nodejs
39+
ARG NODEJS_VERSION=v16.16.0
40+
ARG NODEJS_PKG=node-${NODEJS_VERSION}-linux-x64
41+
ARG NODEJS_TARBALL=${NODEJS_PKG}.tar.xz
42+
RUN rm -rf /usr/local/node && \
43+
wget -O ${NODEJS_TARBALL} https://nodejs.org/dist/${NODEJS_VERSION}/${NODEJS_TARBALL} && \
44+
tar -C /usr/local -xf ${NODEJS_TARBALL} && \
45+
mv /usr/local/${NODEJS_PKG} /usr/local/node
46+
47+
ENV PATH=$PATH:/usr/local/node/bin
48+
49+
# Install yarn
50+
RUN npm install --global yarn
51+
52+
# Install python and related items
53+
RUN apt-get install -y python3 && \
54+
apt-get install -y python3-setuptools
55+
56+
# Install .NET
57+
RUN wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb && \
58+
dpkg -i packages-microsoft-prod.deb && \
59+
rm packages-microsoft-prod.deb
60+
61+
RUN apt-get update && \
62+
apt-get install -y apt-transport-https && \
63+
apt-get update && \
64+
apt-get install -y dotnet-sdk-6.0
65+
66+
# Install Pulumi
67+
RUN curl -fsSL https://get.pulumi.com | sh
68+
ENV PATH=$PATH:/root/.pulumi/bin

.devcontainer/devcontainer.json

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
2+
// https://github.com/microsoft/vscode-dev-containers/tree/v0.202.3/containers/hugo
3+
{
4+
"name": "TFProvider",
5+
"build": {
6+
"dockerfile": "Dockerfile"
7+
}
8+
}

.gitignore

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
.idea
2+
.code
3+
**/vendor/
4+
.pulumi
5+
**/bin/
6+
**/obj/
7+
Pulumi.*.yaml
8+
**/node_modules/
9+
.DS_Store
10+
11+
**/command-output/
12+
13+
.idea/
14+
*.iml
15+
16+
yarn.lock
17+
**/pulumiManifest.go
18+
19+
ci-scripts
20+
provider/**/schema-embed.json
21+
**/version.txt
22+
**/nuget
23+
**/dist

.golangci.yml

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
linters:
2+
enable:
3+
- deadcode
4+
- errcheck
5+
- goconst
6+
- gofmt
7+
- golint
8+
- gosec
9+
- govet
10+
- ineffassign
11+
- interfacer
12+
- lll
13+
- megacheck
14+
- misspell
15+
- nakedret
16+
- structcheck
17+
- unconvert
18+
- varcheck
19+
enable-all: false
20+
run:
21+
skip-files:
22+
- schema.go
23+
- pulumiManifest.go
24+
timeout: 20m

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
CHANGELOG
2+
=========
3+
4+
## HEAD (Unreleased)
5+
6+
---

CODE-OF-CONDUCT.md

+73
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, gender identity and expression, level of experience,
9+
education, socio-economic status, nationality, personal appearance, race,
10+
religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
* Using welcoming and inclusive language
18+
* Being respectful of differing viewpoints and experiences
19+
* Gracefully accepting constructive criticism
20+
* Focusing on what is best for the community
21+
* Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
* The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
* Trolling, insulting/derogatory comments, and personal or political attacks
28+
* Public or private harassment
29+
* Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
* Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team at [email protected]. All
59+
complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72+
73+
[homepage]: https://www.contributor-covenant.org

CONTRIBUTING.md

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Contributing to the Pulumi ecosystem
2+
3+
Do you want to contribute to Pulumi? Awesome! We are so happy to have you.
4+
We have a few tips and housekeeping items to help you get up and running.
5+
6+
## Code of Conduct
7+
8+
Please make sure to read and observe our [Code of Conduct](./CODE-OF-CONDUCT.md)
9+
10+
## Community Expectations
11+
12+
Please read about our [contribution guidelines here.](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md#communications)
13+
14+
## Setting up your development environment
15+
16+
### Pulumi prerequisites
17+
18+
Please refer to the [main Pulumi repo](https://github.com/pulumi/pulumi/)'s [CONTRIBUTING.md file](
19+
https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md#developing) for details on how to get set up with Pulumi.
20+
21+
## Committing Generated Code
22+
23+
You must generate and check in the SDKs on each pull request containing a code change, e.g. adding a new resource to `resources.go`.
24+
25+
1. Run `make build_sdks` from the root of this repository
26+
1. Open a pull request containing all changes
27+
1. *Note:* If a large number of seemingly-unrelated diffs are produced by `make build_sdks` (for example, lots of changes to comments unrelated to the change you are making), ensure that the latest dependencies for the provider are installed by running `go mod tidy` in the `provider/` directory of this repository.
28+
29+
## Running Integration Tests
30+
31+
The examples and integration tests in this repository will create and destroy real
32+
cloud resources while running. Before running these tests, make sure that you have
33+
configured access to your cloud provider with Pulumi.
34+
35+
_TODO: Add any steps you need to take to run integration tests here_
36+

COPYRIGHT

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Except as otherwise noted below and/or in individual files, this
2+
project is licensed under the Apache License, Version 2.0 (see
3+
LICENSE or <http://www.apache.org/licenses/LICENSE-2.0>).
4+
5+
This project is a larger work that combines with software written
6+
by third parties, licensed under their own terms.
7+
8+
Notably, this larger work combines with the Terraform AWS Provider,
9+
which is licensed under the Mozilla Public License 2.0 (see
10+
<https://www.mozilla.org/en-US/MPL/2.0/> or the project itself at
11+
<https://github.com/terraform-providers/terraform-provider-aws>).

0 commit comments

Comments
 (0)