Skip to content

Commit

Permalink
Merge pull request #6 from turkenf/marketplace-prep
Browse files Browse the repository at this point in the history
Provider Azuread as an Official Provider
  • Loading branch information
turkenf authored Dec 26, 2022
2 parents 19630db + 23f39c6 commit 56b9a73
Show file tree
Hide file tree
Showing 14 changed files with 546 additions and 53 deletions.
42 changes: 42 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
name: Bug Report
about: Help us diagnose and fix bugs in Official Azuread Provider
labels: bug
title: "azuread: `Principal` CRD is not working..."
---
<!--
Thank you for helping to improve Official Azuread Provider!
Please be sure to search for open issues before raising a new one. We use issues
for bug reports and feature requests.
-->

### What happened?
<!--
Please let us know what behaviour you expected and how Official Azuread Provider diverged from
that behaviour.
-->


### How can we reproduce it?
<!--
Help us to reproduce your bug as succinctly and precisely as possible. Artifacts
such as example manifests or a script that triggers the issue are highly
appreciated!
-->

### What environment did it happen in?

* Universal Crossplane Version:
* Provider Version:

<!--
Include at least the version or commit of Official Azuread Provider you were running. Consider
also including your:
* Cloud provider or hardware configuration
* Kubernetes version (use `kubectl version`)
* Kubernetes distribution (e.g. Tectonic, GKE, OpenShift)
* OS (e.g. from /etc/os-release)
* Kernel (e.g. `uname -a`)
-->
25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: Feature Request
about: Help us make Official Azuread Provider more useful
labels: enhancement
title: "A new auth option"
---
<!--
Thank you for helping to improve Official Azuread Provider!
Please be sure to search for open issues before raising a new one. We use issues
for bug reports and feature requests.
-->

### What problem are you facing?

<!--
Please tell us a little about your use case - it's okay if it's hypothetical!
Leading with this context helps frame the feature request so we can ensure we
implement it sensibly.
--->

### How could Official Azuread Provider help solve your problem?
<!--
Let us know how you think Official Azuread Provider could help with your use case.
-->
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/new_resource_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: New Resource Request
about: Help us know what resource you need is missing.
labels: new-resource
title: "Request for `azuread_application` resource"
---
<!--
Thank you for helping to improve Official Azuread Provider!
Please be sure to search for open issues before raising a new one. We use issues
for bug reports and feature requests.
-->

### What resource do you need?

Azuread Resource Name:
<!--
Please let us know the name of the resource you need.
-->


### What is your use case?
<!--
Help us for prioritization of the resource support by giving more details about
why you need it.
-->
11 changes: 4 additions & 7 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<!--
Thank you for helping to improve Crossplane!
Thank you for helping to improve Official Azuread Provider!
Please read through https://git.io/fj2m9 if this is your first time opening a
Crossplane pull request. Find us in https://slack.crossplane.io/messages/dev if
Official Azuread Provider pull request. Find us in https://crossplane.slack.com/archives/C01TRKD4623 if
you need any help contributing.
-->

Expand All @@ -12,7 +12,7 @@ you need any help contributing.
Briefly describe what this pull request does. Be sure to direct your reviewers'
attention to anything that needs special consideration.
We love pull requests that resolve an open Crossplane issue. If yours does, you
We love pull requests that resolve an open Official Azuread Provider issue. If yours does, you
can uncomment the below line to indicate which issue your PR fixes, for example
"Fixes #500":
Expand All @@ -21,8 +21,7 @@ Fixes #

I have:

- [ ] Read and followed Crossplane's [contribution process].
- [ ] Run `make reviewable test` to ensure this PR is ready for review.
- [ ] Run `make reviewable` to ensure this PR is ready for review.

### How has this code been tested

Expand All @@ -31,5 +30,3 @@ Before reviewers can be confident in the correctness of this pull request, it
needs to tested and shown to be correct. Briefly describe the testing that has
already been done or which is planned for this change.
-->

[contribution process]: https://git.io/fj2m9
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,7 @@ cover.out
# ignore IDE folders
.vscode/
.idea/

# common credentials
kubeconfig
credentials.json
8 changes: 8 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,10 @@ CROSSPLANE_NAMESPACE = upbound-system
-include build/makelib/local.xpkg.mk
-include build/makelib/controlplane.mk

# This target requires the following environment variables to be set:
# - UPTEST_EXAMPLE_LIST, a comma-separated list of examples to test
# - UPTEST_CLOUD_CREDENTIALS (optional), cloud credentials for the provider being tested, e.g. export UPTEST_CLOUD_CREDENTIALS=$(cat ~/.aws/credentials)
# - UPTEST_DATASOURCE_PATH (optional), see https://github.com/upbound/uptest#injecting-dynamic-values-and-datasource
uptest: $(UPTEST) $(KUBECTL) $(KUTTL)
@$(INFO) running automated tests
@KUBECTL=$(KUBECTL) KUTTL=$(KUTTL) $(UPTEST) e2e "${UPTEST_EXAMPLE_LIST}" --setup-script=cluster/test/setup.sh || $(FAIL)
Expand All @@ -173,6 +177,10 @@ local-deploy: build controlplane.up local.xpkg.deploy.provider.$(PROJECT_NAME)
@$(KUBECTL) -n upbound-system wait --for=condition=Available deployment --all --timeout=5m
@$(OK) running locally built provider

# This target requires the following environment variables to be set:
# - UPTEST_CLOUD_CREDENTIALS, cloud credentials for the provider being tested, e.g. export UPTEST_CLOUD_CREDENTIALS=$(cat ~/.aws/credentials)
# - UPTEST_EXAMPLE_LIST, a comma-separated list of examples to test
# - UPTEST_DATASOURCE_PATH, see https://github.com/upbound/uptest#injecting-dynamic-values-and-datasource
e2e: local-deploy uptest

.PHONY: cobertura submodules fallthrough run crds.clean
Expand Down
37 changes: 37 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
This project is a larger work that combines with software written by third
parties, licensed under their own terms.

Notably, this larger work combines with the following Terraform components,
which are licensed under the Mozilla Public License 2.0 (see
<https://www.mozilla.org/en-US/MPL/2.0/> or the individual projects listed
below).
<https://github.com/hashicorp/terraform-provider-azuread>
<https://github.com/hashicorp/terraform>
<https://github.com/hashicorp/terraform-json>
<https://github.com/hashicorp/terraform-plugin-sdk>
<https://github.com/hashicorp/go-getter>
<https://github.com/hashicorp/vault>
<https://github.com/hashicorp/errwrap>
<https://github.com/hashicorp/go-cleanhttp>
<https://github.com/hashicorp/go-cty>
<https://github.com/hashicorp/go-hclog>
<https://github.com/hashicorp/go-multierror>
<https://github.com/hashicorp/go-safetemp>
<https://github.com/hashicorp/go-uuid>
<https://github.com/hashicorp/go-version>
<https://github.com/hashicorp/hcl>
<https://github.com/hashicorp/logutils>
<https://github.com/hashicorp/terraform-plugin-go>
<https://github.com/hashicorp/terraform-plugin-log>
<https://github.com/hashicorp/terraform-svchost>
<https://github.com/hashicorp/go-hclog>
<https://github.com/hashicorp/go-immutable-radix>
<https://github.com/hashicorp/go-plugin>
<https://github.com/hashicorp/go-retryablehttp>
<https://github.com/hashicorp/go-rootcerts>
<https://github.com/hashicorp/go-secure-stdlib>
<https://github.com/hashicorp/go-sockaddr>
<https://github.com/hashicorp/golang-lru>
<https://github.com/hashicorp/terraform-plugin-go>
<https://github.com/hashicorp/terraform-plugin-log>
<https://github.com/hashicorp/yamux>
71 changes: 28 additions & 43 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,45 @@
# Provider Azuread
# Official Azuread Provider

`provider-azuread` is a [Crossplane](https://crossplane.io/) provider that
is built using [Upjet](https://github.com/upbound/upjet) code
generation tools and exposes XRM-conformant managed resources for the
Azuread API.

## Getting Started
<div align="center">

Install the provider by using the following command after changing the image tag
to the [latest release](https://marketplace.upbound.io/providers/upbound/provider-azuread):
```
up ctp provider install upbound/provider-azuread:v0.1.0
```
![CI](https://github.com/upbound/provider-azuread/workflows/CI/badge.svg) [![GitHub release](https://img.shields.io/github/release/upbound/provider-azuread/all.svg?style=flat-square)](https://github.com/upbound/provider-azuread/releases) [![Go Report Card](https://goreportcard.com/badge/github.com/upbound/provider-azuread)](https://goreportcard.com/report/github.com/upbound/provider-azuread) [![Slack](https://slack.crossplane.io/badge.svg)](https://crossplane.slack.com/archives/C01TRKD4623) [![Twitter Follow](https://img.shields.io/twitter/follow/upbound_io.svg?style=social&label=Follow)](https://twitter.com/intent/follow?screen_name=upbound_io&user_id=788180534543339520)

Alternatively, you can use declarative installation:
```
cat <<EOF | kubectl apply -f -
apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
name: provider-azuread
spec:
package: upbound/provider-azuread:v0.1.0
EOF
```
</div>

Notice that in this example Provider resource is referencing ControllerConfig with debug enabled.

You can see the API reference [here](https://doc.crds.dev/github.com/upbound/provider-azuread).
Provider Azuread is a [Crossplane](https://crossplane.io/) provider that
is built using [Upjet](https://github.com/upbound/upjet) code
generation tools and exposes XRM-conformant managed resources for
[Microsoft Azure Active Directory](https://azure.microsoft.com/en-us/products/active-directory/).

## Developing
## Getting Started

Run code-generation pipeline:
```console
go run cmd/generator/main.go "$PWD"
```
Follow the quick start guide [here](https://marketplace.upbound.io/providers/upbound/provider-azuread/latest/docs/quickstart).

Run against a Kubernetes cluster:
You can find a detailed API reference with all CRDs and examples [here](https://marketplace.upbound.io/providers/upbound/provider-azuread/latest/crds).

```console
make run
```
## Contributing

Build, push, and install:
For the general contribution guide, see [Upjet Contribution Guide](https://github.com/upbound/upjet/blob/main/CONTRIBUTING.md)

```console
make all
```
If you'd like to learn how to use Upjet, see [Usage Guide](https://github.com/upbound/upjet/tree/main/docs).

Build binary:
### Add a New Resource

```console
make build
```
Follow the guide [here](https://github.com/upbound/upjet/blob/main/docs/add-new-resource-short.md).

## Report a Bug

For filing bugs, suggesting improvements, or requesting new features, please
open an [issue](https://github.com/upbound/provider-azuread/issues).

## Contact

Please open a Github issue for all requests. If you need to reach out to Upbound,
you can do so via the following channels:
* Slack: [#upbound](https://crossplane.slack.com/archives/C01TRKD4623) channel in [Crossplane Slack](https://slack.crossplane.io)
* Twitter: [@upbound_io](https://twitter.com/upbound_io)
* Email: [[email protected]](mailto:[email protected])

## Licensing

Provider Azuread is under [the Apache 2.0 license](LICENSE) with [notice](NOTICE).
Loading

0 comments on commit 56b9a73

Please sign in to comment.