Skip to content

Moving most of mixer/doc/dev/development.md here #352

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

Merged
merged 4 commits into from
Jun 1, 2017

Conversation

ldemailly
Copy link
Member

https://github.com/istio/mixer/blob/master/doc/dev/development.md to
here with updates to make it a bit more generic than just mixer

devel/README.md Outdated

Other docs you should look at:

- Each components additional development docs like [Mixer](https://github.com/istio/mixer/tree/master/doc/dev/development.md)'s
Copy link
Contributor

Choose a reason for hiding this comment

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

How about providing an exhaustive list here?

Copy link
Member Author

Choose a reason for hiding this comment

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

Well not every components has a specific dev guide and the list should be on
https://github.com/istio/istio/blob/master/README.md#repositories (though broker isn't...)

devel/README.md Outdated

## Prerequisites

Istio components code bases has only few external dependencies you
Copy link
Contributor

Choose a reason for hiding this comment

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

Istio components only have a few external dependencies

Copy link
Member Author

Choose a reason for hiding this comment

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

devel/README.md Outdated

### Setting up Go

Mixer for instance is written in the [Go](http://golang.org) programming language.
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's generalize this.

"Many Istio components are written in..."

And let's just claim everything depends on Go 1.8. We'll do full org-wide upgrades when time comes.

Copy link
Member Author

Choose a reason for hiding this comment

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

devel/README.md Outdated

### Setting up Bazel

Istio components are built using the bazel build system. See
Copy link
Contributor

Choose a reason for hiding this comment

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

bazel -> Bazel

Copy link
Member Author

Choose a reason for hiding this comment

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

devel/README.md Outdated
Please follow [these instructions](https://docs.docker.com/engine/installation/)
for how to do this for your platform.

### Setting up personal access token
Copy link
Contributor

Choose a reason for hiding this comment

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

Setting up a personal

Copy link
Member Author

Choose a reason for hiding this comment

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

✅ you reviewed the original ;-)

devel/README.md Outdated
### Setting up personal access token

This is only necessary for core contributors / to push changes to the main repos.
You can make Pull Requests without it but the additional security is recommended for everyone.
Copy link
Contributor

Choose a reason for hiding this comment

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

Pull Requests -> pull requests
without it -> without using an access token

Copy link
Member Author

Choose a reason for hiding this comment

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

✅ with a small change (two-factor authentication instead of access token)

devel/README.md Outdated

To be part of the Istio organization, we require two-factor authentication, and
you must setup a personal access token to enable push via HTTPS. Please follow [these
instructions](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/)
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think markdown likes to split the link in two lines.

Copy link
Member Author

Choose a reason for hiding this comment

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

you can't split the url but you can split the text of the link (it works, also not changed from earlier doc)

Copy link
Member Author

Choose a reason for hiding this comment

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

it works

```shell
bazel test ...
```
### Getting coverage numbers
Copy link
Contributor

Choose a reason for hiding this comment

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

Does this apply to all repos? Same question of the other stuff like "make fmt" and friends. Those are setup for Mixer, and unless they've been copied elsewhere, other repos aren't on that plan (yet).

Copy link
Member Author

Choose a reason for hiding this comment

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

it doesn't but I figured a developer will be smart to skip steps that don't work/apply as I mentioned in a few place we are using Mixer as an example component

it also doesn't apply to C++ for instance so we will need to refine those a bit in the future

@istio-testing
Copy link
Collaborator

Jenkins job istio/presubmit passed

And linking the conventions and perf docs
@ldemailly
Copy link
Member Author

@geeknoid thanks for the thorough review !
I think I covered all the notes, let me know if you want me to make further changes
(like listing components...)

@istio-testing
Copy link
Collaborator

Jenkins job istio/presubmit passed

1 similar comment
@istio-testing
Copy link
Collaborator

Jenkins job istio/presubmit passed

devel/README.md Outdated
### Setting up Go

Many Istio components are written in the [Go](http://golang.org) programming language.
To build Mixer, you'll need a Go development environment. Builds for
Copy link
Contributor

Choose a reason for hiding this comment

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

Mixer -> Istio in this paragraph.

@ldemailly ldemailly merged commit 455a23d into master Jun 1, 2017
@ldemailly ldemailly deleted the ldemailly_devel_docs branch June 1, 2017 02:49
@istio-testing
Copy link
Collaborator

Jenkins job istio/presubmit passed

ldemailly added a commit to istio/old_mixer_repo that referenced this pull request Jun 1, 2017
* Moving common dev setup to istio/istio/devel

See istio/istio#352

* Also move conventions and performance
ldemailly added a commit to istio/old_broker_repo that referenced this pull request Jun 1, 2017
* Moving copy/pasted docs to shared istio/devels

See istio/istio#352

* Review comment: delete the whole directory

And replaced references
ldemailly pushed a commit that referenced this pull request Jun 8, 2017
* Rbac ingress (#320)

* Add ingresses/status to rbac

* fix bash'ism (#325)

* fix bash'ism

we tell people to `curl -L https://git.io/getIstio | sh -` so we can't use bash extentions
I was getting [[ unknown command on line 12, fixing this

* also updating comment

* updateVersion.sh to not modify templates (#229)

* istio install templates

* fix copy

* fix temp var

* []byte values

* fix linter errors

* comment out unused ca vars

* gofmt kubernetes.go

* fix macros

* fix kubeTest.sh

* move istio-auth-with-cluster-ca.yaml out of templates dir (#334)

* fix broken link (#335)

* fixing #321 (#336)

fixing broken links

* Getting master ready for beta (#322)

0.1.x -> 0.2.x

* Add v1/stable version (#351)

* Add v1/stable version

* Start of a local development directory (#337)

* initial skeleton notes for local dev

* tweaks

* adding the rules.yaml for local dev and updating the scripts

* Fixing English typo

* Also start to address dev getting started

Issue #348

* incorporated most of my noogler notes

* Adding the sample quota

* adding note about -v=5

for debug/verbose output

* Code review comments

* typo fix


will follow up with moving most of mixer/dev/development.md into this

* Moving most of mixer/doc/dev/development.md here (#352)

* Moving most of mixer/doc/dev/development.md here

https://github.com/istio/mixer/blob/master/doc/dev/development.md to
here with updates to make it a bit more generic than just mixer

* Also move conventions.md and performance.md here

* Review comments

And linking the conventions and perf docs

* minor update

* Manager -> pilot rename (#359)

* Manager -> Pilot

 git ls-files | grep -v tests/e2e|grep -v bookinfo| xargs -n 1 sed -i
.bak -e 's/Manager/Pilot/g'

As tests/e2e and bookinfo have other Manager unrelated to pilot

* manager -> pilot

 git ls-files | grep -v tests/e2e|grep -v bookinfo| xargs -n 1 sed -i
.bak -e 's/manager/pilot/g'

* Manual changes in e2e

* MANAGER to PILOT

git ls-files | xargs -n 1 sed -i .bak -e 's/MANAGER/PILOT/g'

and manually excluding some

* Rename yaml file too

* Last few selective renames

Last piece, only remaining ‘manager’ are:
```
ldemailly-macbookpro:istio ldemailly$ git grep -i manager
samples/apps/bookinfo/src/reviews/reviews-wlpcfg/servers/LibertyProjectS
erver/server.xml:    <featureManager>
samples/apps/bookinfo/src/reviews/reviews-wlpcfg/servers/LibertyProjectS
erver/server.xml:    </featureManager>
tests/e2e/README.md:### appManager.go
tests/e2e/README.md:`appManager` gather apps required for test into a
array and deploy them while setup()
tests/e2e/framework/BUILD:        "appManager.go",
tests/e2e/framework/appManager.go:// AppManager organize and deploy apps
tests/e2e/framework/appManager.go:type AppManager struct {
tests/e2e/framework/appManager.go:// NewAppManager create a new
AppManager
tests/e2e/framework/appManager.go:func NewAppManager(tmpDir, namespace
string, istioctl *Istioctl) *AppManager {
tests/e2e/framework/appManager.go:      return &AppManager{
tests/e2e/framework/appManager.go:func (am *AppManager)
generateAppYaml(a *App) error {
tests/e2e/framework/appManager.go:func (am *AppManager) deploy(a *App)
error {
tests/e2e/framework/appManager.go:func (am *AppManager) Setup() error {
tests/e2e/framework/appManager.go:func (am *AppManager) Teardown()
error {
tests/e2e/framework/appManager.go:func (am *AppManager) AddApp(a *App) {
tests/e2e/framework/framework.go:
c.Cleanup.RegisterCleanable(c.Kube.AppManager)
tests/e2e/framework/kubernetes.go:      pilotHub =
flag.String("pilot_hub", os.Getenv(pilotHubEnvVar), "Manager hub")
tests/e2e/framework/kubernetes.go:      pilotTag =
flag.String("pilot_tag", os.Getenv(pilotTagEnvVar), "Manager tag")
tests/e2e/framework/kubernetes.go:              "manager",
tests/e2e/framework/kubernetes.go:      // App Manager
tests/e2e/framework/kubernetes.go:      AppManager *AppManager
tests/e2e/framework/kubernetes.go:      a := NewAppManager(tmpDir,
*namespace, i)
tests/e2e/framework/kubernetes.go:              AppManager:       a,
tests/e2e/framework/kubernetes.go:      case "manager":
tests/e2e/tests/bookinfo/demo_test.go:
tc.Kube.AppManager.AddApp(demoApp)
tests/e2e/tests/mixer/mixer_test.go:
tc.Kube.AppManager.AddApp(demoApp)
```

* Review comment

changed flag from m to p

* make linter happy bin/fmt.sh + review updates

* show in logs url being used (#360)

A bit more info in logs for when download fails

* Update images for Pilot & Unary (#361)

* Update image for Unary

* Fix forgotten renames

* Disabling failing test until #365 is fixed (#366)

* Skip TestDenials

* Update format and linter to skip git files

* Using git ls-files instead of find

* Remove extra buildifier call

* missed manager->pilot rename and use lowercase -c for ca image (#363)

* Make shell utility functions variadic (#377)

This simplifies usage a bit by not requiring user to call fmt.Sprintf
themselves.

* Re-enable TestDenials

* Revert "Update images for Pilot & Unary (#361)"

This reverts commit 2b210ac.

* Revert "Getting master ready for beta (#322)"

This reverts commit 910a025.

* Update to latest version of manager
mandarjog pushed a commit to mandarjog/core3 that referenced this pull request Oct 27, 2017
* Moving common dev setup to istio/istio/devel

See istio/istio#352

* Also move conventions and performance


Former-commit-id: ca58f01aabd134d387816bd45c0735bf4a870334
mandarjog pushed a commit to mandarjog/istiocombined that referenced this pull request Oct 28, 2017
* Moving copy/pasted docs to shared istio/devels

See istio/istio#352

* Review comment: delete the whole directory

And replaced references
mandarjog pushed a commit to mandarjog/istio that referenced this pull request Oct 30, 2017
- Total size of the pool is controlled from the mixer command-line.
This ultimately limits "parallel explosion" to keep resource usage
within reasonable bounds.

- Merge the parallel adapter manager functionality into the regular
adapter manager and make it use the new goroutine pool.

- The pool will also be used by the upcoming out-of-order API processing.

- Add the Env.ScheduleWork method for adapters to schedule goroutines using
their own dedicated pool.

- Switch existing adapter goroutines to Env.ScheduleWork. This prevents
those goroutines from tanking mixer.

- Start a doc on guidelines for authoring adapters.

Former-commit-id: d06adc72aae1e93b2da04604703fd457c3bb63fd
mandarjog pushed a commit to mandarjog/istio that referenced this pull request Oct 30, 2017
* Moving common dev setup to istio/istio/devel

See istio#352

* Also move conventions and performance


Former-commit-id: 6aabe62a4b90d0c87f6fc831ee8c7bad965b848d
rshriram pushed a commit that referenced this pull request Oct 30, 2017
* Moving most of mixer/doc/dev/development.md here

https://github.com/istio/mixer/blob/master/doc/dev/development.md to
here with updates to make it a bit more generic than just mixer

* Also move conventions.md and performance.md here

* Review comments

And linking the conventions and perf docs

* minor update

Former-commit-id: 455a23d
mandarjog pushed a commit that referenced this pull request Oct 31, 2017
* Rbac ingress (#320)

* Add ingresses/status to rbac

* fix bash'ism (#325)

* fix bash'ism

we tell people to `curl -L https://git.io/getIstio | sh -` so we can't use bash extentions
I was getting [[ unknown command on line 12, fixing this

* also updating comment

* updateVersion.sh to not modify templates (#229)

* istio install templates

* fix copy

* fix temp var

* []byte values

* fix linter errors

* comment out unused ca vars

* gofmt kubernetes.go

* fix macros

* fix kubeTest.sh

* move istio-auth-with-cluster-ca.yaml out of templates dir (#334)

* fix broken link (#335)

* fixing #321 (#336)

fixing broken links

* Getting master ready for beta (#322)

0.1.x -> 0.2.x

* Add v1/stable version (#351)

* Add v1/stable version

* Start of a local development directory (#337)

* initial skeleton notes for local dev

* tweaks

* adding the rules.yaml for local dev and updating the scripts

* Fixing English typo

* Also start to address dev getting started

Issue #348

* incorporated most of my noogler notes

* Adding the sample quota

* adding note about -v=5

for debug/verbose output

* Code review comments

* typo fix


will follow up with moving most of mixer/dev/development.md into this

* Moving most of mixer/doc/dev/development.md here (#352)

* Moving most of mixer/doc/dev/development.md here

https://github.com/istio/mixer/blob/master/doc/dev/development.md to
here with updates to make it a bit more generic than just mixer

* Also move conventions.md and performance.md here

* Review comments

And linking the conventions and perf docs

* minor update

* Manager -> pilot rename (#359)

* Manager -> Pilot

 git ls-files | grep -v tests/e2e|grep -v bookinfo| xargs -n 1 sed -i
.bak -e 's/Manager/Pilot/g'

As tests/e2e and bookinfo have other Manager unrelated to pilot

* manager -> pilot

 git ls-files | grep -v tests/e2e|grep -v bookinfo| xargs -n 1 sed -i
.bak -e 's/manager/pilot/g'

* Manual changes in e2e

* MANAGER to PILOT

git ls-files | xargs -n 1 sed -i .bak -e 's/MANAGER/PILOT/g'

and manually excluding some

* Rename yaml file too

* Last few selective renames

Last piece, only remaining ‘manager’ are:
```
ldemailly-macbookpro:istio ldemailly$ git grep -i manager
samples/apps/bookinfo/src/reviews/reviews-wlpcfg/servers/LibertyProjectS
erver/server.xml:    <featureManager>
samples/apps/bookinfo/src/reviews/reviews-wlpcfg/servers/LibertyProjectS
erver/server.xml:    </featureManager>
tests/e2e/README.md:### appManager.go
tests/e2e/README.md:`appManager` gather apps required for test into a
array and deploy them while setup()
tests/e2e/framework/BUILD:        "appManager.go",
tests/e2e/framework/appManager.go:// AppManager organize and deploy apps
tests/e2e/framework/appManager.go:type AppManager struct {
tests/e2e/framework/appManager.go:// NewAppManager create a new
AppManager
tests/e2e/framework/appManager.go:func NewAppManager(tmpDir, namespace
string, istioctl *Istioctl) *AppManager {
tests/e2e/framework/appManager.go:      return &AppManager{
tests/e2e/framework/appManager.go:func (am *AppManager)
generateAppYaml(a *App) error {
tests/e2e/framework/appManager.go:func (am *AppManager) deploy(a *App)
error {
tests/e2e/framework/appManager.go:func (am *AppManager) Setup() error {
tests/e2e/framework/appManager.go:func (am *AppManager) Teardown()
error {
tests/e2e/framework/appManager.go:func (am *AppManager) AddApp(a *App) {
tests/e2e/framework/framework.go:
c.Cleanup.RegisterCleanable(c.Kube.AppManager)
tests/e2e/framework/kubernetes.go:      pilotHub =
flag.String("pilot_hub", os.Getenv(pilotHubEnvVar), "Manager hub")
tests/e2e/framework/kubernetes.go:      pilotTag =
flag.String("pilot_tag", os.Getenv(pilotTagEnvVar), "Manager tag")
tests/e2e/framework/kubernetes.go:              "manager",
tests/e2e/framework/kubernetes.go:      // App Manager
tests/e2e/framework/kubernetes.go:      AppManager *AppManager
tests/e2e/framework/kubernetes.go:      a := NewAppManager(tmpDir,
*namespace, i)
tests/e2e/framework/kubernetes.go:              AppManager:       a,
tests/e2e/framework/kubernetes.go:      case "manager":
tests/e2e/tests/bookinfo/demo_test.go:
tc.Kube.AppManager.AddApp(demoApp)
tests/e2e/tests/mixer/mixer_test.go:
tc.Kube.AppManager.AddApp(demoApp)
```

* Review comment

changed flag from m to p

* make linter happy bin/fmt.sh + review updates

* show in logs url being used (#360)

A bit more info in logs for when download fails

* Update images for Pilot & Unary (#361)

* Update image for Unary

* Fix forgotten renames

* Disabling failing test until #365 is fixed (#366)

* Skip TestDenials

* Update format and linter to skip git files

* Using git ls-files instead of find

* Remove extra buildifier call

* missed manager->pilot rename and use lowercase -c for ca image (#363)

* Make shell utility functions variadic (#377)

This simplifies usage a bit by not requiring user to call fmt.Sprintf
themselves.

* Re-enable TestDenials

* Revert "Update images for Pilot & Unary (#361)"

This reverts commit 6362d37 [formerly 2b210ac].

* Revert "Getting master ready for beta (#322)"

This reverts commit 52e8937 [formerly 910a025].

* Update to latest version of manager

Former-commit-id: 6a65da1
mandarjog pushed a commit that referenced this pull request Oct 31, 2017
- Total size of the pool is controlled from the mixer command-line.
This ultimately limits "parallel explosion" to keep resource usage
within reasonable bounds.

- Merge the parallel adapter manager functionality into the regular
adapter manager and make it use the new goroutine pool.

- The pool will also be used by the upcoming out-of-order API processing.

- Add the Env.ScheduleWork method for adapters to schedule goroutines using
their own dedicated pool.

- Switch existing adapter goroutines to Env.ScheduleWork. This prevents
those goroutines from tanking mixer.

- Start a doc on guidelines for authoring adapters.

Former-commit-id: 5af29b952df24741a1bec1a3ccb532ceaa84b45e
mandarjog pushed a commit that referenced this pull request Oct 31, 2017
Stopgap ingress TLS/SSL termination via command line argument.
mandarjog pushed a commit that referenced this pull request Nov 2, 2017
* Moving most of mixer/doc/dev/development.md here

https://github.com/istio/mixer/blob/master/doc/dev/development.md to
here with updates to make it a bit more generic than just mixer

* Also move conventions.md and performance.md here

* Review comments

And linking the conventions and perf docs

* minor update

Former-commit-id: 455a23d
howardjohn added a commit to howardjohn/istio that referenced this pull request Jan 12, 2020
howardjohn pushed a commit to howardjohn/istio that referenced this pull request Jan 12, 2020
This seems to work and generate a running operator, however, the operator
doesn't appear to do any work.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants