Paul Banks
|
8d09381b96
|
Super ugly hack to get TeamCity build to work for this PR without adding a vendor that is being added elsewhere and will conflict...
|
2018-06-14 09:41:58 -07:00 |
Paul Banks
|
d73f079d0f
|
Add X-Consul-ContentHash header; implement removing all proxies; add load/unload test.
|
2018-06-14 09:41:57 -07:00 |
Paul Banks
|
2a69663448
|
Agent Connect Proxy config endpoint with hash-based blocking
|
2018-06-14 09:41:57 -07:00 |
Paul Banks
|
3e3f0e1f31
|
HTTP agent registration allows proxy to be defined.
|
2018-06-14 09:41:57 -07:00 |
Paul Banks
|
e6071051cf
|
Added connect proxy config and local agent state setup on boot.
|
2018-06-14 09:41:57 -07:00 |
Paul Banks
|
88541bba17
|
Add tests all the way up through the endpoints to ensure duplicate src/destination is supported and so ultimately deny/allow nesting works.
Also adds a sanity check test for `api.Agent().ConnectAuthorize()` and a fix for a trivial bug in it.
|
2018-06-14 09:41:57 -07:00 |
Paul Banks
|
ed9f07c361
|
Allow duplicate source or destination, but enforce uniqueness across all four.
|
2018-06-14 09:41:57 -07:00 |
Paul Banks
|
10db79c8ae
|
Rework connect/proxy and command/connect/proxy. End to end demo working again
|
2018-06-14 09:41:57 -07:00 |
Paul Banks
|
26e65f6bfd
|
connect.Service based implementation after review feedback.
|
2018-06-14 09:41:56 -07:00 |
Mitchell Hashimoto
|
95da20ffd7
|
agent: rename authorize param ClientID to ClientCertURI
|
2018-06-14 09:41:56 -07:00 |
Mitchell Hashimoto
|
6e57233913
|
agent: add TODO for verification
|
2018-06-14 09:41:55 -07:00 |
Mitchell Hashimoto
|
5a47a53c70
|
acl: IntentionDefault => IntentionDefaultAllow
|
2018-06-14 09:41:55 -07:00 |
Mitchell Hashimoto
|
ac72a0c5fd
|
agent: ACL checks for authorize, default behavior
|
2018-06-14 09:41:55 -07:00 |
Mitchell Hashimoto
|
6dc2db94ea
|
agent/structs: String format for Intention, used for logging
|
2018-06-14 09:41:55 -07:00 |
Mitchell Hashimoto
|
fb7bccc690
|
agent: bolster commenting for clearer understandability
|
2018-06-14 09:41:55 -07:00 |
Mitchell Hashimoto
|
9a987d6452
|
agent: default deny on connect authorize endpoint
|
2018-06-14 09:41:54 -07:00 |
Mitchell Hashimoto
|
86a8ce45b9
|
agent: /v1/agent/connect/authorize is functional, with tests
|
2018-06-14 09:41:54 -07:00 |
Mitchell Hashimoto
|
3ef0b93159
|
agent/connect: Authorize for CertURI
|
2018-06-14 09:41:54 -07:00 |
Mitchell Hashimoto
|
70d1d5bf06
|
agent: get rid of method checks since they're done in the http layer
|
2018-06-14 09:41:54 -07:00 |
Paul Banks
|
9309422fd9
|
Add Connect agent, catalog and health endpoints to api Client
|
2018-06-14 09:41:54 -07:00 |
Mitchell Hashimoto
|
845f7cd8ad
|
agent/consul/state: ensure exactly one active CA exists when setting
|
2018-06-14 09:41:54 -07:00 |
Mitchell Hashimoto
|
ffe4cdfc15
|
agent/connect: support any values in the URL
|
2018-06-14 09:41:54 -07:00 |
Mitchell Hashimoto
|
75bf0e1638
|
agent/connect: support SpiffeIDSigning
|
2018-06-14 09:41:53 -07:00 |
Mitchell Hashimoto
|
17ca8ad083
|
agent/connect: rename SpiffeID to CertURI
|
2018-06-14 09:41:53 -07:00 |
Mitchell Hashimoto
|
0cbcb07d61
|
agent/connect: use proper keyusage fields for CA and leaf
|
2018-06-14 09:41:53 -07:00 |
Mitchell Hashimoto
|
73442ada5a
|
agent/connect: address PR feedback for the CA.go file
|
2018-06-14 09:41:53 -07:00 |
Mitchell Hashimoto
|
d28ee70a56
|
agent: implement an always-200 authorize endpoint
|
2018-06-14 09:41:53 -07:00 |
Mitchell Hashimoto
|
a54d1af421
|
agent/consul: encode issued cert serial number as hex encoded
|
2018-06-14 09:41:53 -07:00 |
Mitchell Hashimoto
|
4210003c86
|
agent/structs: hide some fields from JSON
|
2018-06-14 09:41:52 -07:00 |
Mitchell Hashimoto
|
63d674d07d
|
agent: /v1/connect/ca/configuration PUT for setting configuration
|
2018-06-14 09:41:52 -07:00 |
Mitchell Hashimoto
|
1c3dbc83ff
|
agent/consul/fsm,state: snapshot/restore for CA roots
|
2018-06-14 09:41:52 -07:00 |
Mitchell Hashimoto
|
90f423fd02
|
agent/consul/fsm,state: tests for CA root related changes
|
2018-06-14 09:41:52 -07:00 |
Mitchell Hashimoto
|
1c72639d60
|
agent/consul: set more fields on the issued cert
|
2018-06-14 09:41:52 -07:00 |
Mitchell Hashimoto
|
c2588262b7
|
agent: /v1/connect/ca/leaf/:service_id
|
2018-06-14 09:41:52 -07:00 |
Mitchell Hashimoto
|
571d9aa785
|
agent: CA root HTTP endpoints
|
2018-06-14 09:41:51 -07:00 |
Mitchell Hashimoto
|
e40afd6a73
|
agent/consul: CAS operations for setting the CA root
|
2018-06-14 09:41:51 -07:00 |
Mitchell Hashimoto
|
578db06600
|
agent/consul: tests for CA endpoints
|
2018-06-14 09:41:51 -07:00 |
Mitchell Hashimoto
|
891cd22ad9
|
agent/consul: key the public key of the CSR, verify in test
|
2018-06-14 09:41:51 -07:00 |
Mitchell Hashimoto
|
d768d5e9a7
|
agent/consul: test for ConnectCA.Sign
|
2018-06-14 09:41:51 -07:00 |
Mitchell Hashimoto
|
f4ec28bfe3
|
agent/consul: basic sign endpoint not tested yet
|
2018-06-14 09:41:51 -07:00 |
Mitchell Hashimoto
|
548ce190d5
|
agent/connect: package for agent-related Connect, parse SPIFFE IDs
|
2018-06-14 09:41:50 -07:00 |
Mitchell Hashimoto
|
6d294b6bb4
|
agent/structs: json omit QueryMeta
|
2018-06-14 09:41:50 -07:00 |
Mitchell Hashimoto
|
e7536e5485
|
agent: /v1/connect/ca/roots
|
2018-06-14 09:41:50 -07:00 |
Mitchell Hashimoto
|
5a950190f3
|
agent/consul: RPC endpoints to list roots
|
2018-06-14 09:41:50 -07:00 |
Mitchell Hashimoto
|
130098b7b5
|
agent/consul/state: CARoot structs and initial state store
|
2018-06-14 09:41:49 -07:00 |
Mitchell Hashimoto
|
4d852e62a3
|
agent: address PR feedback
|
2018-06-14 09:41:49 -07:00 |
Mitchell Hashimoto
|
22a0eb6c67
|
agent: commenting some tests
|
2018-06-14 09:41:49 -07:00 |
Mitchell Hashimoto
|
6313bc5615
|
agent: clarified a number of comments per PR feedback
|
2018-06-14 09:41:49 -07:00 |
Mitchell Hashimoto
|
353953fcd2
|
agent/consul: Health.ServiceNodes ACL check for Connect
|
2018-06-14 09:41:49 -07:00 |
Mitchell Hashimoto
|
b6c0cb7115
|
agent/consul: Catalog endpoint ACL requirements for Connect proxies
|
2018-06-14 09:41:49 -07:00 |
Mitchell Hashimoto
|
3b07686648
|
agent: remove ConnectProxyServiceName
|
2018-06-14 09:41:49 -07:00 |
Mitchell Hashimoto
|
2feef5f7a3
|
agent/consul: require name for proxies
|
2018-06-14 09:41:48 -07:00 |
Mitchell Hashimoto
|
714026dfb7
|
agent: validate service entry on register
|
2018-06-14 09:41:48 -07:00 |
Mitchell Hashimoto
|
125fb96ff1
|
agent/structs: tests for PartialClone and IsSame for proxy fields
|
2018-06-14 09:41:48 -07:00 |
Mitchell Hashimoto
|
9781cb1ace
|
agent/local: anti-entropy for connect proxy services
|
2018-06-14 09:41:48 -07:00 |
Mitchell Hashimoto
|
44ec8d94d2
|
agent: clean up connect/non-connect duplication by using shared methods
|
2018-06-14 09:41:48 -07:00 |
Mitchell Hashimoto
|
368137b81b
|
agent: /v1/health/connect/:service
|
2018-06-14 09:41:48 -07:00 |
Mitchell Hashimoto
|
7d79f9c46f
|
agent/consul: implement Health.ServiceNodes for Connect, DNS works
|
2018-06-14 09:41:47 -07:00 |
Mitchell Hashimoto
|
406366c45b
|
agent: working DNS for Connect queries, I think, but have to
implement Health endpoints to be sure
|
2018-06-14 09:41:47 -07:00 |
Mitchell Hashimoto
|
fd33b76ec2
|
agent: /v1/catalog/connect/:service
|
2018-06-14 09:41:47 -07:00 |
Mitchell Hashimoto
|
e01914a025
|
agent/consul: Catalog.ServiceNodes supports Connect filtering
|
2018-06-14 09:41:47 -07:00 |
Mitchell Hashimoto
|
2062e37270
|
agent/consul/state: ConnectServiceNodes
|
2018-06-14 09:41:47 -07:00 |
Mitchell Hashimoto
|
7ed26e2c64
|
agent/consul: enforce ACL on ProxyDestination
|
2018-06-14 09:41:47 -07:00 |
Mitchell Hashimoto
|
0c0c0a58e7
|
agent/consul: proxy registration and tests
|
2018-06-14 09:41:46 -07:00 |
Mitchell Hashimoto
|
68107e9767
|
agent: /v1/agent/services test with connect proxies (works w/ no change)
|
2018-06-14 09:41:46 -07:00 |
Mitchell Hashimoto
|
4d4a8443e8
|
agent: test /v1/catalog/node/:node to list connect proxies
|
2018-06-14 09:41:46 -07:00 |
Mitchell Hashimoto
|
6e257ea51c
|
agent: /v1/catalog/service/:service works with proxies
|
2018-06-14 09:41:46 -07:00 |
Mitchell Hashimoto
|
63e4a35827
|
agent/consul/state: convert proxy test to testify/assert
|
2018-06-14 09:41:46 -07:00 |
Mitchell Hashimoto
|
21c6fc623a
|
agent/consul/state: service registration with proxy works
|
2018-06-14 09:41:46 -07:00 |
Mitchell Hashimoto
|
a621afe72c
|
agent/consul: convert intention ACLs to testify/assert
|
2018-06-14 09:41:46 -07:00 |
Mitchell Hashimoto
|
9dc8aa0fb3
|
agent/consul,structs: add tests for ACL filter and prefix for intentions
|
2018-06-14 09:41:45 -07:00 |
Mitchell Hashimoto
|
5ac649af7f
|
agent/consul: Intention.Match ACLs
|
2018-06-14 09:41:45 -07:00 |
Mitchell Hashimoto
|
4d87601bf4
|
agent/consul: Intention.Get ACLs
|
2018-06-14 09:41:45 -07:00 |
Mitchell Hashimoto
|
9bbbb73734
|
agent/consul: Intention.Apply ACL on rename
|
2018-06-14 09:41:45 -07:00 |
Mitchell Hashimoto
|
01b644e213
|
agent/consul: tests for ACLs on Intention.Apply update/delete
|
2018-06-14 09:41:45 -07:00 |
Mitchell Hashimoto
|
a67ff1c0dc
|
agent/consul: Basic ACL on Intention.Apply
|
2018-06-14 09:41:44 -07:00 |
Mitchell Hashimoto
|
0719ff6905
|
agent: convert all intention tests to testify/assert
|
2018-06-14 09:41:44 -07:00 |
Mitchell Hashimoto
|
454ef7d106
|
agent/consul/fsm,state: snapshot/restore for intentions
|
2018-06-14 09:41:44 -07:00 |
Mitchell Hashimoto
|
80d068aaa4
|
agent: use UTC time for intention times, move empty list check to
agent/consul
|
2018-06-14 09:41:43 -07:00 |
Mitchell Hashimoto
|
370b2599a1
|
agent/consul/fsm: switch tests to use structs.TestIntention
|
2018-06-14 09:41:43 -07:00 |
Mitchell Hashimoto
|
97e2a73145
|
agent/consul/state: need to set Meta for intentions for tests
|
2018-06-14 09:41:43 -07:00 |
Mitchell Hashimoto
|
ad42f42a17
|
agent/consul/state: remove TODO
|
2018-06-14 09:41:43 -07:00 |
Mitchell Hashimoto
|
70858598e4
|
agent: use testing intention to get valid intentions
|
2018-06-14 09:41:43 -07:00 |
Mitchell Hashimoto
|
ab4ea3efb4
|
agent/consul: set default intention SourceType, validate it
|
2018-06-14 09:41:43 -07:00 |
Mitchell Hashimoto
|
d92993f75b
|
agent/structs: Intention validation
|
2018-06-14 09:41:42 -07:00 |
Mitchell Hashimoto
|
82a50245e0
|
agent/consul: support intention description, meta is non-nil
|
2018-06-14 09:41:42 -07:00 |
Mitchell Hashimoto
|
c12690b837
|
agent/consul/fsm: add tests for intention requests
|
2018-06-14 09:41:42 -07:00 |
Mitchell Hashimoto
|
a9743f4f15
|
agent,agent/consul: set default namespaces
|
2018-06-14 09:41:42 -07:00 |
Mitchell Hashimoto
|
10c370c0fb
|
agent/consul: set CreatedAt, UpdatedAt on intentions
|
2018-06-14 09:41:42 -07:00 |
Mitchell Hashimoto
|
d57a3ca2af
|
agent: GET /v1/connect/intentions/match
|
2018-06-14 09:41:42 -07:00 |
Mitchell Hashimoto
|
93de03fe8b
|
agent/consul: RPC endpoint for Intention.Match
|
2018-06-14 09:41:42 -07:00 |
Mitchell Hashimoto
|
f93edadbbe
|
agent/consul/state: IntentionMatch for performing match resolution
|
2018-06-14 09:41:41 -07:00 |
Mitchell Hashimoto
|
377479c01a
|
agent/structs: IntentionPrecedenceSorter for sorting based on precedence
|
2018-06-14 09:41:41 -07:00 |
Mitchell Hashimoto
|
dca483b4a2
|
agent: PUT /v1/connect/intentions/:id
|
2018-06-14 09:41:41 -07:00 |
Mitchell Hashimoto
|
faeb583162
|
agent: DELETE /v1/connect/intentions/:id
|
2018-06-14 09:41:41 -07:00 |
Mitchell Hashimoto
|
fb02e53536
|
agent/consul: test that Apply works to delete an intention
|
2018-06-14 09:41:41 -07:00 |
Mitchell Hashimoto
|
4417f37ede
|
agent/consul/state,fsm: support for deleting intentions
|
2018-06-14 09:41:41 -07:00 |
Mitchell Hashimoto
|
1b44c1befa
|
agent/consul: creating intention must not have ID set
|
2018-06-14 09:41:40 -07:00 |
Mitchell Hashimoto
|
771b1737e3
|
agent/consul: support updating intentions
|
2018-06-14 09:41:40 -07:00 |
Mitchell Hashimoto
|
0d96cdc0a5
|
agent: GET /v1/connect/intentions/:id
|
2018-06-14 09:41:40 -07:00 |