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

updating to linkerd 0.8.3, api auth support #855

Merged
merged 2 commits into from Dec 5, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
71 changes: 71 additions & 0 deletions repo/packages/L/linkerd/8/config.json
@@ -0,0 +1,71 @@
{
"$schema": "http://json-schema.org/schema#",
"type": "object",
"required": ["linkerd"],
"properties": {
"linkerd": {
"type": "object",
"required": ["admin-port", "cpus", "instances", "internal-port", "marathon-host", "marathon-port", "mem", "resource-roles", "routing-port"],
"properties": {
"instances": {
"default": 1,
"description": "Number of instances to run.",
"minimum": 1,
"type": "integer"
},
"admin-port": {
"default": 9990,
"description": "Admin port. Provides an administrative UI for this instance.",
"type": "integer"
},
"internal-port": {
"default": 4141,
"description": "Internal routing port.",
"type": "integer"
},
"routing-port": {
"default": 4140,
"description": "Routing port.",
"type": "integer"
},
"cpus": {
"default": 0.25,
"description": "CPU shares to allocate to each linkerd instance.",
"minimum": 0.25,
"type": "number"
},
"mem": {
"default": 256.0,
"description": "Memory (MB) to allocate to each linkerd task.",
"minimum": 256.0,
"type": "number"
},
"marathon-host": {
"default": "leader.mesos",
"description": "DC/OS leader hostname, for Marathon API access.",
"type": "string"
},
"marathon-port": {
"default": 8080,
"description": "DC/OS leader port, for Marathon API access.",
"type": "integer"
},
"marathon-uri-prefix": {
"default": "",
"description": "Marathon API prefix. Typically left blank, or '/marathon'.",
"type": "string"
},
"secret_name": {
"default": "",
"description": "Enterprise Only. Name of the Secret Store credentials to use for DC/OS service authentication. This should be left empty unless service authentication is needed. For more information see https://docs.mesosphere.com/1.8/administration/id-and-access-mgt/service-auth/custom-service-auth/",
"type": "string"
Copy link
Contributor

Choose a reason for hiding this comment

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

please update the dcos/examples to describe these new properties and also how the installation method changes. https://github.com/dcos/examples/tree/master/1.8/linkerd

Copy link
Contributor Author

Choose a reason for hiding this comment

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

},
"resource-roles": {
"default": "\"*\", \"slave_public\"",
"description": "The accepted resource roles (e.g. slave_public). By default, this will deploy to any agents with the \"*\" or \"slave_public\" roles.",
"type": "string"
}
}
}
}
}
57 changes: 57 additions & 0 deletions repo/packages/L/linkerd/8/marathon.json.mustache
@@ -0,0 +1,57 @@
{
"id": "linkerd",
"instances": {{linkerd.instances}},
"cpus": {{linkerd.cpus}},
"mem": {{linkerd.mem}},
"acceptedResourceRoles": [{{{linkerd.resource-roles}}}],
"constraints": [["hostname", "UNIQUE"]],
"container": {
"type": "DOCKER",
"docker": {
"image": "{{resource.assets.container.docker.linkerd-docker}}",
"network": "HOST",
"privileged": true
}
},
"healthChecks": [
{
"protocol": "HTTP",
"portIndex": 0,
"path": "/admin/ping"
}
],
"portDefinitions": [
{
"port": {{linkerd.admin-port}},
"protocol": "tcp",
"name": "admin"
},
{
"port": {{linkerd.routing-port}},
"protocol": "tcp",
"name": "outgoing"
},
{
"port": {{linkerd.internal-port}},
"protocol": "tcp",
"name": "incoming"
}
],
"requirePorts": true,
"labels": {
"DCOS_SERVICE_NAME": "linkerd",
"DCOS_SERVICE_SCHEME": "http",
"DCOS_SERVICE_PORT_INDEX": "0"
},
{{#linkerd.secret_name}}
"env": {
"DCOS_SERVICE_ACCOUNT_CREDENTIAL": { "secret": "serviceCredential" }
},
"secrets": {
"serviceCredential": {
"source": "{{linkerd.secret_name}}"
}
},
{{/linkerd.secret_name}}
"cmd": "echo \"{\\\"namers\\\":[{\\\"kind\\\":\\\"io.l5d.marathon\\\",\\\"host\\\":\\\"{{linkerd.marathon-host}}\\\",\\\"port\\\":{{linkerd.marathon-port}},\\\"prefix\\\":\\\"/io.l5d.marathon\\\",\\\"uriPrefix\\\":\\\"{{linkerd.marathon-uri-prefix}}\\\",\\\"experimental\\\":true}],\\\"routers\\\":[{\\\"protocol\\\":\\\"http\\\",\\\"servers\\\":[{\\\"port\\\":{{linkerd.routing-port}},\\\"ip\\\":\\\"0.0.0.0\\\"}],\\\"baseDtab\\\":\\\"/marathonId=>/#/io.l5d.marathon;/http/1.1/*=>/$/io.buoyant.http.domainToPathPfx/marathonId;\\\",\\\"label\\\":\\\"outgoing\\\",\\\"interpreter\\\":{\\\"kind\\\":\\\"default\\\",\\\"transformers\\\":[{\\\"kind\\\":\\\"io.l5d.port\\\",\\\"port\\\":{{linkerd.internal-port}}}]}},{\\\"protocol\\\":\\\"http\\\",\\\"servers\\\":[{\\\"port\\\":{{linkerd.internal-port}},\\\"ip\\\":\\\"0.0.0.0\\\"}],\\\"label\\\":\\\"incoming\\\",\\\"dstPrefix\\\":\\\"/\\\",\\\"identifier\\\":{\\\"kind\\\":\\\"io.l5d.header\\\",\\\"header\\\":\\\"l5d-dst-concrete\\\"},\\\"interpreter\\\":{\\\"kind\\\":\\\"default\\\",\\\"transformers\\\":[{\\\"kind\\\":\\\"io.l5d.localhost\\\"}]}}],\\\"admin\\\":{\\\"port\\\":{{linkerd.admin-port}}}}\"|/io.buoyant/linkerd/0.8.3/bundle-exec -- -"
}
19 changes: 19 additions & 0 deletions repo/packages/L/linkerd/8/package.json
@@ -0,0 +1,19 @@
{
"packagingVersion": "3.0",
"name": "linkerd",
"version": "0.8.3-0.1",
Copy link
Contributor

Choose a reason for hiding this comment

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

How are you managing the version here? I see that previous Universe version was 0.8.1-0.3
The format should be linkerdVersion-packagingVersion.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've typically been doing linkerdVersion-packageVersion. Where packageVersion starts at 0.1 and increments each time we release another universe package on the same version of linkerd:

  • 0.7.0-0.1
  • 0.8.1-0.1
  • 0.8.1-0.2
  • 0.8.1-0.3
  • 0.8.3-0.1

A good example of this was for 0.8.1-0.3 (#763).

I'm fine with whatever versioning scheme you folks want, but we do need a way to increment the version when the underlying linkerd itself is not changing.

Copy link
Contributor

Choose a reason for hiding this comment

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

cool. atm we're letting package maintainers decide how they want to manage it. I just want to understand. You may keep as it is.

"scm": "https://github.com/BuoyantIO/linkerd/",
"description": "A dynamic linker for microservices. Install, set your http proxy to $HOST:4140, and connect to your services via app name. linkerd will handle Marathon service discovery for you.",
"maintainer": "hello@buoyant.io",
"website": "https://linkerd.io",
"tags": ["linkerd", "namerd", "buoyant", "loadbalancer", "service-discovery", "proxy", "microservices", "rpc"],
"preInstallNotes": "We recommend a minimum of 0.25 CPUs and 256 MB of RAM available for linkerd. We also recommend running linkerd on every host. To ensure this, set instances to the number of nodes in your cluster. Installation Documentation: https://github.com/dcos/examples/tree/master/1.8/linkerd",
"postInstallNotes": "linkerd DC/OS Service has been successfully installed!\nSee https://linkerd.io for documentation.",
"postUninstallNotes": "linkerd DC/OS Service has been uninstalled and will no longer run.",
"licenses": [
{
"name": "Apache License Version 2.0",
"url": "https://github.com/BuoyantIO/linkerd/blob/master/LICENSE"
}
]
}
17 changes: 17 additions & 0 deletions repo/packages/L/linkerd/8/resource.json
@@ -0,0 +1,17 @@
{
"images": {
"icon-small": "https://linkerd.io/images/dcos/linkerd-logo-small.png",
"icon-medium": "https://linkerd.io/images/dcos/linkerd-logo-medium.png",
"icon-large": "https://linkerd.io/images/dcos/linkerd-logo-large.png",
"screenshots": [
"https://linkerd.io/images/dcos/linkerd-screenshot.png"
]
},
"assets": {
"container": {
"docker": {
"linkerd-docker": "buoyantio/linkerd:0.8.3"
}
}
}
}