Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
0a06949b
Commit
0a06949b
authored
Nov 13, 2019
by
Darren Shepherd
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update kine/dynamiclistener
parent
3d7781df
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
96 additions
and
30 deletions
+96
-30
go.mod
go.mod
+2
-2
go.sum
go.sum
+4
-4
gen.go
vendor/github.com/rancher/dynamiclistener/factory/gen.go
+13
-5
listener.go
vendor/github.com/rancher/dynamiclistener/listener.go
+23
-5
controller.go
.../rancher/dynamiclistener/storage/kubernetes/controller.go
+12
-0
dqlite.go
vendor/github.com/rancher/kine/pkg/drivers/dqlite/dqlite.go
+6
-1
generic.go
...or/github.com/rancher/kine/pkg/drivers/generic/generic.go
+11
-2
mysql.go
vendor/github.com/rancher/kine/pkg/drivers/mysql/mysql.go
+9
-3
pgsql.go
vendor/github.com/rancher/kine/pkg/drivers/pgsql/pgsql.go
+7
-1
sqlite.go
vendor/github.com/rancher/kine/pkg/drivers/sqlite/sqlite.go
+7
-0
logstructured.go
...ithub.com/rancher/kine/pkg/logstructured/logstructured.go
+0
-5
modules.txt
vendor/modules.txt
+2
-2
No files found.
go.mod
View file @
0a06949b
...
@@ -100,9 +100,9 @@ require (
...
@@ -100,9 +100,9 @@ require (
github.com/opencontainers/runc v1.0.0-rc2.0.20190611121236-6cc515888830
github.com/opencontainers/runc v1.0.0-rc2.0.20190611121236-6cc515888830
github.com/pkg/errors v0.8.1
github.com/pkg/errors v0.8.1
github.com/rakelkar/gonetsh v0.0.0-20190719023240-501daadcadf8 // indirect
github.com/rakelkar/gonetsh v0.0.0-20190719023240-501daadcadf8 // indirect
github.com/rancher/dynamiclistener v0.1.1-0.2019111
0035254-aaa5bc0d2a07
github.com/rancher/dynamiclistener v0.1.1-0.2019111
3144757-736b5d5d8b51
github.com/rancher/helm-controller v0.2.2
github.com/rancher/helm-controller v0.2.2
github.com/rancher/kine v0.2.
1
github.com/rancher/kine v0.2.
2
github.com/rancher/remotedialer v0.2.0
github.com/rancher/remotedialer v0.2.0
github.com/rancher/wrangler v0.2.0
github.com/rancher/wrangler v0.2.0
github.com/rancher/wrangler-api v0.2.0
github.com/rancher/wrangler-api v0.2.0
...
...
go.sum
View file @
0a06949b
...
@@ -584,16 +584,16 @@ github.com/rancher/cri v1.3.0-k3s.2 h1:k2XFyD+ZdsGvNfugdvqD38KSMANT3JmTFULFM2CtI
...
@@ -584,16 +584,16 @@ github.com/rancher/cri v1.3.0-k3s.2 h1:k2XFyD+ZdsGvNfugdvqD38KSMANT3JmTFULFM2CtI
github.com/rancher/cri v1.3.0-k3s.2/go.mod h1:Ht5T1dIKzm+4NExmb7wDVG6qR+j0xeXIjjhCv1d9geY=
github.com/rancher/cri v1.3.0-k3s.2/go.mod h1:Ht5T1dIKzm+4NExmb7wDVG6qR+j0xeXIjjhCv1d9geY=
github.com/rancher/cri-tools v1.16.1-k3s.1 h1:iporgQ46noE6dtLzq6fWcIO2qjyPZy2m42d2P+UnGJg=
github.com/rancher/cri-tools v1.16.1-k3s.1 h1:iporgQ46noE6dtLzq6fWcIO2qjyPZy2m42d2P+UnGJg=
github.com/rancher/cri-tools v1.16.1-k3s.1/go.mod h1:TEKhKv2EJIZp+p9jnEy4C63g8CosJzsI4kyKKkHag+8=
github.com/rancher/cri-tools v1.16.1-k3s.1/go.mod h1:TEKhKv2EJIZp+p9jnEy4C63g8CosJzsI4kyKKkHag+8=
github.com/rancher/dynamiclistener v0.1.1-0.2019111
0035254-aaa5bc0d2a07 h1:wR1hnAh7d7ZicsAwDyw2nfvGFDOvPojcfClwA8WGy5g
=
github.com/rancher/dynamiclistener v0.1.1-0.2019111
3144757-736b5d5d8b51 h1:+UOLT6b1Of/gSiLR1i+m81ITu79vUpIU8zpsxbY4Hlw
=
github.com/rancher/dynamiclistener v0.1.1-0.2019111
0035254-aaa5bc0d2a07
/go.mod h1:fs/dxyNcB3YT6W9fVz4bDGfhmSQS17QQup6BIcGF++s=
github.com/rancher/dynamiclistener v0.1.1-0.2019111
3144757-736b5d5d8b51
/go.mod h1:fs/dxyNcB3YT6W9fVz4bDGfhmSQS17QQup6BIcGF++s=
github.com/rancher/flannel v0.11.0-k3s.1 h1:mIwnfWDafjzQgFkZeJ1AkFrrAT3EdBaA1giE0eLJKo8=
github.com/rancher/flannel v0.11.0-k3s.1 h1:mIwnfWDafjzQgFkZeJ1AkFrrAT3EdBaA1giE0eLJKo8=
github.com/rancher/flannel v0.11.0-k3s.1/go.mod h1:Hn4ZV+eq0LhLZP63xZnxdGwXEoRSxs5sxELxu27M3UA=
github.com/rancher/flannel v0.11.0-k3s.1/go.mod h1:Hn4ZV+eq0LhLZP63xZnxdGwXEoRSxs5sxELxu27M3UA=
github.com/rancher/go-dqlite v1.1.0-k3s.1 h1:w3ghNkY5vqRnnrcqxvHkpBQr6E+R/nIwJfaGdNgJAiw=
github.com/rancher/go-dqlite v1.1.0-k3s.1 h1:w3ghNkY5vqRnnrcqxvHkpBQr6E+R/nIwJfaGdNgJAiw=
github.com/rancher/go-dqlite v1.1.0-k3s.1/go.mod h1:lj8UhpkZddn/Ag0tBsnkbELbxHGMpzrZLMs/nW9/DX4=
github.com/rancher/go-dqlite v1.1.0-k3s.1/go.mod h1:lj8UhpkZddn/Ag0tBsnkbELbxHGMpzrZLMs/nW9/DX4=
github.com/rancher/helm-controller v0.2.2 h1:MUqisy53/Ay1EYOF2uTCYBbGpgtZLNKKrI01BdxIbQo=
github.com/rancher/helm-controller v0.2.2 h1:MUqisy53/Ay1EYOF2uTCYBbGpgtZLNKKrI01BdxIbQo=
github.com/rancher/helm-controller v0.2.2/go.mod h1:0JkL0UjxddNbT4FmLoESarD4Mz8xzA5YlejqJ/U4g+8=
github.com/rancher/helm-controller v0.2.2/go.mod h1:0JkL0UjxddNbT4FmLoESarD4Mz8xzA5YlejqJ/U4g+8=
github.com/rancher/kine v0.2.
1 h1:pK7QJUVA+/oU6esxKa/LIlBbeLl2HGWIwmu8xrROukQ
=
github.com/rancher/kine v0.2.
2 h1:dN5jZK1x3t5CqqEz05EImBjtxQm7ANeLmNJ8rA2jB90
=
github.com/rancher/kine v0.2.
1
/go.mod h1:SdBUuE7e3XyrJvdBxCl9TMMapF+wyZnMZSP/H59OqNE=
github.com/rancher/kine v0.2.
2
/go.mod h1:SdBUuE7e3XyrJvdBxCl9TMMapF+wyZnMZSP/H59OqNE=
github.com/rancher/kubernetes v1.16.2-k3s.1 h1:+oJEecXgQDkEOD/X8z2YUdYVonbXZtGzXsmtKDPYesg=
github.com/rancher/kubernetes v1.16.2-k3s.1 h1:+oJEecXgQDkEOD/X8z2YUdYVonbXZtGzXsmtKDPYesg=
github.com/rancher/kubernetes v1.16.2-k3s.1/go.mod h1:SmhGgKfQ30imqjFVj8AI+iW+zSyFsswNErKYeTfgoH0=
github.com/rancher/kubernetes v1.16.2-k3s.1/go.mod h1:SmhGgKfQ30imqjFVj8AI+iW+zSyFsswNErKYeTfgoH0=
github.com/rancher/kubernetes/staging/src/k8s.io/api v1.16.2-k3s.1 h1:2kK5KD6MU86txBYKG+tM6j5zbey02DaIDtwpG5JsfnI=
github.com/rancher/kubernetes/staging/src/k8s.io/api v1.16.2-k3s.1 h1:2kK5KD6MU86txBYKG+tM6j5zbey02DaIDtwpG5JsfnI=
...
...
vendor/github.com/rancher/dynamiclistener/factory/gen.go
View file @
0a06949b
...
@@ -29,16 +29,20 @@ type TLS struct {
...
@@ -29,16 +29,20 @@ type TLS struct {
Organization
[]
string
Organization
[]
string
}
}
func
collectCNs
(
secret
*
v1
.
Secret
)
(
domains
[]
string
,
ips
[]
net
.
IP
,
hash
string
,
err
error
)
{
func
cns
(
secret
*
v1
.
Secret
)
(
cns
[]
string
)
{
var
(
cns
[]
string
digest
=
sha256
.
New
()
)
for
k
,
v
:=
range
secret
.
Annotations
{
for
k
,
v
:=
range
secret
.
Annotations
{
if
strings
.
HasPrefix
(
k
,
cnPrefix
)
{
if
strings
.
HasPrefix
(
k
,
cnPrefix
)
{
cns
=
append
(
cns
,
v
)
cns
=
append
(
cns
,
v
)
}
}
}
}
return
}
func
collectCNs
(
secret
*
v1
.
Secret
)
(
domains
[]
string
,
ips
[]
net
.
IP
,
hash
string
,
err
error
)
{
var
(
cns
=
cns
(
secret
)
digest
=
sha256
.
New
()
)
sort
.
Strings
(
cns
)
sort
.
Strings
(
cns
)
...
@@ -56,6 +60,10 @@ func collectCNs(secret *v1.Secret) (domains []string, ips []net.IP, hash string,
...
@@ -56,6 +60,10 @@ func collectCNs(secret *v1.Secret) (domains []string, ips []net.IP, hash string,
return
return
}
}
func
(
t
*
TLS
)
Merge
(
secret
,
other
*
v1
.
Secret
)
(
*
v1
.
Secret
,
bool
,
error
)
{
return
t
.
AddCN
(
secret
,
cns
(
other
)
...
)
}
func
(
t
*
TLS
)
AddCN
(
secret
*
v1
.
Secret
,
cn
...
string
)
(
*
v1
.
Secret
,
bool
,
error
)
{
func
(
t
*
TLS
)
AddCN
(
secret
*
v1
.
Secret
,
cn
...
string
)
(
*
v1
.
Secret
,
bool
,
error
)
{
var
(
var
(
err
error
err
error
...
...
vendor/github.com/rancher/dynamiclistener/listener.go
View file @
0a06949b
...
@@ -6,6 +6,7 @@ import (
...
@@ -6,6 +6,7 @@ import (
"crypto/x509"
"crypto/x509"
"net"
"net"
"net/http"
"net/http"
"strings"
"sync"
"sync"
"github.com/rancher/dynamiclistener/factory"
"github.com/rancher/dynamiclistener/factory"
...
@@ -18,6 +19,10 @@ type TLSStorage interface {
...
@@ -18,6 +19,10 @@ type TLSStorage interface {
Update
(
secret
*
v1
.
Secret
)
error
Update
(
secret
*
v1
.
Secret
)
error
}
}
type
SetFactory
interface
{
SetFactory
(
tls
*
factory
.
TLS
)
}
type
Config
struct
{
type
Config
struct
{
CN
string
CN
string
Organization
[]
string
Organization
[]
string
...
@@ -47,6 +52,10 @@ func NewListener(l net.Listener, storage TLSStorage, caCert *x509.Certificate, c
...
@@ -47,6 +52,10 @@ func NewListener(l net.Listener, storage TLSStorage, caCert *x509.Certificate, c
}
}
dynamicListener
.
tlsConfig
.
GetCertificate
=
dynamicListener
.
getCertificate
dynamicListener
.
tlsConfig
.
GetCertificate
=
dynamicListener
.
getCertificate
if
setter
,
ok
:=
storage
.
(
SetFactory
);
ok
{
setter
.
SetFactory
(
dynamicListener
.
factory
)
}
return
tls
.
NewListener
(
dynamicListener
,
&
dynamicListener
.
tlsConfig
),
dynamicListener
.
cacheHandler
(),
nil
return
tls
.
NewListener
(
dynamicListener
,
&
dynamicListener
.
tlsConfig
),
dynamicListener
.
cacheHandler
(),
nil
}
}
...
@@ -60,9 +69,16 @@ type listener struct {
...
@@ -60,9 +69,16 @@ type listener struct {
tlsConfig
tls
.
Config
tlsConfig
tls
.
Config
cert
*
tls
.
Certificate
cert
*
tls
.
Certificate
sans
[]
string
sans
[]
string
init
sync
.
Once
}
}
func
(
l
*
listener
)
Accept
()
(
net
.
Conn
,
error
)
{
func
(
l
*
listener
)
Accept
()
(
net
.
Conn
,
error
)
{
l
.
init
.
Do
(
func
()
{
if
len
(
l
.
sans
)
>
0
{
l
.
updateCert
(
l
.
sans
...
)
}
})
conn
,
err
:=
l
.
Listener
.
Accept
()
conn
,
err
:=
l
.
Listener
.
Accept
()
if
err
!=
nil
{
if
err
!=
nil
{
return
conn
,
err
return
conn
,
err
...
@@ -79,8 +95,10 @@ func (l *listener) Accept() (net.Conn, error) {
...
@@ -79,8 +95,10 @@ func (l *listener) Accept() (net.Conn, error) {
return
conn
,
nil
return
conn
,
nil
}
}
if
err
:=
l
.
updateCert
(
host
);
err
!=
nil
{
if
!
strings
.
Contains
(
host
,
":"
)
{
logrus
.
Infof
(
"failed to create TLS cert for: %s"
,
host
)
if
err
:=
l
.
updateCert
(
host
);
err
!=
nil
{
logrus
.
Infof
(
"failed to create TLS cert for: %s"
,
host
)
}
}
}
return
conn
,
nil
return
conn
,
nil
...
@@ -96,7 +114,7 @@ func (l *listener) getCertificate(hello *tls.ClientHelloInfo) (*tls.Certificate,
...
@@ -96,7 +114,7 @@ func (l *listener) getCertificate(hello *tls.ClientHelloInfo) (*tls.Certificate,
return
l
.
loadCert
()
return
l
.
loadCert
()
}
}
func
(
l
*
listener
)
updateCert
(
cn
string
)
error
{
func
(
l
*
listener
)
updateCert
(
cn
...
string
)
error
{
l
.
RLock
()
l
.
RLock
()
defer
l
.
RUnlock
()
defer
l
.
RUnlock
()
...
@@ -105,7 +123,7 @@ func (l *listener) updateCert(cn string) error {
...
@@ -105,7 +123,7 @@ func (l *listener) updateCert(cn string) error {
return
err
return
err
}
}
if
!
factory
.
NeedsUpdate
(
secret
,
append
(
l
.
sans
,
cn
)
...
)
{
if
!
factory
.
NeedsUpdate
(
secret
,
cn
...
)
{
return
nil
return
nil
}
}
...
@@ -114,7 +132,7 @@ func (l *listener) updateCert(cn string) error {
...
@@ -114,7 +132,7 @@ func (l *listener) updateCert(cn string) error {
defer
l
.
RLock
()
defer
l
.
RLock
()
defer
l
.
Unlock
()
defer
l
.
Unlock
()
secret
,
updated
,
err
:=
l
.
factory
.
AddCN
(
secret
,
append
(
l
.
sans
,
cn
)
...
)
secret
,
updated
,
err
:=
l
.
factory
.
AddCN
(
secret
,
append
(
l
.
sans
,
cn
...
)
...
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
...
vendor/github.com/rancher/dynamiclistener/storage/kubernetes/controller.go
View file @
0a06949b
...
@@ -6,6 +6,7 @@ import (
...
@@ -6,6 +6,7 @@ import (
"time"
"time"
"github.com/rancher/dynamiclistener"
"github.com/rancher/dynamiclistener"
"github.com/rancher/dynamiclistener/factory"
"github.com/rancher/wrangler-api/pkg/generated/controllers/core"
"github.com/rancher/wrangler-api/pkg/generated/controllers/core"
v1controller
"github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1"
v1controller
"github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1"
"github.com/rancher/wrangler/pkg/start"
"github.com/rancher/wrangler/pkg/start"
...
@@ -54,6 +55,11 @@ type storage struct {
...
@@ -54,6 +55,11 @@ type storage struct {
storage
dynamiclistener
.
TLSStorage
storage
dynamiclistener
.
TLSStorage
secrets
v1controller
.
SecretClient
secrets
v1controller
.
SecretClient
ctx
context
.
Context
ctx
context
.
Context
tls
*
factory
.
TLS
}
func
(
s
*
storage
)
SetFactory
(
tls
*
factory
.
TLS
)
{
s
.
tls
=
tls
}
}
func
(
s
*
storage
)
init
(
secrets
v1controller
.
SecretController
)
{
func
(
s
*
storage
)
init
(
secrets
v1controller
.
SecretController
)
{
...
@@ -105,6 +111,12 @@ func (s *storage) saveInK8s(secret *v1.Secret) (*v1.Secret, error) {
...
@@ -105,6 +111,12 @@ func (s *storage) saveInK8s(secret *v1.Secret) (*v1.Secret, error) {
return
secret
,
nil
return
secret
,
nil
}
}
if
existing
,
err
:=
s
.
storage
.
Get
();
err
==
nil
&&
s
.
tls
!=
nil
{
if
newSecret
,
updated
,
err
:=
s
.
tls
.
Merge
(
secret
,
existing
);
err
==
nil
&&
updated
{
secret
=
newSecret
}
}
targetSecret
,
err
:=
s
.
targetSecret
()
targetSecret
,
err
:=
s
.
targetSecret
()
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
...
...
vendor/github.com/rancher/kine/pkg/drivers/dqlite/dqlite.go
View file @
0a06949b
...
@@ -91,7 +91,6 @@ func New(ctx context.Context, datasourceName string) (server.Backend, error) {
...
@@ -91,7 +91,6 @@ func New(ctx context.Context, datasourceName string) (server.Backend, error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
if
err
:=
migrate
(
ctx
,
generic
.
DB
);
err
!=
nil
{
if
err
:=
migrate
(
ctx
,
generic
.
DB
);
err
!=
nil
{
return
nil
,
errors
.
Wrap
(
err
,
"failed to migrate DB from sqlite"
)
return
nil
,
errors
.
Wrap
(
err
,
"failed to migrate DB from sqlite"
)
}
}
...
@@ -103,6 +102,12 @@ func New(ctx context.Context, datasourceName string) (server.Backend, error) {
...
@@ -103,6 +102,12 @@ func New(ctx context.Context, datasourceName string) (server.Backend, error) {
}
}
return
false
return
false
}
}
generic
.
TranslateErr
=
func
(
err
error
)
error
{
if
strings
.
Contains
(
err
.
Error
(),
"UNIQUE constraint"
)
{
return
server
.
ErrKeyExists
}
return
err
}
return
backend
,
nil
return
backend
,
nil
}
}
...
...
vendor/github.com/rancher/kine/pkg/drivers/generic/generic.go
View file @
0a06949b
...
@@ -12,7 +12,6 @@ import (
...
@@ -12,7 +12,6 @@ import (
"github.com/Rican7/retry/backoff"
"github.com/Rican7/retry/backoff"
"github.com/Rican7/retry/strategy"
"github.com/Rican7/retry/strategy"
"github.com/sirupsen/logrus"
"github.com/sirupsen/logrus"
)
)
...
@@ -63,6 +62,7 @@ func (s Stripped) String() string {
...
@@ -63,6 +62,7 @@ func (s Stripped) String() string {
}
}
type
ErrRetry
func
(
error
)
bool
type
ErrRetry
func
(
error
)
bool
type
TranslateErr
func
(
error
)
error
type
Generic
struct
{
type
Generic
struct
{
sync
.
Mutex
sync
.
Mutex
...
@@ -83,6 +83,7 @@ type Generic struct {
...
@@ -83,6 +83,7 @@ type Generic struct {
FillSQL
string
FillSQL
string
InsertLastInsertIDSQL
string
InsertLastInsertIDSQL
string
Retry
ErrRetry
Retry
ErrRetry
TranslateErr
TranslateErr
}
}
func
q
(
sql
,
param
string
,
numbered
bool
)
string
{
func
q
(
sql
,
param
string
,
numbered
bool
)
string
{
...
@@ -308,6 +309,14 @@ func (d *Generic) IsFill(key string) bool {
...
@@ -308,6 +309,14 @@ func (d *Generic) IsFill(key string) bool {
}
}
func
(
d
*
Generic
)
Insert
(
ctx
context
.
Context
,
key
string
,
create
,
delete
bool
,
createRevision
,
previousRevision
int64
,
ttl
int64
,
value
,
prevValue
[]
byte
)
(
id
int64
,
err
error
)
{
func
(
d
*
Generic
)
Insert
(
ctx
context
.
Context
,
key
string
,
create
,
delete
bool
,
createRevision
,
previousRevision
int64
,
ttl
int64
,
value
,
prevValue
[]
byte
)
(
id
int64
,
err
error
)
{
if
d
.
TranslateErr
!=
nil
{
defer
func
()
{
if
err
!=
nil
{
err
=
d
.
TranslateErr
(
err
)
}
}()
}
cVal
:=
0
cVal
:=
0
dVal
:=
0
dVal
:=
0
if
create
{
if
create
{
...
@@ -320,7 +329,7 @@ func (d *Generic) Insert(ctx context.Context, key string, create, delete bool, c
...
@@ -320,7 +329,7 @@ func (d *Generic) Insert(ctx context.Context, key string, create, delete bool, c
if
d
.
LastInsertID
{
if
d
.
LastInsertID
{
row
,
err
:=
d
.
execute
(
ctx
,
d
.
InsertLastInsertIDSQL
,
key
,
cVal
,
dVal
,
createRevision
,
previousRevision
,
ttl
,
value
,
prevValue
)
row
,
err
:=
d
.
execute
(
ctx
,
d
.
InsertLastInsertIDSQL
,
key
,
cVal
,
dVal
,
createRevision
,
previousRevision
,
ttl
,
value
,
prevValue
)
if
err
!=
nil
{
if
err
!=
nil
{
return
0
0
,
err
return
0
,
err
}
}
return
row
.
LastInsertId
()
return
row
.
LastInsertId
()
}
}
...
...
vendor/github.com/rancher/kine/pkg/drivers/mysql/mysql.go
View file @
0a06949b
...
@@ -23,7 +23,7 @@ var (
...
@@ -23,7 +23,7 @@ var (
`create table if not exists kine
`create table if not exists kine
(
(
id INTEGER AUTO_INCREMENT,
id INTEGER AUTO_INCREMENT,
name
TEXT
,
name
VARCHAR(630)
,
created INTEGER,
created INTEGER,
deleted INTEGER,
deleted INTEGER,
create_revision INTEGER,
create_revision INTEGER,
...
@@ -34,8 +34,8 @@ var (
...
@@ -34,8 +34,8 @@ var (
PRIMARY KEY (id)
PRIMARY KEY (id)
);`
,
);`
,
}
}
nameIdx
=
"create index kine_name_index on kine (name
(100)
)"
nameIdx
=
"create index kine_name_index on kine (name)"
revisionIdx
=
"create unique index kine_name_prev_revision_uindex on kine (name
(100)
, prev_revision)"
revisionIdx
=
"create unique index kine_name_prev_revision_uindex on kine (name, prev_revision)"
createDB
=
"create database if not exists "
createDB
=
"create database if not exists "
)
)
...
@@ -63,6 +63,12 @@ func New(dataSourceName string, tlsInfo tls.Config) (server.Backend, error) {
...
@@ -63,6 +63,12 @@ func New(dataSourceName string, tlsInfo tls.Config) (server.Backend, error) {
return
nil
,
err
return
nil
,
err
}
}
dialect
.
LastInsertID
=
true
dialect
.
LastInsertID
=
true
dialect
.
TranslateErr
=
func
(
err
error
)
error
{
if
err
,
ok
:=
err
.
(
*
mysql
.
MySQLError
);
ok
&&
err
.
Number
==
1062
{
return
server
.
ErrKeyExists
}
return
err
}
if
err
:=
setup
(
dialect
.
DB
);
err
!=
nil
{
if
err
:=
setup
(
dialect
.
DB
);
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
...
vendor/github.com/rancher/kine/pkg/drivers/pgsql/pgsql.go
View file @
0a06949b
...
@@ -25,7 +25,7 @@ var (
...
@@ -25,7 +25,7 @@ var (
`create table if not exists kine
`create table if not exists kine
(
(
id SERIAL PRIMARY KEY,
id SERIAL PRIMARY KEY,
name TEXT
,
name VARCHAR(630)
,
created INTEGER,
created INTEGER,
deleted INTEGER,
deleted INTEGER,
create_revision INTEGER,
create_revision INTEGER,
...
@@ -54,6 +54,12 @@ func New(dataSourceName string, tlsInfo tls.Config) (server.Backend, error) {
...
@@ -54,6 +54,12 @@ func New(dataSourceName string, tlsInfo tls.Config) (server.Backend, error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
dialect
.
TranslateErr
=
func
(
err
error
)
error
{
if
err
,
ok
:=
err
.
(
*
pq
.
Error
);
ok
&&
err
.
Code
==
"23505"
{
return
server
.
ErrKeyExists
}
return
err
}
if
err
:=
setup
(
dialect
.
DB
);
err
!=
nil
{
if
err
:=
setup
(
dialect
.
DB
);
err
!=
nil
{
return
nil
,
err
return
nil
,
err
...
...
vendor/github.com/rancher/kine/pkg/drivers/sqlite/sqlite.go
View file @
0a06949b
...
@@ -5,6 +5,7 @@ import (
...
@@ -5,6 +5,7 @@ import (
"database/sql"
"database/sql"
"os"
"os"
"github.com/mattn/go-sqlite3"
"github.com/rancher/kine/pkg/drivers/generic"
"github.com/rancher/kine/pkg/drivers/generic"
"github.com/rancher/kine/pkg/logstructured"
"github.com/rancher/kine/pkg/logstructured"
"github.com/rancher/kine/pkg/logstructured/sqllog"
"github.com/rancher/kine/pkg/logstructured/sqllog"
...
@@ -51,6 +52,12 @@ func NewVariant(driverName, dataSourceName string) (server.Backend, *generic.Gen
...
@@ -51,6 +52,12 @@ func NewVariant(driverName, dataSourceName string) (server.Backend, *generic.Gen
return
nil
,
nil
,
err
return
nil
,
nil
,
err
}
}
dialect
.
LastInsertID
=
true
dialect
.
LastInsertID
=
true
dialect
.
TranslateErr
=
func
(
err
error
)
error
{
if
err
,
ok
:=
err
.
(
sqlite3
.
Error
);
ok
&&
err
.
ExtendedCode
==
sqlite3
.
ErrConstraintUnique
{
return
server
.
ErrKeyExists
}
return
err
}
if
err
:=
setup
(
dialect
.
DB
);
err
!=
nil
{
if
err
:=
setup
(
dialect
.
DB
);
err
!=
nil
{
return
nil
,
nil
,
err
return
nil
,
nil
,
err
...
...
vendor/github.com/rancher/kine/pkg/logstructured/logstructured.go
View file @
0a06949b
...
@@ -108,11 +108,6 @@ func (l *LogStructured) Create(ctx context.Context, key string, value []byte, le
...
@@ -108,11 +108,6 @@ func (l *LogStructured) Create(ctx context.Context, key string, value []byte, le
}
}
revRet
,
errRet
=
l
.
log
.
Append
(
ctx
,
createEvent
)
revRet
,
errRet
=
l
.
log
.
Append
(
ctx
,
createEvent
)
if
errRet
!=
nil
{
if
_
,
prevEvent
,
err
:=
l
.
get
(
ctx
,
key
,
0
,
true
);
err
==
nil
&&
prevEvent
!=
nil
&&
!
prevEvent
.
Delete
{
return
0
,
server
.
ErrKeyExists
}
}
return
return
}
}
...
...
vendor/modules.txt
View file @
0a06949b
...
@@ -748,7 +748,7 @@ github.com/prometheus/procfs/internal/util
...
@@ -748,7 +748,7 @@ github.com/prometheus/procfs/internal/util
# github.com/rakelkar/gonetsh v0.0.0-20190719023240-501daadcadf8
# github.com/rakelkar/gonetsh v0.0.0-20190719023240-501daadcadf8
github.com/rakelkar/gonetsh/netroute
github.com/rakelkar/gonetsh/netroute
github.com/rakelkar/gonetsh/netsh
github.com/rakelkar/gonetsh/netsh
# github.com/rancher/dynamiclistener v0.1.1-0.2019111
0035254-aaa5bc0d2a07
# github.com/rancher/dynamiclistener v0.1.1-0.2019111
3144757-736b5d5d8b51
github.com/rancher/dynamiclistener
github.com/rancher/dynamiclistener
github.com/rancher/dynamiclistener/factory
github.com/rancher/dynamiclistener/factory
github.com/rancher/dynamiclistener/storage/file
github.com/rancher/dynamiclistener/storage/file
...
@@ -769,7 +769,7 @@ github.com/rancher/helm-controller/pkg/generated/informers/externalversions/helm
...
@@ -769,7 +769,7 @@ github.com/rancher/helm-controller/pkg/generated/informers/externalversions/helm
github.com/rancher/helm-controller/pkg/generated/listers/helm.cattle.io/v1
github.com/rancher/helm-controller/pkg/generated/listers/helm.cattle.io/v1
github.com/rancher/helm-controller/pkg/generated/informers/externalversions/internalinterfaces
github.com/rancher/helm-controller/pkg/generated/informers/externalversions/internalinterfaces
github.com/rancher/helm-controller/pkg/apis/helm.cattle.io
github.com/rancher/helm-controller/pkg/apis/helm.cattle.io
# github.com/rancher/kine v0.2.
1
# github.com/rancher/kine v0.2.
2
github.com/rancher/kine/pkg/client
github.com/rancher/kine/pkg/client
github.com/rancher/kine/pkg/endpoint
github.com/rancher/kine/pkg/endpoint
github.com/rancher/kine/pkg/drivers/dqlite
github.com/rancher/kine/pkg/drivers/dqlite
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment