rename to crossplane

make build and make test now work.
This commit is contained in:
Bassam Tabbara 2018-11-19 12:53:07 -08:00
parent c913a2d017
commit acb7bccc36
No known key found for this signature in database
GPG Key ID: 401196135BB925FB
227 changed files with 805 additions and 733 deletions

View File

@ -1,6 +1,6 @@
## How to Contribute
The Conductor project is under [Apache 2.0 license](LICENSE). We accept contributions via
The Crossplane project is under [Apache 2.0 license](LICENSE). We accept contributions via
GitHub pull requests. This document outlines some of the conventions related to
development workflow, commit message formatting, contact points and other
resources to make it easier to get your contribution accepted.
@ -57,11 +57,11 @@ This is a rough outline of what a contributor's workflow looks like:
## Building
Details about building conductor can be found in [INSTALL.md](INSTALL.md).
Details about building crossplane can be found in [INSTALL.md](INSTALL.md).
## Coding Style
Conductor projects are written in golang and follows the style guidelines dictated by
Crossplane projects are written in golang and follows the style guidelines dictated by
the go fmt as well as go vet tools.
## Comments
@ -72,13 +72,13 @@ be created if they do not yet exist and updated if they do.
The goal of comments is to make the code more readable and grokkable by future developers. Once you
have made your code as understandable as possible, add comments to make sure future developers can
understand (A) what this piece of code's responsibility is within Conductor's architecture and (B) why it
understand (A) what this piece of code's responsibility is within Crossplane's architecture and (B) why it
was written as it was.
The below blog entry explains more the why's and how's of this guideline.
https://blog.codinghorror.com/code-tells-you-how-comments-tell-you-why/
For Go, Conductor follows standard godoc guidelines.
For Go, Crossplane follows standard godoc guidelines.
A concise godoc guideline can be found here: https://blog.golang.org/godoc-documenting-go-code
## Commit Messages
@ -112,9 +112,9 @@ git tools.
## Adding New Resources
### Project Organization
The Conductor project is based on and intially created by using [Kubebuilder is a framework for building Kubernetes APIs](https://github.com/kubernetes-sigs/kubebuilder).
The Crossplane project is based on and intially created by using [Kubebuilder is a framework for building Kubernetes APIs](https://github.com/kubernetes-sigs/kubebuilder).
The Conductor project organizes resources (api types and controllers) by grouping them by Cloud Provider with further sub-group by resource type
The Crossplane project organizes resources (api types and controllers) by grouping them by Cloud Provider with further sub-group by resource type
The Kubebuilder framework does not provide good support for projects with multiple groups and group tiers which contain resources with overlapping names.
For example:
@ -168,7 +168,7 @@ There are several different ways you can approach the creation of the new resour
Good ol' copy & paste of existing resource for both apis and controller (if new controller is needed) and update to tailor your needs.
#### Kubebuilder With New Project
Create and Initialize a new (temporary) kubebuilder project and create new resources: apis and controller(s), then copy them into Conductor project following the established project organization.
Create and Initialize a new (temporary) kubebuilder project and create new resources: apis and controller(s), then copy them into Crossplane project following the established project organization.
To verify that new artifacts run:
```bash

View File

@ -1,6 +1,6 @@
# Building and Installing Conductor
# Building and Installing Crossplane
Conductor is composed of golang project and can be built directly with standard `golang` tools. We currently support
Crossplane is composed of golang project and can be built directly with standard `golang` tools. We currently support
two different platforms for building:
* Linux: most modern distros should work although most testing has been done on Ubuntu
@ -28,7 +28,7 @@ First ensure that you have the build submodule synced and updated:
git submodule sync && git submodule update --init --recursive
```
You can then build the Conductor binaries and all container images for the host platform by simply running the
You can then build the Crossplane binaries and all container images for the host platform by simply running the
command below. Building in parallel with the `-j` option is recommended.
```
@ -39,7 +39,7 @@ Run `make help` for more options.
## Building inside the cross container
Official Conductor builds are done inside a build container. This ensures that we get a consistent build, test and release environment. To run the build inside the cross container run:
Official Crossplane builds are done inside a build container. This ensures that we get a consistent build, test and release environment. To run the build inside the cross container run:
```
> build/run make -j4
@ -130,13 +130,13 @@ systemctl enable update-binfmt.service
# Install
## Local
Please refer to [Local Build & Install](/cluster/local/README.md) documentation on how to deploy locally built Conductor image onto Kubernetes cluster running on Minikube
Please refer to [Local Build & Install](/cluster/local/README.md) documentation on how to deploy locally built Crossplane image onto Kubernetes cluster running on Minikube
# Improving Build Speed
## Image Caching and Pruning
Doing a complete build of Conductor and the dependent packages can take a long time (more than an hour on a typical macbook). To speed things up we rely heavily on image caching in docker. Docker support content-addressable images by default and we use that effectively when building images. Images are factored to increase reusability across builds. We also tag and timestamp images that should remain in the cache to help future builds.
Doing a complete build of Crossplane and the dependent packages can take a long time (more than an hour on a typical macbook). To speed things up we rely heavily on image caching in docker. Docker support content-addressable images by default and we use that effectively when building images. Images are factored to increase reusability across builds. We also tag and timestamp images that should remain in the cache to help future builds.
### Pruning the cache
@ -149,5 +149,5 @@ To prune the number of cached images run `make prune`. There are two options tha
Every PR and every merge to master triggers the CI process in [TBD](http://TBD).
The Jenkins CI will build, run unit tests, run integration tests and Publish artifacts- On every commit to PR and master.
If any of the CI stages fail, then the process is aborted and no artifacts are published.
On every successful build Artifacts are pushed to a [s3 bucket](https://release.conductor.io/). On every successful master build,
On every successful build Artifacts are pushed to a [s3 bucket](https://release.crossplane.io/). On every successful master build,
images are uploaded to docker hub in addition.

View File

@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2016 The Conductor Authors. All rights reserved.
Copyright 2016 The Crossplane Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,8 +1,8 @@
# ====================================================================================
# Setup Project
PROJECT_NAME := conductor
PROJECT_REPO := github.com/upbound/$(PROJECT_NAME)
PROJECT_NAME := crossplane
PROJECT_REPO := github.com/crossplaneio/$(PROJECT_NAME)
PLATFORMS ?= linux_amd64
include build/makelib/common.mk
@ -10,7 +10,7 @@ include build/makelib/common.mk
# ====================================================================================
# Setup Output
S3_BUCKET ?= upbound.releases/conductor
S3_BUCKET ?= upbound.releases/crossplane
include build/makelib/output.mk
# ====================================================================================
@ -21,7 +21,7 @@ include build/makelib/output.mk
# to half the number of CPU cores.
GO_TEST_PARALLEL := $(shell echo $$(( $(NPROCS) / 2 )))
GO_STATIC_PACKAGES = $(GO_PROJECT)/cmd/conductor
GO_STATIC_PACKAGES = $(GO_PROJECT)/cmd/crossplane
GO_LDFLAGS += -X $(GO_PROJECT)/pkg/version.Version=$(VERSION)
include build/makelib/golang.mk
@ -30,8 +30,8 @@ include build/makelib/golang.mk
HELM_BASE_URL = https://charts.upbound.io
HELM_S3_BUCKET = upbound.charts
HELM_CHARTS = conductor
HELM_CHART_LINT_ARGS_conductor = --set nameOverride='',imagePullSecrets=''
HELM_CHARTS = crossplane
HELM_CHART_LINT_ARGS_crossplane = --set nameOverride='',imagePullSecrets=''
include build/makelib/helm.mk
# ====================================================================================
@ -43,7 +43,7 @@ include build/makelib/kubebuilder.mk
# Setup Images
DOCKER_REGISTRY = upbound
IMAGES = conductor
IMAGES = crossplane
include build/makelib/image.mk
# ====================================================================================
@ -53,4 +53,4 @@ include build/makelib/image.mk
# Generate manifests e.g. CRD, RBAC etc.
manifests:
go run vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go crd --output-dir cluster/charts/conductor/crds --nested
go run vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go crd --output-dir cluster/charts/crossplane/crds --nested

View File

@ -1,3 +1,3 @@
version: "1"
domain: conductor.io
repo: github.com/upbound/conductor
domain: crossplane.io
repo: github.com/crossplaneio/crossplane

View File

@ -1,14 +1,14 @@
# Project Conductor (codename)
# Project Crossplane (codename)
## What is Conductor?
## What is Crossplane?
Conductor is an open source **external-resource-definition** for Kubernetes , providing the platform, framework, and support for a diverse set of the managed resources offered by major cloud providers (Currently focused on AWS and GCP)
Crossplane is an open source **external-resource-definition** for Kubernetes , providing the platform, framework, and support for a diverse set of the managed resources offered by major cloud providers (Currently focused on AWS and GCP)
Conductor turns storage software into self-managing, self-scaling, and self-healing of managed cloud resources. Conductor extends the facilities provided by Kubernetes such container management, scheduling and orchestration to the external resources.
Crossplane turns storage software into self-managing, self-scaling, and self-healing of managed cloud resources. Crossplane extends the facilities provided by Kubernetes such container management, scheduling and orchestration to the external resources.
Conductor integrates deeply into cloud native environments leveraging extension points and providing a seamless experience for scheduling, lifecycle management, resource management, security, monitoring, and user experience.
Crossplane integrates deeply into cloud native environments leveraging extension points and providing a seamless experience for scheduling, lifecycle management, resource management, security, monitoring, and user experience.
For more details about the cloud providers and resources currently supported by Conductor, please refer to the [project status section](#project-status) below.
For more details about the cloud providers and resources currently supported by Crossplane, please refer to the [project status section](#project-status) below.
We plan to continue adding support for other cloud providers and resource based on community demand and engagement in future releases. See our [roadmap](ROADMAP.md) for more details.
## Contributing
@ -17,11 +17,11 @@ We welcome contributions. See [Contributing](CONTRIBUTING.md) to get started.
## Report a Bug
For filing bugs, suggesting improvements, or requesting new features, please open an [issue](https://github.com/upbound/conductor/issues).
For filing bugs, suggesting improvements, or requesting new features, please open an [issue](https://github.com/crossplaneio/crossplane/issues).
## Project Status
The status of each storage provider supported by Conductor can be found in the table below.
The status of each storage provider supported by Crossplane can be found in the table below.
Each API group is assigned its own individual status to reflect their varying maturity and stability.
More details about API versioning and status in Kubernetes can be found on the Kubernetes [API versioning page](https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-versioning), but the key difference between the statuses are summarized below:
@ -32,15 +32,15 @@ More details about API versioning and status in Kubernetes can be found on the K
| Name | Details | API Group | Status |
| ----- | --------- | ----------- | -------- |
| AWS Database | Database storage services in AWS | database.aws.conductor.io/v1alpha1 | Alpha |
| GCP Database | Database storage services in GCP | database.gcp.conductor.io/v1alpha1 | Alpha |
| AWS Database | Database storage services in AWS | database.aws.crossplane.io/v1alpha1 | Alpha |
| GCP Database | Database storage services in GCP | database.gcp.crossplane.io/v1alpha1 | Alpha |
### Official Releases
Official releases of Conductor can be found on the [releases page](https://github.com/upbound/conductor/releases).
Please note that it is **strongly recommended** that you use [official releases](https://github.com/upbound/conductor/releases) of Conductor, as unreleased versions from the master branch are subject to changes and incompatibilities that will not be supported in the official releases.
Official releases of Crossplane can be found on the [releases page](https://github.com/crossplaneio/crossplane/releases).
Please note that it is **strongly recommended** that you use [official releases](https://github.com/crossplaneio/crossplane/releases) of Crossplane, as unreleased versions from the master branch are subject to changes and incompatibilities that will not be supported in the official releases.
Builds from the master branch can have functionality changed and even removed at any time without compatibility support and without prior notice.
## Licensing
Conductor is under the Apache 2.0 license.
Crossplane is under the Apache 2.0 license.

View File

@ -1,12 +1,12 @@
# Roadmap
This document defines a high level roadmap for Conductor development and upcoming releases.
This document defines a high level roadmap for Crossplane development and upcoming releases.
The features and themes included in each milestone are optimistic in the sense that many do not have clear owners yet.
Community and contributor involvement is vital for successfully implementing all desired items for each release.
We hope that the items listed below will inspire further engagement from the community to keep Conductor progressing and shipping exciting and valuable features.
We hope that the items listed below will inspire further engagement from the community to keep Crossplane progressing and shipping exciting and valuable features.
Any dates listed below and the specific issues that will ship in a given milestone are subject to change but should give a general idea of what we are planning.
We use the [milestone](https://github.com/upbound/conductor/milestones) feature in Github so look there for the most up-to-date and issue plan.
We use the [milestone](https://github.com/crossplaneio/crossplane/milestones) feature in Github so look there for the most up-to-date and issue plan.
## v0.1
@ -26,7 +26,7 @@ We use the [milestone](https://github.com/upbound/conductor/milestones) feature
* New isolated jenkins instance (similar to Rook's jenkins)
* Developer unit testing with high code coverage
* Integration testing pipeline
* Artifact publishing (container images, conductor helm chart, etc.)
* Artifact publishing (container images, crossplane helm chart, etc.)
* Documentation
* User guides, quick-starts, walkthroughs
* Godocs developer docs for source code/packages/libraries

View File

@ -4,9 +4,9 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: eksclusters.container.aws.conductor.io
name: eksclusters.container.aws.crossplane.io
spec:
group: container.aws.conductor.io
group: container.aws.crossplane.io
names:
kind: EKSCluster
plural: eksclusters

View File

@ -4,9 +4,9 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: workloads.compute.conductor.io
name: workloads.compute.crossplane.io
spec:
group: compute.conductor.io
group: compute.crossplane.io
names:
kind: Workload
plural: workloads

View File

@ -1,6 +1,6 @@
apiVersion: v1
appVersion: 0.0.1
description: Conductor - Managed Cloud Resources Operator
description: Crossplane - Managed Cloud Resources Operator
icon: https://upbound.io/images/balloon.svg
name: conductor
name: crossplane
version: 0.0.1

View File

@ -4,9 +4,9 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: eksclusters.compute.aws.conductor.io
name: eksclusters.compute.aws.crossplane.io
spec:
group: compute.aws.conductor.io
group: compute.aws.crossplane.io
names:
kind: EKSCluster
plural: eksclusters
@ -60,10 +60,6 @@ spec:
properties:
endpoint:
type: string
message:
type: string
providerID:
type: string
resourceName:
type: string
state:

View File

@ -4,9 +4,9 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: rdsinstances.database.aws.conductor.io
name: rdsinstances.database.aws.crossplane.io
spec:
group: database.aws.conductor.io
group: database.aws.crossplane.io
names:
kind: RDSInstance
plural: rdsinstances

View File

@ -4,9 +4,9 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: s3buckets.storage.aws.conductor.io
name: s3buckets.storage.aws.crossplane.io
spec:
group: storage.aws.conductor.io
group: storage.aws.crossplane.io
names:
kind: S3Bucket
plural: s3buckets

View File

@ -4,9 +4,9 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: providers.aws.conductor.io
name: providers.aws.crossplane.io
spec:
group: aws.conductor.io
group: aws.crossplane.io
names:
kind: Provider
plural: providers

View File

@ -4,9 +4,9 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: mysqlservers.database.azure.conductor.io
name: mysqlservers.database.azure.crossplane.io
spec:
group: database.azure.conductor.io
group: database.azure.crossplane.io
names:
kind: MysqlServer
plural: mysqlservers

View File

@ -4,9 +4,9 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: azurebuckets.storage.azure.conductor.io
name: azurebuckets.storage.azure.crossplane.io
spec:
group: storage.azure.conductor.io
group: storage.azure.crossplane.io
names:
kind: AzureBucket
plural: azurebuckets

View File

@ -4,9 +4,9 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: providers.azure.conductor.io
name: providers.azure.crossplane.io
spec:
group: azure.conductor.io
group: azure.crossplane.io
names:
kind: Provider
plural: providers

View File

@ -4,9 +4,9 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: kubernetesclusters.compute.conductor.io
name: kubernetesclusters.compute.crossplane.io
spec:
group: compute.conductor.io
group: compute.crossplane.io
names:
kind: KubernetesCluster
plural: kubernetesclusters

View File

@ -0,0 +1,76 @@
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: workloads.compute.crossplane.io
spec:
group: compute.crossplane.io
names:
kind: Workload
plural: workloads
scope: Namespaced
validation:
openAPIV3Schema:
properties:
apiVersion:
type: string
kind:
type: string
metadata:
type: object
spec:
properties:
classReference:
type: object
clusterVersion:
type: string
resourceName:
type: object
resources:
items:
properties:
apiVersion:
type: string
fieldPath:
type: string
kind:
type: string
name:
type: string
namespace:
type: string
resourceVersion:
type: string
secretName:
type: string
uid:
type: string
required:
- secretName
type: object
type: array
selector:
type: object
targetDeployment:
type: object
targetNamespace:
type: string
targetService:
type: object
required:
- resources
type: object
status:
properties:
provisioner:
type: string
type: object
version: v1alpha1
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

View File

@ -4,9 +4,9 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: resourceclasses.core.conductor.io
name: resourceclasses.core.crossplane.io
spec:
group: core.conductor.io
group: core.crossplane.io
names:
kind: ResourceClass
plural: resourceclasses

View File

@ -4,9 +4,9 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: gkeclusters.compute.gcp.conductor.io
name: gkeclusters.compute.gcp.crossplane.io
spec:
group: compute.gcp.conductor.io
group: compute.gcp.crossplane.io
names:
kind: GKECluster
plural: gkeclusters

View File

@ -4,9 +4,9 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: eksclusters.container.gcp.conductor.io
name: eksclusters.container.gcp.crossplane.io
spec:
group: container.gcp.conductor.io
group: container.gcp.crossplane.io
names:
kind: EKSCluster
plural: eksclusters

View File

@ -4,9 +4,9 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: cloudsqlinstances.database.gcp.conductor.io
name: cloudsqlinstances.database.gcp.crossplane.io
spec:
group: database.gcp.conductor.io
group: database.gcp.crossplane.io
names:
kind: CloudsqlInstance
plural: cloudsqlinstances

View File

@ -4,9 +4,9 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: gcpbuckets.storage.gcp.conductor.io
name: gcpbuckets.storage.gcp.crossplane.io
spec:
group: storage.gcp.conductor.io
group: storage.gcp.crossplane.io
names:
kind: GCPBucket
plural: gcpbuckets

View File

@ -4,9 +4,9 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: providers.gcp.conductor.io
name: providers.gcp.crossplane.io
spec:
group: gcp.conductor.io
group: gcp.crossplane.io
names:
kind: Provider
plural: providers

View File

@ -4,9 +4,9 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: buckets.storage.conductor.io
name: buckets.storage.crossplane.io
spec:
group: storage.conductor.io
group: storage.crossplane.io
names:
kind: Bucket
plural: buckets

View File

@ -4,9 +4,9 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: mysqlinstances.storage.conductor.io
name: mysqlinstances.storage.crossplane.io
spec:
group: storage.conductor.io
group: storage.crossplane.io
names:
kind: MySQLInstance
plural: mysqlinstances

View File

@ -48,14 +48,14 @@ rules:
- patch
- delete
- apiGroups:
- storage.conductor.io
- core.conductor.io
- aws.conductor.io
- database.aws.conductor.io
- azure.conductor.io
- database.azure.conductor.io
- gcp.conductor.io
- database.gcp.conductor.io
- storage.crossplane.io
- core.crossplane.io
- aws.crossplane.io
- database.aws.crossplane.io
- azure.crossplane.io
- database.azure.crossplane.io
- gcp.crossplane.io
- database.gcp.crossplane.io
resources:
- "*"
verbs:

View File

@ -3,7 +3,7 @@ replicas: 1
deploymentStrategy: RollingUpdate
image:
repository: upbound/conductor
repository: upbound/crossplane
tag: %%VERSION%%
pullPolicy: Always

View File

@ -1,14 +1,14 @@
apiVersion: core.conductor.io/v1alpha1
apiVersion: core.crossplane.io/v1alpha1
kind: ResourceClass
metadata:
name: standard
namespace: conductor-system
namespace: crossplane-system
parameters:
class: db.t2.small
masterUsername: masteruser
securityGroups:
size: 20
provisioner: mysql.rds.aws.conductor.io
provisioner: mysql.rds.aws.crossplane.io
providerRef:
name: demo-aws-provider
reclaimPolicy: Delete

View File

@ -1,4 +1,4 @@
apiVersion: database.aws.conductor.io/v1alpha1
apiVersion: database.aws.crossplane.io/v1alpha1
kind: RDSInstance
metadata:
name: demo-rds

View File

@ -1,4 +1,4 @@
apiVersion: database.gcp.conductor.io/v1alpha1
apiVersion: database.gcp.crossplane.io/v1alpha1
kind: CloudsqlInstance
metadata:
labels:

View File

@ -1,4 +1,4 @@
apiVersion: compute.gcp.conductor.io/v1alpha1
apiVersion: compute.gcp.crossplane.io/v1alpha1
kind: GKECluster
metadata:
name: demo-cluster

View File

@ -4,31 +4,31 @@ data:
kind: Secret
metadata:
name: aws-creds
namespace: conductor-system
namespace: crossplane-system
type: Opaque
---
apiVersion: aws.conductor.io/v1alpha1
apiVersion: aws.crossplane.io/v1alpha1
kind: Provider
metadata:
name: aws-provider
namespace: conductor-system
namespace: crossplane-system
spec:
credentialsSecretRef:
key: credentials
name: aws-creds
region: us-east-1
---
apiVersion: core.conductor.io/v1alpha1
apiVersion: core.crossplane.io/v1alpha1
kind: ResourceClass
metadata:
name: standard
namespace: conductor-system
namespace: crossplane-system
parameters:
class: db.t2.small
masterUsername: masteruser
securityGroups: "sg-ab1cdefg,sg-05adsfkaj1ksdjak"
size: "20"
provisioner: rdsinstance.database.aws.conductor.io/v1alpha1
provisioner: rdsinstance.database.aws.crossplane.io/v1alpha1
providerRef:
name: aws-provider
reclaimPolicy: Delete

View File

@ -1,4 +1,4 @@
apiVersion: storage.conductor.io/v1alpha1
apiVersion: storage.crossplane.io/v1alpha1
kind: Bucket
metadata:
name: demo-bucket
@ -6,14 +6,14 @@ spec:
name: wordpress-demo-e401ddfa-4729-4b72-bcef-94922203b547
predefinedACL: private
---
apiVersion: storage.conductor.io/v1alpha1
apiVersion: storage.crossplane.io/v1alpha1
kind: MySQLInstance
metadata:
name: mysql-instance
spec:
classReference:
name: standard
namespace: conductor-system
namespace: crossplane-system
engineVersion: "5.7"
---
apiVersion: extensions/v1beta1

View File

@ -9,7 +9,7 @@ data:
credentials: BASE64ENCODED_AWS_PROVIDER_CREDS
---
# AWS Provider with credential secret reference - used to provision aws resources
apiVersion: aws.conductor.io/v1alpha1
apiVersion: aws.crossplane.io/v1alpha1
kind: Provider
metadata:
name: demo-aws-provider

View File

@ -1,4 +1,4 @@
apiVersion: storage.aws.conductor.io/v1alpha1
apiVersion: storage.aws.crossplane.io/v1alpha1
kind: S3Bucket
metadata:
name: demo-bucket
@ -9,7 +9,7 @@ spec:
providerRef:
name: demo-aws-provider
---
apiVersion: database.aws.conductor.io/v1alpha1
apiVersion: database.aws.crossplane.io/v1alpha1
kind: RDSInstance
metadata:
name: demo-rds

View File

@ -4,17 +4,17 @@ apiVersion: v1
kind: Secret
metadata:
name: azure-provider-creds
namespace: conductor-system
namespace: crossplane-system
type: Opaque
data:
credentials: BASE64ENCODED_AZURE_PROVIDER_CREDS
---
# Azure Provider with service principal secret reference - used to provision sql resources
apiVersion: azure.conductor.io/v1alpha1
apiVersion: azure.crossplane.io/v1alpha1
kind: Provider
metadata:
name: azure-sql-provider
namespace: conductor-system
namespace: crossplane-system
spec:
credentialsSecretRef:
name: azure-provider-creds
@ -22,11 +22,11 @@ spec:
---
# ResourceClass that defines the blueprint for how a "standard" Azure MySQL Server
# should be dynamically provisioned
apiVersion: core.conductor.io/v1alpha1
apiVersion: core.crossplane.io/v1alpha1
kind: ResourceClass
metadata:
name: standard
namespace: conductor-system
namespace: crossplane-system
parameters:
adminLoginName: myadmin
resourceGroupName: group-westus-1
@ -38,7 +38,7 @@ parameters:
storageGB: "25"
backupRetentionDays: "7"
geoRedundantBackup: "false"
provisioner: mysqlserver.database.azure.conductor.io/v1alpha1
provisioner: mysqlserver.database.azure.crossplane.io/v1alpha1
providerRef:
name: azure-sql-provider
reclaimPolicy: Delete

View File

@ -1,11 +1,11 @@
apiVersion: storage.conductor.io/v1alpha1
apiVersion: storage.crossplane.io/v1alpha1
kind: MySQLInstance
metadata:
name: mysql-instance
spec:
classReference:
name: standard
namespace: conductor-system
namespace: crossplane-system
engineVersion: "5.7"
---
apiVersion: extensions/v1beta1

View File

@ -9,7 +9,7 @@ data:
credentials.json: BASE64ENCODED_AZURE_PROVIDER_CREDS
---
# Azure Provider with service principal secret reference - used to provision sql resources
apiVersion: azure.conductor.io/v1alpha1
apiVersion: azure.crossplane.io/v1alpha1
kind: Provider
metadata:
name: azure-sql-provider

View File

@ -1,8 +1,8 @@
apiVersion: database.azure.conductor.io/v1alpha1
apiVersion: database.azure.crossplane.io/v1alpha1
kind: MysqlServer
metadata:
labels:
name: conductor-wordpress-mysql
name: crossplane-wordpress-mysql
spec:
providerRef:
name: azure-sql-provider

View File

@ -4,17 +4,17 @@ apiVersion: v1
kind: Secret
metadata:
name: gcp-provider-creds
namespace: conductor-system
namespace: crossplane-system
type: Opaque
data:
credentials.json: BASE64ENCODED_GCP_PROVIDER_CREDS
---
# GCP Provider with service account secret reference - used to provision sql resources
apiVersion: gcp.conductor.io/v1alpha1
apiVersion: gcp.crossplane.io/v1alpha1
kind: Provider
metadata:
name: gcp-sql-provider
namespace: conductor-system
namespace: crossplane-system
spec:
credentialsSecretRef:
name: gcp-provider-creds
@ -25,16 +25,16 @@ spec:
---
# ResourceClass that defines the blueprint for how a "standard" CloudSQL instance
# should be dynamically provisioned
apiVersion: core.conductor.io/v1alpha1
apiVersion: core.crossplane.io/v1alpha1
kind: ResourceClass
metadata:
name: standard
namespace: conductor-system
namespace: crossplane-system
parameters:
tier: db-n1-standard-1
region: us-west2
storageType: PD_SSD
provisioner: cloudsqlinstance.database.gcp.conductor.io/v1alpha1
provisioner: cloudsqlinstance.database.gcp.crossplane.io/v1alpha1
providerRef:
name: gcp-sql-provider
reclaimPolicy: Delete

View File

@ -10,14 +10,14 @@ type: Opaque
data:
credentials.json: BASE64ENCODED_GCP_SQL_CREDS
---
apiVersion: storage.conductor.io/v1alpha1
apiVersion: storage.crossplane.io/v1alpha1
kind: MySQLInstance
metadata:
name: mysql-instance
spec:
classReference:
name: standard
namespace: conductor-system
namespace: crossplane-system
engineVersion: "5.7"
---
apiVersion: extensions/v1beta1

View File

@ -9,7 +9,7 @@ data:
credentials.json: BASE64ENCODED_GCP_PROVIDER_CREDS
---
# GCP Provider with service account secret reference - used to provision sql resources
apiVersion: gcp.conductor.io/v1alpha1
apiVersion: gcp.crossplane.io/v1alpha1
kind: Provider
metadata:
name: gcp-sql-provider

View File

@ -10,11 +10,11 @@ type: Opaque
data:
credentials.json: BASE64ENCODED_GCP_SQL_CREDS
---
apiVersion: database.gcp.conductor.io/v1alpha1
apiVersion: database.gcp.crossplane.io/v1alpha1
kind: CloudsqlInstance
metadata:
labels:
name: conductor-wordpress-cloudsql
name: crossplane-wordpress-cloudsql
spec:
providerRef:
name: gcp-sql-provider

View File

@ -1,4 +1,4 @@
apiVersion: compute.conductor.io/v1alpha1
apiVersion: compute.crossplane.io/v1alpha1
kind: Workload
metadata:
name: my-workload
@ -6,7 +6,7 @@ metadata:
spec:
classReference:
name: cluster-class
namespace: conductor-system
namespace: crossplane-system
secretName: my-bucket-creds
clusterVersion: 1.0.1
selector: {}

View File

@ -4,7 +4,7 @@ RUN apk --no-cache add ca-certificates bash
ARG ARCH
ARG TINI_VERSION
ADD conductor /usr/local/bin/
ADD crossplane /usr/local/bin/
EXPOSE 8080
ENTRYPOINT ["conductor"]
ENTRYPOINT ["crossplane"]
CMD ["--install-crds=false"]

View File

@ -6,7 +6,7 @@ include ../../../build/makelib/common.mk
# ====================================================================================
# Options
IMAGE = $(BUILD_REGISTRY)/conductor-$(ARCH)
IMAGE = $(BUILD_REGISTRY)/crossplane-$(ARCH)
include ../../../build/makelib/image.mk
# ====================================================================================
@ -15,7 +15,7 @@ include ../../../build/makelib/image.mk
img.build:
@$(INFO) docker build $(IMAGE)
@cp Dockerfile $(IMAGE_TEMP_DIR) || $(FAIL)
@cp $(OUTPUT_DIR)/bin/$(OS)_$(ARCH)/conductor $(IMAGE_TEMP_DIR) || $(FAIL)
@cp $(OUTPUT_DIR)/bin/$(OS)_$(ARCH)/crossplane $(IMAGE_TEMP_DIR) || $(FAIL)
@cd $(IMAGE_TEMP_DIR) && $(SED_CMD) 's|BASEIMAGE|$(OSBASEIMAGE)|g' Dockerfile || $(FAIL)
@docker build $(BUILD_ARGS) \
--build-arg ARCH=$(ARCH) \

View File

@ -1,14 +1,14 @@
# Conductor Local Deployment and Test
# Crossplane Local Deployment and Test
The Local Framework is used to run end to end and integration tests on Conductor. The framework depends on a running instance of Kubernetes.
The Local Framework is used to run end to end and integration tests on Crossplane. The framework depends on a running instance of Kubernetes.
The framework also provides scripts for starting Kubernetes using `minikube` so users can
quickly spin up a Kubernetes cluster.The Local framework is designed to install Conductor, run tests, and uninstall Conductor.
quickly spin up a Kubernetes cluster.The Local framework is designed to install Crossplane, run tests, and uninstall Crossplane.
## Requirements
1. Docker version => 1.2 && < 17.0
2. Ubuntu 16 (the framework has only been tested on this version)
3. Kubernetes with kubectl configured
4. Conductor
4. Crossplane
## Instructions
@ -27,7 +27,7 @@ Starting the cluster on Minikube is as simple as running:
cluster/local/minikube.sh up
```
To copy Conductor image generated from your local build into the Minikube VM, run the following commands after `minikube.sh up` succeeded:
To copy Crossplane image generated from your local build into the Minikube VM, run the following commands after `minikube.sh up` succeeded:
```
cluster/local/minikube.sh helm-install
```
@ -44,7 +44,7 @@ cluster/local/minikube.sh
## Run Tests
From the project root do the following:
#### 1. Build conductor:
#### 1. Build crossplane:
```
make build
```
@ -54,15 +54,15 @@ make build
cluster/local/minikube.sh up
```
#### 3. Install Conductor
#### 3. Install Crossplane
```
cluster/local/minikube.sh helm-install
```
#### 4. Interact with Conductor
#### 4. Interact with Crossplane
Use `kubectl` to create and/or delete external resources CRD's in your Minikube cluster
#### 5. Uninstall Conductor
#### 5. Uninstall Crossplane
```
cluster/local/minikube.sh helm-delete
```

View File

@ -12,7 +12,7 @@ eval $(make --no-print-directory -C ${scriptdir}/../.. build.vars)
BUILD_IMAGE="${BUILD_REGISTRY}/${PROJECT_NAME}-amd64"
MINIKUBE_IMAGE="upbound/${PROJECT_NAME}:master"
DEFAULT_NAMESPACE="conductor-system"
DEFAULT_NAMESPACE="crossplane-system"
function wait_for_ssh() {
local tries=100

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -20,8 +20,8 @@ import (
"log"
"time"
"github.com/upbound/conductor/pkg/apis"
"github.com/upbound/conductor/pkg/controller"
"github.com/crossplaneio/crossplane/pkg/apis"
"github.com/crossplaneio/crossplane/pkg/controller"
"sigs.k8s.io/controller-runtime/pkg/client/config"
"sigs.k8s.io/controller-runtime/pkg/manager"
"sigs.k8s.io/controller-runtime/pkg/runtime/signals"

View File

@ -15,12 +15,12 @@ This proposal explores the idea of a Custom Secret Definition (CSD).
We borrow heavily from CRDs in this design. Here's an example, CSD:
```yaml
apiVersion: core.conductor.io/v1alpha1
apiVersion: core.crossplane.io/v1alpha1
kind: CustomSecretDefinition
metadata:
name: mysql.database.conductor.io
name: mysql.database.crossplane.io
spec:
group: database.conductor.io
group: database.crossplane.io
names:
kind: mysql
version: v1alpha1
@ -43,7 +43,7 @@ apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: mysql.v1alpha1.database.conductor.io
type: mysql.v1alpha1.database.crossplane.io
data:
username: YWRtaW4=
password: MWYyZDFlMmU2N2Rm

View File

@ -11,7 +11,7 @@ Azure service principal credentials are needed for an admin account, which must
Please refer to the [targeting Azure section](./troubleshooting.md#targeting-microsoft-azure) for details on how to create this account with the required permissions from the table above.
After the account is created, you should have 1 file on your local filesystem:
* `conductor-azure-provider-key.json`
* `crossplane-azure-provider-key.json`
## Set environment variables
@ -33,7 +33,7 @@ kubectl create namespace demo
Deploy the Azure provider object to your cluster:
```console
sed "s/BASE64ENCODED_AZURE_PROVIDER_CREDS/`cat conductor-azure-provider-key.json|base64|tr -d '\n'`/g" cluster/examples/wordpress/azure/class/provider.yaml | kubectl create -f -
sed "s/BASE64ENCODED_AZURE_PROVIDER_CREDS/`cat crossplane-azure-provider-key.json|base64|tr -d '\n'`/g" cluster/examples/wordpress/azure/class/provider.yaml | kubectl create -f -
```
Now deploy all the Wordpress resources, including the SQL database, with the following single command:

View File

@ -12,8 +12,8 @@ Google service account credentials are needed for two separate accounts, these m
Please refer to the [targeting GCP section](./troubleshooting.md#targeting-google-cloud-platform-gcp) for details on how to create these accounts with the required roles from the table above.
After the accounts are created, you should have two JSON key files on your local filesystem:
* `conductor-gcp-provider-key.json`
* `conductor-gcp-sql-key.json`
* `crossplane-gcp-provider-key.json`
* `crossplane-gcp-sql-key.json`
## Set environment variables
@ -35,13 +35,13 @@ kubectl create namespace demo
Deploy the GCP provider object to your cluster:
```console
sed "s/BASE64ENCODED_GCP_PROVIDER_CREDS/`cat conductor-gcp-provider-key.json|base64|tr -d '\n'`/g" cluster/examples/wordpress/gcp/class/provider.yaml | kubectl create -f -
sed "s/BASE64ENCODED_GCP_PROVIDER_CREDS/`cat crossplane-gcp-provider-key.json|base64|tr -d '\n'`/g" cluster/examples/wordpress/gcp/class/provider.yaml | kubectl create -f -
```
Now deploy all the Wordpress resources, including the Cloud SQL database, with the following single command:
```console
sed "s/BASE64ENCODED_GCP_SQL_CREDS/`cat conductor-gcp-sql-key.json|base64|tr -d '\n'`/g" cluster/examples/wordpress/gcp/class/wordpress.yaml | kubectl -n demo create -f -
sed "s/BASE64ENCODED_GCP_SQL_CREDS/`cat crossplane-gcp-sql-key.json|base64|tr -d '\n'`/g" cluster/examples/wordpress/gcp/class/wordpress.yaml | kubectl -n demo create -f -
```
Now you can proceed back to the main quickstart to [wait for the resources to become ready](./quickstart.md#waiting-for-completion).

View File

@ -1,11 +1,11 @@
# Conductor Quickstart
# Crossplane Quickstart
## Install Conductor
## Install Crossplane
Install Conductor in a GKE cluster first, for example with the following `helm` command after setting your preferred values for `image.repository` and `image.tag` in the `values.yaml` file:
Install Crossplane in a GKE cluster first, for example with the following `helm` command after setting your preferred values for `image.repository` and `image.tag` in the `values.yaml` file:
```bash
helm install --name conductor --namespace conductor-system ${GOPATH}/src/github.com/upbound/conductor/cluster/charts/conductor
helm install --name crossplane --namespace crossplane-system ${GOPATH}/src/github.com/crossplaneio/crossplane/cluster/charts/crossplane
```
## Wordpress on AWS
@ -29,19 +29,19 @@ kubectl -n demo get pod
```
While the database is being deployed, you'll see the Wordpress pod in the `CreateContainerConfigError` status for awhile.
Follow along with the database deployment progress by watching the Conductor logs:
Follow along with the database deployment progress by watching the Crossplane logs:
```console
kubectl -n conductor-system logs -f $(kubectl -n conductor-system get pod -l app=conductor -o jsonpath='{.items[0].metadata.name}')
kubectl -n crossplane-system logs -f $(kubectl -n crossplane-system get pod -l app=crossplane -o jsonpath='{.items[0].metadata.name}')
```
You can also watch the resources over time with the following watch command:
```console
watch -t -n1 "echo CONDUCTOR-SYSTEM PODS && kubectl get pods -n conductor-system -o wide && echo && \
watch -t -n1 "echo crossplane-system PODS && kubectl get pods -n crossplane-system -o wide && echo && \
echo PODS && kubectl get pods -n demo -o wide && echo && \
echo SERVICES && kubectl -n demo get svc -o wide && echo && \
echo MYSQL CLAIMS && kubectl -n demo get mysqlinstance mysql-instance -o jsonpath='{.metadata.name}{\"\t\"}{.status.bindingPhase}{\"\t\"}{range .status.Conditions[*]}{.Type}{\"=\"}{.Status}{\"\t\"}{end}' && echo && echo &&\
echo MYSQL INSTANCES && kubectl -n conductor-system get ${DATABASE_TYPE} -o jsonpath='{range .items[*]}{.metadata.name}{\"\t\"}{.status.bindingPhase}{\"\t\"}{.status.state}{\"\t\"}{range .status.Conditions[*]}{.Type}{\"=\"}{.Status}{\"\t\"}{end}{end}' && echo && \
echo MYSQL INSTANCES && kubectl -n crossplane-system get ${DATABASE_TYPE} -o jsonpath='{range .items[*]}{.metadata.name}{\"\t\"}{.status.bindingPhase}{\"\t\"}{.status.state}{\"\t\"}{range .status.Conditions[*]}{.Type}{\"=\"}{.Status}{\"\t\"}{end}{end}' && echo && \
echo && echo NODES && kubectl get nodes -o wide"
```

View File

@ -6,16 +6,16 @@ General help on debugging applications running in Kubernetes can be found in the
## Logs
The first place to look for more details about any issue with Conductor would be its logs:
The first place to look for more details about any issue with Crossplane would be its logs:
```console
kubectl -n conductor-system logs -f $(kubectl -n conductor-system get pod -l app=conductor -o jsonpath='{.items[0].metadata.name}')
kubectl -n crossplane-system logs -f $(kubectl -n crossplane-system get pod -l app=crossplane -o jsonpath='{.items[0].metadata.name}')
```
## Targeting Google Cloud Platform (GCP)
Conductor runs in any Kubernetes control plane and it is possible to target and manage environments external to the control plane it is running in.
In order to manage resources in GCP, you must provide credentials for a GCP service account that Conductor can use to authenticate.
Crossplane runs in any Kubernetes control plane and it is possible to target and manage environments external to the control plane it is running in.
In order to manage resources in GCP, you must provide credentials for a GCP service account that Crossplane can use to authenticate.
Normally, you don't need to create a brand new GCP key.
Instead, just obtain an existing key from a system administrator.
@ -34,25 +34,25 @@ After configuring `gcloud`, the service account must be created, you can skip th
```bash
# optional, skip this if the account has already been created
gcloud iam service-accounts create conductor-gcp-provider --display-name "conductor-gcp-provider"
gcloud iam service-accounts create crossplane-gcp-provider --display-name "crossplane-gcp-provider"
```
### Create Service Account Key File
Next create a local file called `conductor-gcp-provider-key.json` with all the credentials information stored in it.
Next create a local file called `crossplane-gcp-provider-key.json` with all the credentials information stored in it.
```bash
gcloud iam service-accounts keys create conductor-gcp-provider-key.json --iam-account conductor-gcp-provider@${PROJECT_ID}.iam.gserviceaccount.com
gcloud iam service-accounts keys create crossplane-gcp-provider-key.json --iam-account crossplane-gcp-provider@${PROJECT_ID}.iam.gserviceaccount.com
```
### Bind Roles to Service Account
Currently, Conductor requires only one role for its operations, this list will continue to expand as support for new resources is added.
Currently, Crossplane requires only one role for its operations, this list will continue to expand as support for new resources is added.
* CloudSQL Admin: Full management of Cloud SQL instances and related objects.
```bash
gcloud projects add-iam-policy-binding ${PROJECT_ID} --member "serviceAccount:conductor-gcp-provider@${PROJECT_ID}.iam.gserviceaccount.com" --role "roles/cloudsql.admin"
gcloud projects add-iam-policy-binding ${PROJECT_ID} --member "serviceAccount:crossplane-gcp-provider@${PROJECT_ID}.iam.gserviceaccount.com" --role "roles/cloudsql.admin"
```
### (Optional) GCP Service Account Secret
@ -61,7 +61,7 @@ If the example you are walking through does not create a Kubernetes secret, you
```bash
# optional, skip if the example does this for you
kubectl -n conductor-system create secret generic gcp-service-account-creds --from-file credentials.json=conductor-gcp-provider-key.json
kubectl -n crossplane-system create secret generic gcp-service-account-creds --from-file credentials.json=crossplane-gcp-provider-key.json
```
## GKE RBAC
@ -70,7 +70,7 @@ On GKE clusters, the default cluster role associated with your Google account do
When running `make deploy`, you will see an error that contains a message similar to the following:
```console
clusterroles.rbac.authorization.k8s.io "conductor-manager-role" is forbidden: attempt to grant extra privileges
clusterroles.rbac.authorization.k8s.io "crossplane-manager-role" is forbidden: attempt to grant extra privileges
```
To work around this, you will you need to run a command **one time** that is **similar** to the following in order to bind your Google credentials `cluster-admin` role:
@ -81,11 +81,11 @@ kubectl create clusterrolebinding dev-cluster-admin-binding --clusterrole=cluste
## Targeting Microsoft Azure
In order to manage resources in Azure, you must provide credentials for a Azure service principal that Conductor can use to authenticate.
In order to manage resources in Azure, you must provide credentials for a Azure service principal that Crossplane can use to authenticate.
This assumes that you have already [set up the Azure CLI client](https://docs.microsoft.com/en-us/cli/azure/authenticate-azure-cli?view=azure-cli-latest) with your credentials.
Create a JSON file that contains all the information needed to connect and authenticate to Azure:
```console
az ad sp create-for-rbac --sdk-auth > conductor-azure-provider-key.json
az ad sp create-for-rbac --sdk-auth > crossplane-azure-provider-key.json
```

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -21,12 +21,12 @@ limitations under the License.
package apis
import (
"github.com/upbound/conductor/pkg/apis/aws"
"github.com/upbound/conductor/pkg/apis/azure"
"github.com/upbound/conductor/pkg/apis/compute"
"github.com/upbound/conductor/pkg/apis/core"
"github.com/upbound/conductor/pkg/apis/gcp"
"github.com/upbound/conductor/pkg/apis/storage"
"github.com/crossplaneio/crossplane/pkg/apis/aws"
"github.com/crossplaneio/crossplane/pkg/apis/azure"
"github.com/crossplaneio/crossplane/pkg/apis/compute"
"github.com/crossplaneio/crossplane/pkg/apis/core"
"github.com/crossplaneio/crossplane/pkg/apis/gcp"
"github.com/crossplaneio/crossplane/pkg/apis/storage"
"k8s.io/apimachinery/pkg/runtime"
)

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -18,9 +18,9 @@ limitations under the License.
package aws
import (
compute "github.com/upbound/conductor/pkg/apis/aws/compute/v1alpha1"
database "github.com/upbound/conductor/pkg/apis/aws/database/v1alpha1"
aws "github.com/upbound/conductor/pkg/apis/aws/v1alpha1"
compute "github.com/crossplaneio/crossplane/pkg/apis/aws/compute/v1alpha1"
database "github.com/crossplaneio/crossplane/pkg/apis/aws/database/v1alpha1"
aws "github.com/crossplaneio/crossplane/pkg/apis/aws/v1alpha1"
"k8s.io/apimachinery/pkg/runtime"
)

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -17,7 +17,7 @@ limitations under the License.
// Package v1alpha1 contains API Schema definitions for the compute v1alpha1 API group
// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=github.com/upbound/conductor/pkg/apis/aws/compute
// +k8s:conversion-gen=github.com/crossplaneio/crossplane/pkg/apis/aws/compute
// +k8s:defaulter-gen=TypeMeta
// +groupName=compute.aws.conductor.io
// +groupName=compute.aws.crossplane.io
package v1alpha1

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -19,9 +19,9 @@ limitations under the License.
// Package v1alpha1 contains API Schema definitions for the compute v1alpha1 API group
// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=github.com/upbound/conductor/pkg/aws/apis/aws/compute
// +k8s:conversion-gen=github.com/crossplaneio/crossplane/pkg/aws/apis/aws/compute
// +k8s:defaulter-gen=TypeMeta
// +groupName=compute.aws.conductor.io
// +groupName=compute.aws.crossplane.io
package v1alpha1
import (
@ -30,7 +30,7 @@ import (
)
const (
Group = "compute.aws.conductor.io"
Group = "compute.aws.crossplane.io"
Version = "v1alpha1"
APIVersion = Group + "/" + Version
EKSClusterKind = "eksclusters"

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -17,8 +17,8 @@ limitations under the License.
package v1alpha1
import (
corev1alpha1 "github.com/upbound/conductor/pkg/apis/core/v1alpha1"
"github.com/upbound/conductor/pkg/util"
corev1alpha1 "github.com/crossplaneio/crossplane/pkg/apis/core/v1alpha1"
"github.com/crossplaneio/crossplane/pkg/util"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -21,9 +21,9 @@ import (
"log"
"testing"
corev1alpha1 "github.com/crossplaneio/crossplane/pkg/apis/core/v1alpha1"
"github.com/crossplaneio/crossplane/pkg/test"
. "github.com/onsi/gomega"
corev1alpha1 "github.com/upbound/conductor/pkg/apis/core/v1alpha1"
"github.com/upbound/conductor/pkg/test"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/client-go/kubernetes/scheme"

View File

@ -1,7 +1,7 @@
// +build !ignore_autogenerated
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -17,7 +17,7 @@ limitations under the License.
// Package v1alpha1 contains API Schema definitions for the database v1alpha1 API group
// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=github.com/upbound/conductor/pkg/apis/aws/database
// +k8s:conversion-gen=github.com/crossplaneio/crossplane/pkg/apis/aws/database
// +k8s:defaulter-gen=TypeMeta
// +groupName=database.aws.conductor.io
// +groupName=database.aws.crossplane.io
package v1alpha1

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -20,8 +20,8 @@ import (
"strconv"
"strings"
corev1alpha1 "github.com/upbound/conductor/pkg/apis/core/v1alpha1"
"github.com/upbound/conductor/pkg/util"
corev1alpha1 "github.com/crossplaneio/crossplane/pkg/apis/core/v1alpha1"
"github.com/crossplaneio/crossplane/pkg/util"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -19,8 +19,8 @@ package v1alpha1
import (
"testing"
corev1alpha1 "github.com/crossplaneio/crossplane/pkg/apis/core/v1alpha1"
. "github.com/onsi/gomega"
corev1alpha1 "github.com/upbound/conductor/pkg/apis/core/v1alpha1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
)

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -19,9 +19,9 @@ limitations under the License.
// Package v1alpha1 contains API Schema definitions for the database v1alpha1 API group
// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=github.com/upbound/conductor/pkg/apis/aws/database
// +k8s:conversion-gen=github.com/crossplaneio/crossplane/pkg/apis/aws/database
// +k8s:defaulter-gen=TypeMeta
// +groupName=database.aws.conductor.io
// +groupName=database.aws.crossplane.io
package v1alpha1
import (
@ -30,7 +30,7 @@ import (
)
const (
Group = "database.aws.conductor.io"
Group = "database.aws.crossplane.io"
Version = "v1alpha1"
APIVersion = Group + "/" + Version
RDSInstanceKind = "rdsinstance"

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -20,7 +20,7 @@ import (
"log"
"testing"
"github.com/upbound/conductor/pkg/test"
"github.com/crossplaneio/crossplane/pkg/test"
"golang.org/x/net/context"
"k8s.io/client-go/kubernetes/scheme"
"k8s.io/client-go/rest"

View File

@ -1,7 +1,7 @@
// +build !ignore_autogenerated
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -20,33 +20,33 @@ limitations under the License.
package v1alpha1
import (
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime"
v1 "k8s.io/api/core/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
)
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (r *RDSInstance) DeepCopyInto(out *RDSInstance) {
*out = *r
out.TypeMeta = r.TypeMeta
r.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
r.Spec.DeepCopyInto(&out.Spec)
r.Status.DeepCopyInto(&out.Status)
func (in *RDSInstance) DeepCopyInto(out *RDSInstance) {
*out = *in
out.TypeMeta = in.TypeMeta
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
in.Spec.DeepCopyInto(&out.Spec)
in.Status.DeepCopyInto(&out.Status)
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RDSInstance.
func (r *RDSInstance) DeepCopy() *RDSInstance {
if r == nil {
func (in *RDSInstance) DeepCopy() *RDSInstance {
if in == nil {
return nil
}
out := new(RDSInstance)
r.DeepCopyInto(out)
in.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (r *RDSInstance) DeepCopyObject() runtime.Object {
if c := r.DeepCopy(); c != nil {
func (in *RDSInstance) DeepCopyObject() runtime.Object {
if c := in.DeepCopy(); c != nil {
return c
}
return nil

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -17,7 +17,7 @@ limitations under the License.
package v1alpha1
import (
corev1alpha1 "github.com/upbound/conductor/pkg/apis/core/v1alpha1"
corev1alpha1 "github.com/crossplaneio/crossplane/pkg/apis/core/v1alpha1"
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -17,7 +17,7 @@ limitations under the License.
// Package v1alpha1 contains API Schema definitions for the storage v1alpha1 API group
// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=github.com/upbound/conductor/pkg/apis/aws/storage
// +k8s:conversion-gen=github.com/crossplaneio/crossplane/pkg/apis/aws/storage
// +k8s:defaulter-gen=TypeMeta
// +groupName=storage.aws.conductor.io
// +groupName=storage.aws.crossplane.io
package v1alpha1

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -19,9 +19,9 @@ limitations under the License.
// Package v1alpha1 contains API Schema definitions for the storage v1alpha1 API group
// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=github.com/upbound/conductor/pkg/apis/aws/storage
// +k8s:conversion-gen=github.com/crossplaneio/crossplane/pkg/apis/aws/storage
// +k8s:defaulter-gen=TypeMeta
// +groupName=storage.aws.conductor.io
// +groupName=storage.aws.crossplane.io
package v1alpha1
import (
@ -31,7 +31,7 @@ import (
var (
// SchemeGroupVersion is group version used to register these objects
SchemeGroupVersion = schema.GroupVersion{Group: "storage.aws.conductor.io", Version: "v1alpha1"}
SchemeGroupVersion = schema.GroupVersion{Group: "storage.aws.crossplane.io", Version: "v1alpha1"}
// SchemeBuilder is used to add go types to the GroupVersionKind scheme
SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -34,7 +34,7 @@ var c client.Client
func TestMain(m *testing.M) {
t := &envtest.Environment{
CRDDirectoryPaths: []string{filepath.Join("..", "..", "..", "..", "..",
"cluster", "charts", "conductor", "crds", "aws", "storage", "v1alpha1")},
"cluster", "charts", "crossplane", "crds", "aws", "storage", "v1alpha1")},
}
err := SchemeBuilder.AddToScheme(scheme.Scheme)

View File

@ -1,7 +1,7 @@
// +build !ignore_autogenerated
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -17,7 +17,7 @@ limitations under the License.
// Package v1alpha1 contains API Schema definitions for the aws v1alpha1 API group
// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=github.com/upbound/conductor/pkg/apis/aws
// +k8s:conversion-gen=github.com/crossplaneio/crossplane/pkg/apis/aws
// +k8s:defaulter-gen=TypeMeta
// +groupName=aws.conductor.io
// +groupName=aws.crossplane.io
package v1alpha1

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -19,9 +19,9 @@ limitations under the License.
// Package v1alpha1 contains API Schema definitions for the aws v1alpha1 API group
// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=github.com/upbound/conductor/pkg/aws/apis/aws
// +k8s:conversion-gen=github.com/crossplaneio/crossplane/pkg/aws/apis/aws
// +k8s:defaulter-gen=TypeMeta
// +groupName=aws.conductor.io
// +groupName=aws.crossplane.io
package v1alpha1
import (
@ -30,7 +30,7 @@ import (
)
const (
Group = "aws.conductor.io"
Group = "aws.crossplane.io"
Version = "v1alpha1"
APIVersion = Group + "/" + Version
ProviderKind = "provider"

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -17,7 +17,7 @@ limitations under the License.
package v1alpha1
import (
corev1alpha1 "github.com/upbound/conductor/pkg/apis/core/v1alpha1"
corev1alpha1 "github.com/crossplaneio/crossplane/pkg/apis/core/v1alpha1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -20,7 +20,7 @@ import (
"log"
"testing"
"github.com/upbound/conductor/pkg/test"
"github.com/crossplaneio/crossplane/pkg/test"
"golang.org/x/net/context"
"k8s.io/client-go/kubernetes/scheme"
"k8s.io/client-go/rest"

View File

@ -1,7 +1,7 @@
// +build !ignore_autogenerated
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -18,8 +18,8 @@ limitations under the License.
package azure
import (
databasev1alpha1 "github.com/upbound/conductor/pkg/apis/azure/database/v1alpha1"
azure "github.com/upbound/conductor/pkg/apis/azure/v1alpha1"
databasev1alpha1 "github.com/crossplaneio/crossplane/pkg/apis/azure/database/v1alpha1"
azure "github.com/crossplaneio/crossplane/pkg/apis/azure/v1alpha1"
"k8s.io/apimachinery/pkg/runtime"
)

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -17,7 +17,7 @@ limitations under the License.
// Package v1alpha1 contains API Schema definitions for the database v1alpha1 API group
// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=github.com/upbound/conductor/pkg/apis/azure/database
// +k8s:conversion-gen=github.com/crossplaneio/crossplane/pkg/apis/azure/database
// +k8s:defaulter-gen=TypeMeta
// +groupName=database.azure.conductor.io
// +groupName=database.azure.crossplane.io
package v1alpha1

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -20,8 +20,8 @@ import (
"strconv"
"github.com/Azure/azure-sdk-for-go/services/mysql/mgmt/2017-12-01/mysql"
corev1alpha1 "github.com/upbound/conductor/pkg/apis/core/v1alpha1"
"github.com/upbound/conductor/pkg/util"
corev1alpha1 "github.com/crossplaneio/crossplane/pkg/apis/core/v1alpha1"
"github.com/crossplaneio/crossplane/pkg/util"
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -19,8 +19,8 @@ package v1alpha1
import (
"testing"
corev1alpha1 "github.com/crossplaneio/crossplane/pkg/apis/core/v1alpha1"
"github.com/onsi/gomega"
corev1alpha1 "github.com/upbound/conductor/pkg/apis/core/v1alpha1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
)

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -19,9 +19,9 @@ limitations under the License.
// Package v1alpha1 contains API Schema definitions for the database v1alpha1 API group
// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=github.com/upbound/conductor/pkg/azure/apis/azure/database
// +k8s:conversion-gen=github.com/crossplaneio/crossplane/pkg/azure/apis/azure/database
// +k8s:defaulter-gen=TypeMeta
// +groupName=database.azure.conductor.io
// +groupName=database.azure.crossplane.io
package v1alpha1
import (
@ -30,7 +30,7 @@ import (
)
const (
Group = "database.azure.conductor.io"
Group = "database.azure.crossplane.io"
Version = "v1alpha1"
APIVersion = Group + "/" + Version
MysqlServerKind = "mysqlserver"

View File

@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -21,7 +21,7 @@ import (
"log"
"testing"
"github.com/upbound/conductor/pkg/test"
"github.com/crossplaneio/crossplane/pkg/test"
"k8s.io/client-go/kubernetes/scheme"
"k8s.io/client-go/rest"
"sigs.k8s.io/controller-runtime/pkg/client"

Some files were not shown because too many files have changed in this diff Show More