Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

📖 New Provider documentation #1682

Merged
merged 1 commit into from
Dec 4, 2019

Conversation

liztio
Copy link
Contributor

@liztio liztio commented Oct 29, 2019

What this PR does / why we need it:
We want everyone to use Cluster API, exapnding our reach to the stars above!

So we should make it easier to get started with a new provider.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #1090

@k8s-ci-robot k8s-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Oct 29, 2019
@k8s-ci-robot k8s-ci-robot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Oct 29, 2019
@ncdc ncdc added the kind/documentation Categorizes issue or PR as related to documentation. label Oct 30, 2019
Copy link
Contributor

@ncdc ncdc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working on this. A great start!

docs/book/provider_implementations/overview.md Outdated Show resolved Hide resolved
docs/book/provider_implementations/generate_crds.md Outdated Show resolved Hide resolved
docs/book/provider_implementations/generate_crds.md Outdated Show resolved Hide resolved
docs/book/provider_implementations/create_api.md Outdated Show resolved Hide resolved
docs/book/provider_implementations/create_api.md Outdated Show resolved Hide resolved
docs/book/provider_implementations/populate_controllers.md Outdated Show resolved Hide resolved
docs/book/provider_implementations/register_controllers.md Outdated Show resolved Hide resolved
Every Kubernetes resource has a *Group*, *Version* and *Kind* that uniquely
identifies it.

* The resource *Kind* is the short name of the API, for example,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A Kind here would be MailgunMachine - the spec and status structs are not exposed as Kubernetes GVKs.
and MailgunMachineList as well.

API for `Machine` resources.
* The resource *Version* defines the stability of the API and its backward
compatibility guarantees. Examples include v1alpha1, v1beta1, v1, etc.
and are governed by the Kubernetes API Deprecation Policy [^1].
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should set the expectations that we expect providers to also abide by the k8s api deprecation policy as well.


{% sample lang="yaml" %}
```yaml
apiVersion: mailgun.cluster.k8s.io/v1alpha1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be mailgun.infrastructure.cluster.x-k8s.io instead to align with the other infrastructure providers? (at least until we potentially change that)

docs/book/provider_implementations/overview.md Outdated Show resolved Hide resolved
@liztio
Copy link
Contributor Author

liztio commented Nov 1, 2019

I only pushed this PR so I could have a backup and view the netlify responses, it's not quite ready for review yet

@liztio
Copy link
Contributor Author

liztio commented Nov 1, 2019

I started from a check-out of the v1 docs and am slowly updating them, that's why you see so much outdated information

@liztio liztio force-pushed the provider-docs branch 2 times, most recently from 7d0e44f to 09bb93b Compare November 15, 2019 19:48
@liztio
Copy link
Contributor Author

liztio commented Nov 15, 2019

/retest

@liztio liztio changed the title [wip] 📖 New Provider documentation 📖 New Provider documentation Nov 26, 2019
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 26, 2019
@liztio
Copy link
Contributor Author

liztio commented Nov 26, 2019

@detiber @ncdc this is ready for review!

@liztio
Copy link
Contributor Author

liztio commented Nov 26, 2019

A more general question: I build capm for this, but I'm not sure where the code should live. We could leave it in my own repo, move it to kubernetes-sigs, or vendor it into this repo. I don't have strong feelings either way.

@liztio
Copy link
Contributor Author

liztio commented Nov 26, 2019

/retest

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 3, 2019
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 3, 2019
config/default/manager_image_patch.yaml Outdated Show resolved Hide resolved
@ncdc
Copy link
Contributor

ncdc commented Dec 4, 2019

LGTM. Squash please!

@ncdc
Copy link
Contributor

ncdc commented Dec 4, 2019

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Dec 4, 2019
@detiber
Copy link
Member

detiber commented Dec 4, 2019

/assign

@ncdc
Copy link
Contributor

ncdc commented Dec 4, 2019

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: liztio, ncdc

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 4, 2019
@k8s-ci-robot k8s-ci-robot merged commit 065e0e0 into kubernetes-sigs:master Dec 4, 2019
Copy link
Member

@detiber detiber left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Non-blocking issues found, filed #1831 to address them as a followup.

git init
```

You'll then need to set up [go modules][gomod]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Broken link

// Request is where you ask extra nicely
Request string `json:"request"`
// Requester is the email of the person sending the request
Requester string
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing json tag, and different indentation.


Before you can deploy the infrastructure controller, you'll need to deploy Cluster API itself.

You can [use a precompiled manifest][install], or clone [`cluster-api`][capi] and apply its manifests using `kustomize`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

capi link is broken

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/documentation Categorizes issue or PR as related to documentation. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update provider implementation guide to Kubebuilder 2.0
4 participants