aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/directives.go1
-rw-r--r--core/setup/kubernetes.go93
2 files changed, 94 insertions, 0 deletions
diff --git a/core/directives.go b/core/directives.go
index 3de69f8fb..63e245578 100644
--- a/core/directives.go
+++ b/core/directives.go
@@ -65,6 +65,7 @@ var directiveOrder = []directive{
{"file", setup.File},
{"secondary", setup.Secondary},
{"etcd", setup.Etcd},
+ {"kubernetes", setup.Kubernetes},
{"proxy", setup.Proxy},
}
diff --git a/core/setup/kubernetes.go b/core/setup/kubernetes.go
new file mode 100644
index 000000000..8f21286f5
--- /dev/null
+++ b/core/setup/kubernetes.go
@@ -0,0 +1,93 @@
+package setup
+
+import (
+// "crypto/tls"
+// "crypto/x509"
+ "fmt"
+// "io/ioutil"
+// "net"
+// "net/http"
+// "time"
+
+ "github.com/miekg/coredns/middleware"
+ "github.com/miekg/coredns/middleware/kubernetes"
+ k8sc "github.com/miekg/coredns/middleware/kubernetes/k8sclient"
+ "github.com/miekg/coredns/middleware/proxy"
+// "github.com/miekg/coredns/middleware/singleflight"
+
+ "golang.org/x/net/context"
+)
+
+const defaultK8sEndpoint = "http://localhost:8080"
+
+// Kubernetes sets up the kubernetes middleware.
+func Kubernetes(c *Controller) (middleware.Middleware, error) {
+ fmt.Println("controller %v", c)
+ // TODO: Determine if subzone support required
+
+ kubernetes, err := kubernetesParse(c)
+
+ if err != nil {
+ return nil, err
+ }
+
+ return func(next middleware.Handler) middleware.Handler {
+ kubernetes.Next = next
+ return kubernetes
+ }, nil
+}
+
+func kubernetesParse(c *Controller) (kubernetes.Kubernetes, error) {
+
+ /*
+ * TODO: Remove unused state and simplify.
+ * Inflight and Ctx might not be needed. Leaving in place until
+ * we take a pass at API caching and optimizing connector to the
+ * k8s API. Single flight (or limited upper-bound) for inflight
+ * API calls may be desirable.
+ */
+
+ k8s := kubernetes.Kubernetes{
+ Proxy: proxy.New([]string{}),
+ Ctx: context.Background(),
+// Inflight: &singleflight.Group{},
+ APIConn: nil,
+ }
+ var (
+ endpoints = []string{defaultK8sEndpoint}
+ )
+ for c.Next() {
+ if c.Val() == "kubernetes" {
+ k8s.Zones = c.RemainingArgs()
+ if len(k8s.Zones) == 0 {
+ k8s.Zones = c.ServerBlockHosts
+ }
+ middleware.Zones(k8s.Zones).FullyQualify()
+ if c.NextBlock() {
+ // TODO(miek): 2 switches?
+ switch c.Val() {
+ case "endpoint":
+ args := c.RemainingArgs()
+ if len(args) == 0 {
+ return kubernetes.Kubernetes{}, c.ArgErr()
+ }
+ endpoints = args
+ k8s.APIConn = k8sc.NewK8sConnector(endpoints[0])
+ }
+ for c.Next() {
+ switch c.Val() {
+ case "endpoint":
+ args := c.RemainingArgs()
+ if len(args) == 0 {
+ return kubernetes.Kubernetes{}, c.ArgErr()
+ }
+ endpoints = args
+ }
+ }
+ }
+ return k8s, nil
+ }
+ fmt.Println("endpoints='%v'", endpoints)
+ }
+ return kubernetes.Kubernetes{}, nil
+}
x-if-needed'>revert-5167-dylan/decode-regex-if-needed Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/src/js/builtins/EventSource.ts (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2023-10-17Remove ancient changelogGravatar Ashcon Partovi 1-11/+0
2023-10-17docs: fix ws.publish (#6558)Gravatar Aral Roca Gomez 1-1/+1
2023-10-17perf(bun-types): remove needless some call (#6550)Gravatar Mikhail 1-1/+1
2023-10-16fix(runtime): make some things more stable (partial jsc debug build) (#5881)Gravatar dave caruso 116-1446/+1830
2023-10-16fix(runtime): improve IPC reliability + organization pass on that code (#6475)Gravatar dave caruso 15-98/+266
2023-10-16Simplify getting Set of extentions (#4975)Gravatar Mikhail 1-3/+3
2023-10-16Fix formattingGravatar Ashcon Partovi 1-3/+1
2023-10-16fix(test): when tests run with --only the nested describe blocks `.on… (#5616)Gravatar Igor Shapiro 2-13/+45
2023-10-16perf(node:events): optimize `emit(...)` function (#5485)Gravatar Yannik Schröder 3-11/+132
2023-10-16fix: don't remove content-encoding header from header table (#5743)Gravatar Liz 2-2/+25
2023-10-16fix(sqlite) Insert .all() does not return an array #5872 (#5946)Gravatar Hugo Galan 2-7/+11
2023-10-16Fix formattingGravatar Ashcon Partovi 2-5/+4
2023-10-16Fix `Response.statusText` (#6151)Gravatar Chris Toshok 10-238/+269
2023-10-16fix-subprocess-argument-missing (#6407)Gravatar Nicolae-Rares Ailincai 4-2/+40
2023-10-16Add type parameter to `expect` (#6128)Gravatar Voldemat 1-3/+3
2023-10-16fix(node:worker_threads): ensure threadId property is exposed on worker_threa...Gravatar Jérôme Benoit 6-15/+75
2023-10-16Fix use before define bug in sqliteGravatar Ashcon Partovi 2-5/+5
2023-10-16fix(jest): fix toStrictEqual on same URLs (#6528)Gravatar João Alisson 2-13/+16
2023-10-16Fix `toHaveBeenCalled` having wrong error signatureGravatar Ashcon Partovi 1-2/+2
2023-10-16Fix formattingGravatar Ashcon Partovi 1-2/+1
2023-10-16Add `reusePort` to `Bun.serve` typesGravatar Ashcon Partovi 1-0/+9
2023-10-16Fix `request.url` having incorrect portGravatar Ashcon Partovi 4-1/+92
2023-10-16Remove uWebSockets header from Bun.serve responsesGravatar Ashcon Partovi 1-6/+6
2023-10-16Rename some testsGravatar Ashcon Partovi 3-0/+0
2023-10-16Fix #6467Gravatar Ashcon Partovi 2-3/+10
2023-10-16Update InternalModuleRegistryConstants.hGravatar Dylan Conway 1-3/+3
2023-10-16Development -> Contributing (#6538)Gravatar Colin McDonnell 2-1/+1
2023-10-14fix(net/tls) fix pg hang on end + hanging on query (#6487)Gravatar Ciro Spaciari 3-8/+36
2023-10-13fix installing dependencies that match workspace versions (#6494)Gravatar Dylan Conway 4-2/+64
2023-10-13fix lockfile struct padding (#6495)Gravatar Dylan Conway 3-3/+18