kubes 0.1.0 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.dockerignore +4 -0
- data/.gitignore +15 -7
- data/.rspec +3 -0
- data/CHANGELOG.md +22 -0
- data/Dockerfile +14 -0
- data/Gemfile +3 -1
- data/Guardfile +19 -0
- data/LICENSE.txt +201 -0
- data/README.md +46 -18
- data/Rakefile +13 -1
- data/docs/.gitignore +5 -0
- data/docs/CNAME +1 -0
- data/docs/Gemfile +16 -0
- data/docs/LICENSE +201 -0
- data/docs/Procfile +2 -0
- data/docs/README.md +24 -0
- data/docs/Rakefile +38 -0
- data/docs/_config.yml +71 -0
- data/docs/_docs/auto-context.md +47 -0
- data/docs/_docs/ci/cloudbuild.md +69 -0
- data/docs/_docs/config.md +9 -0
- data/docs/_docs/config/docker.md +70 -0
- data/docs/_docs/config/env.md +58 -0
- data/docs/_docs/config/kubectl.md +61 -0
- data/docs/_docs/contributing.md +98 -0
- data/docs/_docs/dsl.md +66 -0
- data/docs/_docs/dsl/multiple-resources.md +114 -0
- data/docs/_docs/dsl/resources.md +12 -0
- data/docs/_docs/dsl/resources/backend_config.md +45 -0
- data/docs/_docs/dsl/resources/config_map.md +84 -0
- data/docs/_docs/dsl/resources/daemon_set.md +58 -0
- data/docs/_docs/dsl/resources/deployment.md +137 -0
- data/docs/_docs/dsl/resources/generic.md +58 -0
- data/docs/_docs/dsl/resources/ingress.md +103 -0
- data/docs/_docs/dsl/resources/managed_certificate.md +39 -0
- data/docs/_docs/dsl/resources/namespace.md +34 -0
- data/docs/_docs/dsl/resources/network_policy.md +111 -0
- data/docs/_docs/dsl/resources/pod.md +82 -0
- data/docs/_docs/dsl/resources/role.md +44 -0
- data/docs/_docs/dsl/resources/role_binding.md +55 -0
- data/docs/_docs/dsl/resources/secret.md +87 -0
- data/docs/_docs/dsl/resources/service.md +60 -0
- data/docs/_docs/dsl/resources/service_account.md +37 -0
- data/docs/_docs/extra-env.md +23 -0
- data/docs/_docs/extra-env/dsl.md +86 -0
- data/docs/_docs/extra-env/yaml.md +67 -0
- data/docs/_docs/helpers.md +19 -0
- data/docs/_docs/intro.md +15 -0
- data/docs/_docs/intro/concepts.md +37 -0
- data/docs/_docs/intro/how-kubes-works.md +29 -0
- data/docs/_docs/intro/install.md +6 -0
- data/docs/_docs/intro/ordering.md +63 -0
- data/docs/_docs/intro/ordering/custom.md +25 -0
- data/docs/_docs/intro/structure.md +43 -0
- data/docs/_docs/kustomize.md +54 -0
- data/docs/_docs/layering.md +8 -0
- data/docs/_docs/layering/dsl.md +5 -0
- data/docs/_docs/layering/merge.md +96 -0
- data/docs/_docs/layering/yaml.md +5 -0
- data/docs/_docs/learn/dsl.md +5 -0
- data/docs/_docs/learn/dsl/change.md +16 -0
- data/docs/_docs/learn/dsl/cluster.md +5 -0
- data/docs/_docs/learn/dsl/delete.md +32 -0
- data/docs/_docs/learn/dsl/deploy.md +66 -0
- data/docs/_docs/learn/dsl/install.md +5 -0
- data/docs/_docs/learn/dsl/new-project.md +34 -0
- data/docs/_docs/learn/dsl/next-steps.md +5 -0
- data/docs/_docs/learn/dsl/review-project.md +63 -0
- data/docs/_docs/learn/dsl/update.md +53 -0
- data/docs/_docs/learn/yaml.md +5 -0
- data/docs/_docs/learn/yaml/change.md +17 -0
- data/docs/_docs/learn/yaml/cluster.md +5 -0
- data/docs/_docs/learn/yaml/delete.md +32 -0
- data/docs/_docs/learn/yaml/deploy.md +67 -0
- data/docs/_docs/learn/yaml/install.md +5 -0
- data/docs/_docs/learn/yaml/new-project.md +37 -0
- data/docs/_docs/learn/yaml/next-steps.md +5 -0
- data/docs/_docs/learn/yaml/review-project.md +108 -0
- data/docs/_docs/learn/yaml/update.md +54 -0
- data/docs/_docs/next-steps.md +13 -0
- data/docs/_docs/patterns.md +7 -0
- data/docs/_docs/patterns/clock-web-worker.md +71 -0
- data/docs/_docs/resources.md +11 -0
- data/docs/_docs/resources/base.md +33 -0
- data/docs/_docs/resources/role.md +41 -0
- data/docs/_docs/resources/shared.md +36 -0
- data/docs/_docs/yaml.md +41 -0
- data/docs/_includes/commands.html +131 -0
- data/docs/_includes/content.html +25 -0
- data/docs/_includes/dsl/methods.md +1 -0
- data/docs/_includes/dsl/rolling_deployment.md +1 -0
- data/docs/_includes/dsl/suffix_hash.md +8 -0
- data/docs/_includes/example.html +12 -0
- data/docs/_includes/footer.html +37 -0
- data/docs/_includes/google_analytics.html +10 -0
- data/docs/_includes/header.html +31 -0
- data/docs/_includes/intro/install.md +15 -0
- data/docs/_includes/js.html +3 -0
- data/docs/_includes/kubes-steps.md +3 -0
- data/docs/_includes/layering/layers.md +64 -0
- data/docs/_includes/learn/cluster.md +22 -0
- data/docs/_includes/learn/next-steps.md +6 -0
- data/docs/_includes/learn/review.md +27 -0
- data/docs/_includes/learn/start.md +3 -0
- data/docs/_includes/reference.md +3 -0
- data/docs/_includes/sidebar.html +118 -0
- data/docs/_layouts/default.html +35 -0
- data/docs/_reference/kubes-apply.md +24 -0
- data/docs/_reference/kubes-clean.md +22 -0
- data/docs/_reference/kubes-compile.md +22 -0
- data/docs/_reference/kubes-completion.md +42 -0
- data/docs/_reference/kubes-completion_script.md +25 -0
- data/docs/_reference/kubes-delete.md +23 -0
- data/docs/_reference/kubes-deploy.md +35 -0
- data/docs/_reference/kubes-docker-build.md +20 -0
- data/docs/_reference/kubes-docker-help.md +15 -0
- data/docs/_reference/kubes-docker-push.md +20 -0
- data/docs/_reference/kubes-docker.md +25 -0
- data/docs/_reference/kubes-init.md +26 -0
- data/docs/_reference/kubes-version.md +21 -0
- data/docs/_sass/bootstrap-overrides.scss +17 -0
- data/docs/_sass/buttons.scss +62 -0
- data/docs/_sass/caret.scss +39 -0
- data/docs/_sass/content.scss +21 -0
- data/docs/_sass/cta.scss +39 -0
- data/docs/_sass/default.scss +103 -0
- data/docs/_sass/footer.scss +66 -0
- data/docs/_sass/masthead.scss +77 -0
- data/docs/_sass/mixins.scss +79 -0
- data/docs/_sass/sidebar.scss +107 -0
- data/docs/_sass/syntax.scss +89 -0
- data/docs/_sass/table.scss +30 -0
- data/docs/_sass/theme.scss +292 -0
- data/docs/_sass/variables.scss +24 -0
- data/docs/bin/build +4 -0
- data/docs/bin/rerun +2 -0
- data/docs/bin/web +8 -0
- data/docs/css/main.scss +24 -0
- data/docs/docs.md +7 -0
- data/docs/getting-started.md +12 -0
- data/docs/img/logos/boltops-logo-full.png +0 -0
- data/docs/img/logos/boltops-logo.png +0 -0
- data/docs/img/logos/filler-logo.png +0 -0
- data/docs/img/logos/kubes-black.png +0 -0
- data/docs/img/logos/kubes-sign.png +0 -0
- data/docs/index.html +34 -0
- data/docs/js/app.js +39414 -0
- data/docs/opal/app.rb +16 -0
- data/docs/opal/pager.rb +90 -0
- data/docs/opal/sidebar.rb +94 -0
- data/docs/opal/sidebar/expander.rb +51 -0
- data/docs/reference.md +15 -0
- data/docs/support.md +19 -0
- data/docs/vendor/bootstrap/css/bootstrap-grid.css +3719 -0
- data/docs/vendor/bootstrap/css/bootstrap-grid.css.map +1 -0
- data/docs/vendor/bootstrap/css/bootstrap-grid.min.css +7 -0
- data/docs/vendor/bootstrap/css/bootstrap-grid.min.css.map +1 -0
- data/docs/vendor/bootstrap/css/bootstrap-reboot.css +331 -0
- data/docs/vendor/bootstrap/css/bootstrap-reboot.css.map +1 -0
- data/docs/vendor/bootstrap/css/bootstrap-reboot.min.css +8 -0
- data/docs/vendor/bootstrap/css/bootstrap-reboot.min.css.map +1 -0
- data/docs/vendor/bootstrap/css/bootstrap.css +10038 -0
- data/docs/vendor/bootstrap/css/bootstrap.css.map +1 -0
- data/docs/vendor/bootstrap/css/bootstrap.min.css +7 -0
- data/docs/vendor/bootstrap/css/bootstrap.min.css.map +1 -0
- data/docs/vendor/bootstrap/js/bootstrap.bundle.js +7013 -0
- data/docs/vendor/bootstrap/js/bootstrap.bundle.js.map +1 -0
- data/docs/vendor/bootstrap/js/bootstrap.bundle.min.js +7 -0
- data/docs/vendor/bootstrap/js/bootstrap.bundle.min.js.map +1 -0
- data/docs/vendor/bootstrap/js/bootstrap.js +4435 -0
- data/docs/vendor/bootstrap/js/bootstrap.js.map +1 -0
- data/docs/vendor/bootstrap/js/bootstrap.min.js +7 -0
- data/docs/vendor/bootstrap/js/bootstrap.min.js.map +1 -0
- data/docs/vendor/font-awesome/css/font-awesome.css +2337 -0
- data/docs/vendor/font-awesome/css/font-awesome.min.css +4 -0
- data/docs/vendor/font-awesome/fonts/FontAwesome.otf +0 -0
- data/docs/vendor/font-awesome/fonts/fontawesome-webfont.eot +0 -0
- data/docs/vendor/font-awesome/fonts/fontawesome-webfont.svg +2671 -0
- data/docs/vendor/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
- data/docs/vendor/font-awesome/fonts/fontawesome-webfont.woff +0 -0
- data/docs/vendor/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
- data/docs/vendor/font-awesome/less/animated.less +34 -0
- data/docs/vendor/font-awesome/less/bordered-pulled.less +25 -0
- data/docs/vendor/font-awesome/less/core.less +12 -0
- data/docs/vendor/font-awesome/less/fixed-width.less +6 -0
- data/docs/vendor/font-awesome/less/font-awesome.less +18 -0
- data/docs/vendor/font-awesome/less/icons.less +789 -0
- data/docs/vendor/font-awesome/less/larger.less +13 -0
- data/docs/vendor/font-awesome/less/list.less +19 -0
- data/docs/vendor/font-awesome/less/mixins.less +60 -0
- data/docs/vendor/font-awesome/less/path.less +15 -0
- data/docs/vendor/font-awesome/less/rotated-flipped.less +20 -0
- data/docs/vendor/font-awesome/less/screen-reader.less +5 -0
- data/docs/vendor/font-awesome/less/stacked.less +20 -0
- data/docs/vendor/font-awesome/less/variables.less +799 -0
- data/docs/vendor/font-awesome/scss/_animated.scss +34 -0
- data/docs/vendor/font-awesome/scss/_bordered-pulled.scss +25 -0
- data/docs/vendor/font-awesome/scss/_core.scss +12 -0
- data/docs/vendor/font-awesome/scss/_fixed-width.scss +6 -0
- data/docs/vendor/font-awesome/scss/_icons.scss +789 -0
- data/docs/vendor/font-awesome/scss/_larger.scss +13 -0
- data/docs/vendor/font-awesome/scss/_list.scss +19 -0
- data/docs/vendor/font-awesome/scss/_mixins.scss +60 -0
- data/docs/vendor/font-awesome/scss/_path.scss +15 -0
- data/docs/vendor/font-awesome/scss/_rotated-flipped.scss +20 -0
- data/docs/vendor/font-awesome/scss/_screen-reader.scss +5 -0
- data/docs/vendor/font-awesome/scss/_stacked.scss +20 -0
- data/docs/vendor/font-awesome/scss/_variables.scss +799 -0
- data/docs/vendor/font-awesome/scss/font-awesome.scss +18 -0
- data/docs/vendor/jquery/jquery.js +10598 -0
- data/docs/vendor/jquery/jquery.min.js +2 -0
- data/docs/vendor/jquery/jquery.min.map +1 -0
- data/docs/vendor/jquery/jquery.slim.js +8495 -0
- data/docs/vendor/jquery/jquery.slim.min.js +2 -0
- data/docs/vendor/jquery/jquery.slim.min.map +1 -0
- data/docs/vendor/simple-line-icons/css/simple-line-icons.css +778 -0
- data/docs/vendor/simple-line-icons/fonts/Simple-Line-Icons.eot +0 -0
- data/docs/vendor/simple-line-icons/fonts/Simple-Line-Icons.svg +200 -0
- data/docs/vendor/simple-line-icons/fonts/Simple-Line-Icons.ttf +0 -0
- data/docs/vendor/simple-line-icons/fonts/Simple-Line-Icons.woff +0 -0
- data/docs/vendor/simple-line-icons/fonts/Simple-Line-Icons.woff2 +0 -0
- data/docs/vendor/simple-line-icons/less/simple-line-icons.less +982 -0
- data/docs/vendor/simple-line-icons/scss/simple-line-icons.scss +979 -0
- data/exe/kubes +14 -0
- data/kubes.gemspec +29 -19
- data/lib/kubes.rb +21 -1
- data/lib/kubes/args/custom.rb +30 -0
- data/lib/kubes/args/dsl.rb +14 -0
- data/lib/kubes/auth.rb +21 -0
- data/lib/kubes/auth/ecr.rb +55 -0
- data/lib/kubes/autoloader.rb +21 -0
- data/lib/kubes/aws_services.rb +14 -0
- data/lib/kubes/cli.rb +93 -0
- data/lib/kubes/cli/apply.rb +9 -0
- data/lib/kubes/cli/base.rb +9 -0
- data/lib/kubes/cli/build.rb +8 -0
- data/lib/kubes/cli/clean.rb +9 -0
- data/lib/kubes/cli/compile.rb +8 -0
- data/lib/kubes/cli/delete.rb +11 -0
- data/lib/kubes/cli/deploy.rb +13 -0
- data/lib/kubes/cli/describe.rb +8 -0
- data/lib/kubes/cli/docker.rb +20 -0
- data/lib/kubes/cli/get.rb +8 -0
- data/lib/kubes/cli/help.rb +11 -0
- data/lib/kubes/cli/help/completion.md +20 -0
- data/lib/kubes/cli/help/completion_script.md +3 -0
- data/lib/kubes/cli/help/deploy.md +10 -0
- data/lib/kubes/cli/init.rb +69 -0
- data/lib/kubes/cli/sequence.rb +27 -0
- data/lib/kubes/command.rb +100 -0
- data/lib/kubes/compiler.rb +71 -0
- data/lib/kubes/compiler/decorator.rb +17 -0
- data/lib/kubes/compiler/decorator/base.rb +16 -0
- data/lib/kubes/compiler/decorator/compile.rb +12 -0
- data/lib/kubes/compiler/decorator/resources/base.rb +13 -0
- data/lib/kubes/compiler/decorator/resources/container.rb +76 -0
- data/lib/kubes/compiler/decorator/resources/container/mapping.rb +28 -0
- data/lib/kubes/compiler/decorator/resources/deployment.rb +10 -0
- data/lib/kubes/compiler/decorator/resources/pod.rb +10 -0
- data/lib/kubes/compiler/decorator/resources/secret.rb +23 -0
- data/lib/kubes/compiler/decorator/write.rb +14 -0
- data/lib/kubes/compiler/dsl/core/base.rb +27 -0
- data/lib/kubes/compiler/dsl/core/blocks.rb +55 -0
- data/lib/kubes/compiler/dsl/core/fields.rb +78 -0
- data/lib/kubes/compiler/dsl/core/files.rb +28 -0
- data/lib/kubes/compiler/dsl/core/helpers.rb +19 -0
- data/lib/kubes/compiler/dsl/core/parser.rb +43 -0
- data/lib/kubes/compiler/dsl/syntax/backend_config.rb +10 -0
- data/lib/kubes/compiler/dsl/syntax/cluster_role.rb +4 -0
- data/lib/kubes/compiler/dsl/syntax/cluster_role_binding.rb +4 -0
- data/lib/kubes/compiler/dsl/syntax/config_map.rb +20 -0
- data/lib/kubes/compiler/dsl/syntax/daemon_set.rb +23 -0
- data/lib/kubes/compiler/dsl/syntax/deployment.rb +160 -0
- data/lib/kubes/compiler/dsl/syntax/ingress.rb +41 -0
- data/lib/kubes/compiler/dsl/syntax/managed_certificate.rb +18 -0
- data/lib/kubes/compiler/dsl/syntax/namespace.rb +13 -0
- data/lib/kubes/compiler/dsl/syntax/network_policy.rb +47 -0
- data/lib/kubes/compiler/dsl/syntax/pod.rb +81 -0
- data/lib/kubes/compiler/dsl/syntax/resource.rb +70 -0
- data/lib/kubes/compiler/dsl/syntax/role.rb +40 -0
- data/lib/kubes/compiler/dsl/syntax/role_binding.rb +43 -0
- data/lib/kubes/compiler/dsl/syntax/secret.rb +22 -0
- data/lib/kubes/compiler/dsl/syntax/service.rb +68 -0
- data/lib/kubes/compiler/dsl/syntax/service_account.rb +20 -0
- data/lib/kubes/compiler/layering.rb +39 -0
- data/lib/kubes/compiler/shared/helpers.rb +31 -0
- data/lib/kubes/compiler/strategy.rb +27 -0
- data/lib/kubes/compiler/strategy/base.rb +13 -0
- data/lib/kubes/compiler/strategy/dsl.rb +32 -0
- data/lib/kubes/compiler/strategy/erb.rb +42 -0
- data/lib/kubes/compiler/strategy/pass.rb +9 -0
- data/lib/kubes/compiler/strategy/result.rb +26 -0
- data/lib/kubes/compiler/util/normalize.rb +11 -0
- data/lib/kubes/compiler/util/yaml_dump.rb +23 -0
- data/lib/kubes/completer.rb +159 -0
- data/lib/kubes/completer/script.rb +6 -0
- data/lib/kubes/completer/script.sh +10 -0
- data/lib/kubes/config.rb +82 -0
- data/lib/kubes/core.rb +32 -0
- data/lib/kubes/docker/args/default.rb +39 -0
- data/lib/kubes/docker/base.rb +88 -0
- data/lib/kubes/docker/build.rb +22 -0
- data/lib/kubes/docker/push.rb +33 -0
- data/lib/kubes/hooks/builder.rb +41 -0
- data/lib/kubes/hooks/dsl.rb +19 -0
- data/lib/kubes/kubectl.rb +87 -0
- data/lib/kubes/kubectl/args/base.rb +12 -0
- data/lib/kubes/kubectl/args/kustomize.rb +28 -0
- data/lib/kubes/kubectl/args/standard.rb +32 -0
- data/lib/kubes/kubectl/batch.rb +49 -0
- data/lib/kubes/kubectl/decider.rb +15 -0
- data/lib/kubes/kubectl/kustomize.rb +13 -0
- data/lib/kubes/kubectl/ordering.rb +27 -0
- data/lib/kubes/logger.rb +26 -0
- data/lib/kubes/logging.rb +7 -0
- data/lib/kubes/util/consider.rb +9 -0
- data/lib/kubes/util/sh.rb +43 -0
- data/lib/kubes/util/sure.rb +17 -0
- data/lib/kubes/util/time.rb +14 -0
- data/lib/kubes/version.rb +1 -1
- data/lib/templates/base/.kubes/config.rb.tt +9 -0
- data/lib/templates/base/.kubes/config/env/dev.rb +6 -0
- data/lib/templates/base/.kubes/config/env/prod.rb +6 -0
- data/lib/templates/docker/Dockerfile +4 -0
- data/lib/templates/dsl/.kubes/resources/base/all.rb.tt +2 -0
- data/lib/templates/dsl/.kubes/resources/shared/namespace.rb.tt +2 -0
- data/lib/templates/dsl/.kubes/resources/web/deployment.rb +10 -0
- data/lib/templates/dsl/.kubes/resources/web/deployment/dev.rb +1 -0
- data/lib/templates/dsl/.kubes/resources/web/deployment/prod.rb +1 -0
- data/lib/templates/dsl/.kubes/resources/web/service.rb +8 -0
- data/lib/templates/yaml/.kubes/resources/base/all.yaml.tt +2 -0
- data/lib/templates/yaml/.kubes/resources/base/deployment.yaml.tt +11 -0
- data/lib/templates/yaml/.kubes/resources/shared/namespace.yaml.tt +6 -0
- data/lib/templates/yaml/.kubes/resources/web/deployment.yaml.tt +19 -0
- data/lib/templates/yaml/.kubes/resources/web/deployment/dev.yaml +2 -0
- data/lib/templates/yaml/.kubes/resources/web/deployment/prod.yaml +2 -0
- data/lib/templates/yaml/.kubes/resources/web/service.yaml.tt +14 -0
- data/spec/cli_spec.rb +8 -0
- data/spec/fixtures/artifacts/demo-web/deployment.yaml +26 -0
- data/spec/fixtures/artifacts/demo-web/service.yaml +16 -0
- data/spec/fixtures/blocks/deployments.rb +9 -0
- data/spec/fixtures/decorators/deployment/configMap/envFrom.yaml +27 -0
- data/spec/fixtures/decorators/deployment/configMap/valueFrom.yaml +30 -0
- data/spec/fixtures/decorators/deployment/configMap/volumes.yaml +34 -0
- data/spec/fixtures/decorators/deployment/secret/envFrom.yaml +27 -0
- data/spec/fixtures/decorators/deployment/secret/valueFrom.yaml +30 -0
- data/spec/fixtures/decorators/deployment/secret/volumes.yaml +34 -0
- data/spec/fixtures/decorators/pod/configMap/envFrom.yaml +12 -0
- data/spec/fixtures/decorators/pod/configMap/valueFrom.yaml +16 -0
- data/spec/fixtures/decorators/pod/configMap/volumes.yaml +19 -0
- data/spec/fixtures/decorators/pod/secret/envFrom.yaml +12 -0
- data/spec/fixtures/decorators/pod/secret/valueFrom.yaml +16 -0
- data/spec/fixtures/decorators/pod/secret/volumes.yaml +19 -0
- data/spec/fixtures/deployments/minimum.rb +5 -0
- data/spec/fixtures/deployments/props.rb +7 -0
- data/spec/fixtures/deployments/setter/container.rb +11 -0
- data/spec/fixtures/deployments/setter/containers.rb +14 -0
- data/spec/fixtures/deployments/setter/metadata.rb +15 -0
- data/spec/fixtures/deployments/setter/sidecar.rb +12 -0
- data/spec/fixtures/deployments/setter/spec.rb +10 -0
- data/spec/fixtures/multiple-files/deployment-1.rb +4 -0
- data/spec/fixtures/multiple-files/deployment-2.rb +4 -0
- data/spec/fixtures/project/.gitignore +1 -0
- data/spec/fixtures/project/.kubes/resources/deployment.rb +32 -0
- data/spec/fixtures/project/.kubes/resources/foobar.rb +0 -0
- data/spec/fixtures/project/.kubes/resources/service.rb +3 -0
- data/spec/fixtures/services/minimum.rb +3 -0
- data/spec/fixtures/syntax/network_policy.rb +3 -0
- data/spec/fixtures/syntax/pod.rb +1 -0
- data/spec/kubes/compiler/decorator/resources/deployment_spec.rb +92 -0
- data/spec/kubes/compiler/decorator/resources/pod_spec.rb +92 -0
- data/spec/kubes/compiler/strategy/dsl_spec.rb +36 -0
- data/spec/kubes/compiler_spec.rb +10 -0
- data/spec/kubes/dsl/daemon_set.rb +11 -0
- data/spec/kubes/dsl/deployment_spec.rb +60 -0
- data/spec/kubes/dsl/network_policy_spec.rb +14 -0
- data/spec/kubes/dsl/pod_spec.rb +11 -0
- data/spec/kubes/dsl/service_spec.rb +12 -0
- data/spec/kubes/kubectl/batch_spec.rb +24 -0
- data/spec/spec_helper.rb +34 -0
- metadata +607 -22
- data/bin/console +0 -14
- data/bin/setup +0 -8
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
<section class="features" id="features">
|
|
2
|
+
<div class="container">
|
|
3
|
+
<div class="section-heading text-center">
|
|
4
|
+
<h2>The Code</h2>
|
|
5
|
+
<p class="text-muted">Easy to learn</p>
|
|
6
|
+
<hr>
|
|
7
|
+
</div>
|
|
8
|
+
<div class="row">
|
|
9
|
+
<div class="col-lg-12">
|
|
10
|
+
<div class="container-fluid">
|
|
11
|
+
<div class="row">
|
|
12
|
+
<div class="col-lg-6">
|
|
13
|
+
<h3>Commands</h3>
|
|
14
|
+
<div class="commands">
|
|
15
|
+
{% highlight sh %}
|
|
16
|
+
kubes init
|
|
17
|
+
kubes docker build
|
|
18
|
+
kubes docker push
|
|
19
|
+
kubes compile
|
|
20
|
+
kubes deploy
|
|
21
|
+
kubes apply
|
|
22
|
+
kubes get
|
|
23
|
+
kubes delete -y
|
|
24
|
+
{% endhighlight %}
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="col-lg-6">
|
|
28
|
+
<h3>Structure</h3>
|
|
29
|
+
<div class="commands">
|
|
30
|
+
{% highlight sh %}
|
|
31
|
+
.kubes
|
|
32
|
+
└── resources
|
|
33
|
+
├── clock
|
|
34
|
+
│ └── deployment.yaml
|
|
35
|
+
├── worker
|
|
36
|
+
│ └── deployment.yaml
|
|
37
|
+
└── web
|
|
38
|
+
├── deployment.yaml
|
|
39
|
+
└── service.yaml
|
|
40
|
+
{% endhighlight %}
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
<div class="row">
|
|
45
|
+
<div class="col-lg-6">
|
|
46
|
+
<h3>Init Generator</h3>
|
|
47
|
+
<div class="commands">
|
|
48
|
+
{% highlight sh %}
|
|
49
|
+
$ kubes init --app demo --repo user/repo ⎈ (gke-dev/demo)
|
|
50
|
+
create .kubes/config.rb
|
|
51
|
+
create .kubes/config/env/dev.rb
|
|
52
|
+
create .kubes/config/env/prod.rb
|
|
53
|
+
create .kubes/resources/web/deployment.yaml
|
|
54
|
+
create .kubes/resources/web/deployment/dev.yaml
|
|
55
|
+
create .kubes/resources/web/deployment/prod.yaml
|
|
56
|
+
create .kubes/resources/web/service.yaml
|
|
57
|
+
Initialized .kubes folder
|
|
58
|
+
Updated .gitignore
|
|
59
|
+
$
|
|
60
|
+
{% endhighlight %}
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
<div class="col-lg-6">
|
|
64
|
+
<h3>Deploy</h3>
|
|
65
|
+
<div class="commands">
|
|
66
|
+
{% highlight sh %}
|
|
67
|
+
$ kubes deploy
|
|
68
|
+
=> docker build -t user/demo-web:kubes-2020-06-19T00-20-28-1ef4db6 -f Dockerfile .
|
|
69
|
+
Successfully built 1c5b10652c36
|
|
70
|
+
=> docker push user/demo-web:kubes-2020-06-19T00-20-28-1ef4db6
|
|
71
|
+
Compiled .kubes/resources files
|
|
72
|
+
Deploying kubes files
|
|
73
|
+
=> kubectl apply -f .kubes/output/web/service.yaml
|
|
74
|
+
service/demo-web created
|
|
75
|
+
=> kubectl apply -f .kubes/output/web/deployment.yaml
|
|
76
|
+
deployment.apps/demo-web created
|
|
77
|
+
=> kubectl apply -f .kubes/output/web/ingress.yaml
|
|
78
|
+
ingress.networking.k8s.io/demo-web created
|
|
79
|
+
$
|
|
80
|
+
{% endhighlight %}
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
<div class="row">
|
|
85
|
+
<div class="col-lg-6">
|
|
86
|
+
<h3>YAML</h3>
|
|
87
|
+
<div class="commands">
|
|
88
|
+
{% highlight yaml %}
|
|
89
|
+
---
|
|
90
|
+
apiVersion: apps/v1
|
|
91
|
+
kind: Deployment
|
|
92
|
+
metadata:
|
|
93
|
+
name: demo-web
|
|
94
|
+
labels:
|
|
95
|
+
app: demo
|
|
96
|
+
namespace: default
|
|
97
|
+
spec:
|
|
98
|
+
replicas: 2
|
|
99
|
+
selector:
|
|
100
|
+
matchLabels:
|
|
101
|
+
app: demo
|
|
102
|
+
template:
|
|
103
|
+
metadata:
|
|
104
|
+
labels:
|
|
105
|
+
app: demo
|
|
106
|
+
spec:
|
|
107
|
+
containers:
|
|
108
|
+
- name: demo-web
|
|
109
|
+
image: <%= built_image %>
|
|
110
|
+
{% endhighlight %}
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
<div class="col-lg-6">
|
|
114
|
+
<h3>DSL</h3>
|
|
115
|
+
<div class="commands">
|
|
116
|
+
{% highlight ruby %}
|
|
117
|
+
name "demo-web"
|
|
118
|
+
namespace "default"
|
|
119
|
+
labels(role: "web")
|
|
120
|
+
|
|
121
|
+
replicas 2
|
|
122
|
+
image built_image # IE: user/demo-web:kubes-2020-06-13T19-55-16-43afc6e
|
|
123
|
+
{% endhighlight %}
|
|
124
|
+
</div>
|
|
125
|
+
</div>
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
128
|
+
</div>
|
|
129
|
+
</div>
|
|
130
|
+
</div>
|
|
131
|
+
</section>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{% if page.sidebar == false %}
|
|
2
|
+
|
|
3
|
+
{{ content }}
|
|
4
|
+
|
|
5
|
+
{% else %}
|
|
6
|
+
|
|
7
|
+
<div class="d-flex" id="wrapper">
|
|
8
|
+
{% include sidebar.html %}
|
|
9
|
+
<div id="content">
|
|
10
|
+
<div class="menu-top-bar">
|
|
11
|
+
<div id="menu-toggle">
|
|
12
|
+
<div class="bar1"></div>
|
|
13
|
+
<div class="bar2"></div>
|
|
14
|
+
<div class="bar3"></div>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
<div class="container-fluid">
|
|
19
|
+
<h1>{{ page.title }}</h1>
|
|
20
|
+
{{ content }}
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
{% endif %}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
For a full list of the available methods, refer to the source itself [syntax/{{ include.name }}.rb](https://github.com/boltops-tools/kubes/blob/master/lib/kubes/compiler/dsl/syntax/{{ include.name }}.rb).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
A suffix hash based on the contents of the {{ include.kind }} is automatically appended to the {{ include.kind }} name. {{ include.kind }}s used in Deployment and Pod containers fields that use the same name will also have the suffix automatically appended. This is done to trigger a rolling deployment. Here's an example an deployment output with the hashed name.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<section id="timeline">
|
|
2
|
+
<div class="container">
|
|
3
|
+
<div class="row">
|
|
4
|
+
<div class="col-lg-12 text-center">
|
|
5
|
+
<h2 class="section-heading">TODO</h2>
|
|
6
|
+
</div>
|
|
7
|
+
</div>
|
|
8
|
+
<div class="row justify-content-center">
|
|
9
|
+
<img src="/img/home/TODO.png" />
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
</section>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<footer>
|
|
2
|
+
<div class="container">
|
|
3
|
+
<div class="row">
|
|
4
|
+
<div class="footer-col col-md-4">
|
|
5
|
+
<h3>More Tools</h3>
|
|
6
|
+
<ul class="list-unstyled tools">
|
|
7
|
+
<li><a href="http://terraspace.cloud">Terraspace</a></li>
|
|
8
|
+
<li><a href="http://rubyonjets.com">Jets</a></li>
|
|
9
|
+
<li><a href="http://lono.cloud">Lono</a></li>
|
|
10
|
+
<li><a href="http://ufoships.com">Ufo</a></li>
|
|
11
|
+
<li><a href="http://sonic-screwdriver.cloud">Sonic</a></li>
|
|
12
|
+
<li><a href="http://jack-eb.com">Jack</a></li>
|
|
13
|
+
</ul>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="footer-col col-md-4">
|
|
16
|
+
<h3><a href="https://boltops.com"><img class="footer-logo" src="/img/logos/boltops-logo-full.png" /></a></h3>
|
|
17
|
+
<ul class="list-inline">
|
|
18
|
+
{% for network in site.social %}
|
|
19
|
+
<li>
|
|
20
|
+
<a href="{{ network.url }}" class="btn-social btn-outline"><i class="fa fa-fw fa-{{ network.title }}"></i></a>
|
|
21
|
+
</li>
|
|
22
|
+
{% endfor %}
|
|
23
|
+
</ul>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="footer-col col-md-4">
|
|
26
|
+
<h3>Contact</h3>
|
|
27
|
+
<p>{{ site.footer.contact }}</p>
|
|
28
|
+
<p>{{ site.footer.phone }}</p>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
<div class="container">
|
|
33
|
+
<div class="footer-below">
|
|
34
|
+
<p>Maintained by {{ site.footer.copyright }} 20{{ site.time | date: '%y' }}</p>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
</footer>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<!-- Google analytics -->
|
|
2
|
+
<script>
|
|
3
|
+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
4
|
+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
5
|
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
6
|
+
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
|
7
|
+
|
|
8
|
+
ga('create', '{{ site.google_analytics }}', 'auto');
|
|
9
|
+
ga('send', 'pageview');
|
|
10
|
+
</script>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<div class="top-bar">
|
|
2
|
+
<nav class="navbar navbar-expand-lg navbar-light bg-light border-bottom">
|
|
3
|
+
<a class="navbar-brand" href="/"><img class="navbar-logo" src="/img/logos/kubes-black.png" /></a>
|
|
4
|
+
|
|
5
|
+
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
|
6
|
+
<span class="navbar-toggler-icon"></span>
|
|
7
|
+
</button>
|
|
8
|
+
|
|
9
|
+
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
|
10
|
+
<ul class="navbar-nav ml-auto mt-2 mt-lg-0">
|
|
11
|
+
<li class="nav-item"><a class="nav-link" href="{% link getting-started.md %}">Getting Started</a></li>
|
|
12
|
+
<li class="nav-item"><a class="nav-link" href="{% link _docs/intro.md %}">Docs</a></li>
|
|
13
|
+
<li class="nav-item"><a class="nav-link" href="{% link support.md %}">Support</a></li>
|
|
14
|
+
<li class="nav-item"><a class="nav-link" href="https://github.com/boltops-tools/kubes">GitHub</a></li>
|
|
15
|
+
|
|
16
|
+
<!--<li class="nav-item dropdown">-->
|
|
17
|
+
<!-- <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">-->
|
|
18
|
+
<!-- Dropdown-->
|
|
19
|
+
<!-- </a>-->
|
|
20
|
+
<!-- <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">-->
|
|
21
|
+
<!-- <a class="dropdown-item" href="#">Action</a>-->
|
|
22
|
+
<!-- <a class="dropdown-item" href="#">Another action</a>-->
|
|
23
|
+
<!-- <div class="dropdown-divider"></div>-->
|
|
24
|
+
<!-- <a class="dropdown-item" href="#">Something else here</a>-->
|
|
25
|
+
<!-- </div>-->
|
|
26
|
+
<!--</li>-->
|
|
27
|
+
|
|
28
|
+
</ul>
|
|
29
|
+
</div>
|
|
30
|
+
</nav>
|
|
31
|
+
</div>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
## RubyGems
|
|
2
|
+
|
|
3
|
+
Install kubes via RubyGems.
|
|
4
|
+
|
|
5
|
+
gem install kubes
|
|
6
|
+
|
|
7
|
+
Ruby 2.7 and patch variants of it is recommended.
|
|
8
|
+
|
|
9
|
+
## kubectl
|
|
10
|
+
|
|
11
|
+
Kubes calls kubectl. Kubes has been tested with kubectl v1.15+. Generally, it should work with most versions of kubectl.
|
|
12
|
+
|
|
13
|
+
## docker
|
|
14
|
+
|
|
15
|
+
Kubes calls docker. Kubes has been tested with docker 18.x-ce+. Generally, it should work with most versions of docker.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
Kubes Layering in it's full form allows you to keep your resource definitions DRY and create different environments with the same code.
|
|
2
|
+
|
|
3
|
+
## Structure
|
|
4
|
+
|
|
5
|
+
Here's an example structure, so we can understand how layering works.
|
|
6
|
+
|
|
7
|
+
.kubes/resources/
|
|
8
|
+
├── base
|
|
9
|
+
│ ├── all.{{ include.ext }}
|
|
10
|
+
│ └── deployment.{{ include.ext }}
|
|
11
|
+
├── clock
|
|
12
|
+
│ └── deployment.{{ include.ext }}
|
|
13
|
+
└── web
|
|
14
|
+
├── deployment
|
|
15
|
+
│ ├── dev.{{ include.ext }}
|
|
16
|
+
│ └── prod.{{ include.ext }}
|
|
17
|
+
├── deployment.{{ include.ext }}
|
|
18
|
+
└── service.{{ include.ext }}
|
|
19
|
+
|
|
20
|
+
## Layering Basics
|
|
21
|
+
|
|
22
|
+
To explain the layering, here's the general processing order that Kubes takes.
|
|
23
|
+
|
|
24
|
+
1. The `.kubes/resources/base` folder is treated as a base layer. It gets processed as pre-layers by Kubes.
|
|
25
|
+
2. Then Kubes will process your `.kubes/resources/ROLE` definitions.
|
|
26
|
+
3. Lastly, Kubes processes any post-layers in the `.kubes/resources/ROLE/KIND` folders.
|
|
27
|
+
|
|
28
|
+
Note, both YAML and DSL forms support layering.
|
|
29
|
+
|
|
30
|
+
Layering only combines resources definitions with the same form. For example, `base/all.rb` will not be combined with `web/deployment.yaml`.
|
|
31
|
+
|
|
32
|
+
## Full Layering
|
|
33
|
+
|
|
34
|
+
Here's a table showing the the full layering.
|
|
35
|
+
|
|
36
|
+
Folder/Pattern | Example
|
|
37
|
+
-------------------|--------------------------------------------
|
|
38
|
+
base/all.{{ include.ext }} | base/all.{{ include.ext }}
|
|
39
|
+
base/all/ENV.{{ include.ext }} | base/all/dev.{{ include.ext }}
|
|
40
|
+
base/KIND.{{ include.ext }} | base/deployment.{{ include.ext }}
|
|
41
|
+
base/KIND/base.{{ include.ext }} | base/deployment/base.{{ include.ext }}
|
|
42
|
+
base/KIND/ENV.{{ include.ext }} | base/deployment/dev.{{ include.ext }}
|
|
43
|
+
ROLE/KIND.{{ include.ext }} | web/deployment.{{ include.ext }}
|
|
44
|
+
ROLE/KIND/base.{{ include.ext }} | web/deployment/base.{{ include.ext }}
|
|
45
|
+
ROLE/KIND/ENV.{{ include.ext }} | web/deployment/dev.{{ include.ext }}
|
|
46
|
+
|
|
47
|
+
## Real-World Uses
|
|
48
|
+
|
|
49
|
+
1. With Kubes layering you can define common fields in `base/all.{{ include.ext }}`. Examples: namespace, labels, annotations. If you have additional common base-level fields, but are specific to a Kind. Then you can defined them in `base/KIND.{{ include.ext }}`. Example: `base/deployment.{{ include.ext }}`
|
|
50
|
+
2. Then you can define the core of your resource definition in the `ROLE/KIND.{{ include.ext }}`. Example: `web/deployment.{{ include.ext }}`
|
|
51
|
+
3. Finally, you can provide environment-specific overrides in the `ROLE/KIND/ENV.{{ include.ext }}`. Example: `web/deployment/dev.{{ include.ext }}`.
|
|
52
|
+
|
|
53
|
+
Here's an example of the structure:
|
|
54
|
+
|
|
55
|
+
.kubes/resources/
|
|
56
|
+
├── base
|
|
57
|
+
│ ├── all.{{ include.ext }}
|
|
58
|
+
│ └── deployment.{{ include.ext }}
|
|
59
|
+
└── web
|
|
60
|
+
├── deployment
|
|
61
|
+
│ ├── dev.{{ include.ext }}
|
|
62
|
+
│ └── prod.{{ include.ext }}
|
|
63
|
+
├── deployment.{{ include.ext }}
|
|
64
|
+
└── service.{{ include.ext }}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
You'll need a Kubernetes cluster and a Docker repo to be able to push to. Setting up a Kubernetes cluster is a little bit out scope for this tutorial. We'll provide the docs and links though. We'll also use an AWS EKS cluster and ECR.
|
|
2
|
+
|
|
3
|
+
## Create an EKS cluster
|
|
4
|
+
|
|
5
|
+
Here are the AWS docs to create an EKS cluster:
|
|
6
|
+
|
|
7
|
+
* [Creating an Amazon EKS cluster](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html)
|
|
8
|
+
|
|
9
|
+
## Create an ECR Repo
|
|
10
|
+
|
|
11
|
+
Here are the AWS docs to create a repo:
|
|
12
|
+
|
|
13
|
+
* [Creating a Repository](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html)
|
|
14
|
+
|
|
15
|
+
Here are also the commands to create an ECR repo:
|
|
16
|
+
|
|
17
|
+
aws ecr create-repository --repository-name demo
|
|
18
|
+
REPO=$(aws ecr describe-repositories --repository-name demo | jq -r '.repositories[].repositoryUri')
|
|
19
|
+
|
|
20
|
+
We'll be using the `$REPO` variable for the rest of the tutorial.
|
|
21
|
+
|
|
22
|
+
Note: Though we're using AWS here, Kubes works with any Cloud Provider. Please adjust your commands and the `$REPO` variable for your cloud provider.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
You've seen how to get started with Kubes. From here, you can check out the Docs to learn more:
|
|
2
|
+
|
|
3
|
+
* [Intro]({% link _docs/intro.md %}): General introduction.
|
|
4
|
+
* [Layering]({% link _docs/layering.md %}): Use the same Kubernetes YAML to build multiple environments like dev and prod with [layering]({% link _docs/layering.md %}).
|
|
5
|
+
* [CLI Customizations]({% link _docs/config.md %}): You can customize the [cli args]({% link _docs/config/kubectl.md %}). You can also run hooks before and after kubectl commands.
|
|
6
|
+
* [Extra Env]({% link _docs/extra-env.md %}): Create additional envs with little effort.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
## Config
|
|
2
|
+
|
|
3
|
+
The `config.rb` is where you can configure Kubes settings.
|
|
4
|
+
|
|
5
|
+
```ruby
|
|
6
|
+
Kubes.configure do |config|
|
|
7
|
+
config.repo = "112233445566.dkr.ecr.us-west-2.amazonaws.com/demo"
|
|
8
|
+
config.logger.level = "info"
|
|
9
|
+
# auto-switching
|
|
10
|
+
# config.kubectl.context = "dev-services"
|
|
11
|
+
end
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
This is where the `--repo` from `kubes init` got saved. The other options are covered in the [Env Config Docs]({% link _docs/config/env.md %}).
|
|
15
|
+
|
|
16
|
+
## Dockerfie
|
|
17
|
+
|
|
18
|
+
The `Dockerfile` is a simple starter example that just runs nginx
|
|
19
|
+
|
|
20
|
+
Dockerfile:
|
|
21
|
+
|
|
22
|
+
# Simple example starter
|
|
23
|
+
FROM nginx
|
|
24
|
+
EXPOSE 80
|
|
25
|
+
CMD ["nginx", "-g", "daemon off;"]
|
|
26
|
+
|
|
27
|
+
Note: If your project already has a Dockerfile, kubes will use that instead of generating a starter one.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
<div id="sidebar">
|
|
2
|
+
<section class="content-nav">
|
|
3
|
+
<h2><a href="{% link getting-started.md %}">Getting Started</a></h2>
|
|
4
|
+
<ul id="learn">
|
|
5
|
+
<li><a href="{% link _docs/learn/yaml.md %}">YAML</a>
|
|
6
|
+
<ul>
|
|
7
|
+
<li><a href="{% link _docs/learn/yaml/install.md %}">Install Kubes</a></li>
|
|
8
|
+
<li><a href="{% link _docs/learn/yaml/cluster.md %}">Cluster Setup</a></li>
|
|
9
|
+
<li><a href="{% link _docs/learn/yaml/new-project.md %}">New Project</a></li>
|
|
10
|
+
<li><a href="{% link _docs/learn/yaml/review-project.md %}">Review Project</a></li>
|
|
11
|
+
<li><a href="{% link _docs/learn/yaml/deploy.md %}">Deploy</a></li>
|
|
12
|
+
<li><a href="{% link _docs/learn/yaml/change.md %}">Change</a></li>
|
|
13
|
+
<li><a href="{% link _docs/learn/yaml/update.md %}">Update</a></li>
|
|
14
|
+
<li><a href="{% link _docs/learn/yaml/delete.md %}">Delete</a></li>
|
|
15
|
+
<li><a href="{% link _docs/learn/yaml/next-steps.md %}">Next Steps</a></li>
|
|
16
|
+
</ul>
|
|
17
|
+
</li>
|
|
18
|
+
<li><a href="{% link _docs/learn/dsl.md %}">DSL</a>
|
|
19
|
+
<ul>
|
|
20
|
+
<li><a href="{% link _docs/learn/dsl/install.md %}">Install Kubes</a></li>
|
|
21
|
+
<li><a href="{% link _docs/learn/dsl/cluster.md %}">Cluster Setup</a></li>
|
|
22
|
+
<li><a href="{% link _docs/learn/dsl/new-project.md %}">New Project</a></li>
|
|
23
|
+
<li><a href="{% link _docs/learn/dsl/review-project.md %}">Review Project</a></li>
|
|
24
|
+
<li><a href="{% link _docs/learn/dsl/deploy.md %}">Deploy</a></li>
|
|
25
|
+
<li><a href="{% link _docs/learn/dsl/change.md %}">Change</a></li>
|
|
26
|
+
<li><a href="{% link _docs/learn/dsl/update.md %}">Update</a></li>
|
|
27
|
+
<li><a href="{% link _docs/learn/dsl/delete.md %}">Delete</a></li>
|
|
28
|
+
<li><a href="{% link _docs/learn/dsl/next-steps.md %}">Next Steps</a></li>
|
|
29
|
+
</ul>
|
|
30
|
+
</li>
|
|
31
|
+
</ul>
|
|
32
|
+
<h2><a href="{% link docs.md %}">Docs</a></h2>
|
|
33
|
+
<ul id="docs">
|
|
34
|
+
<li><a href="{% link _docs/intro.md %}">Intro</a>
|
|
35
|
+
<ul>
|
|
36
|
+
<li><a href="{% link _docs/intro/how-kubes-works.md %}">How Kubes Works</a></li>
|
|
37
|
+
<li><a href="{% link _docs/intro/concepts.md %}">Concepts</a></li>
|
|
38
|
+
<li><a href="{% link _docs/intro/structure.md %}">Structure</a></li>
|
|
39
|
+
<li><a href="{% link _docs/intro/ordering.md %}">Ordering</a>
|
|
40
|
+
<ul>
|
|
41
|
+
<li><a href="{% link _docs/intro/ordering/custom.md %}">Custom Order</a></li>
|
|
42
|
+
</ul>
|
|
43
|
+
</li>
|
|
44
|
+
<li><a href="{% link _docs/intro/install.md %}">Install</a></li>
|
|
45
|
+
</ul>
|
|
46
|
+
</li>
|
|
47
|
+
<li><a href="{% link _docs/resources.md %}">Resources</a>
|
|
48
|
+
<ul>
|
|
49
|
+
<li><a href="{% link _docs/resources/role.md %}">Role</a></li>
|
|
50
|
+
<li><a href="{% link _docs/resources/base.md %}">Base</a></li>
|
|
51
|
+
<li><a href="{% link _docs/resources/shared.md %}">Shared</a></li>
|
|
52
|
+
</ul>
|
|
53
|
+
</li>
|
|
54
|
+
<li><a href="{% link _docs/config.md %}">Config</a>
|
|
55
|
+
<ul>
|
|
56
|
+
<li><a href="{% link _docs/config/docker.md %}">Docker</a></li>
|
|
57
|
+
<li><a href="{% link _docs/config/env.md %}">Env</a></li>
|
|
58
|
+
<li><a href="{% link _docs/config/kubectl.md %}">Kubectl</a></li>
|
|
59
|
+
</ul>
|
|
60
|
+
</li>
|
|
61
|
+
<li><a href="{% link _docs/yaml.md %}">YAML</a></li>
|
|
62
|
+
<li><a href="{% link _docs/dsl.md %}">DSL</a>
|
|
63
|
+
<ul>
|
|
64
|
+
<li><a href="{% link _docs/dsl/resources.md %}">Resources</a>
|
|
65
|
+
<ul>
|
|
66
|
+
{% assign docs = site.docs | where: "categories","dsl" %}
|
|
67
|
+
{% for doc in docs -%}
|
|
68
|
+
<li><a href="{{ doc.url }}">{{ doc.title }}</a></li>
|
|
69
|
+
{% endfor %}
|
|
70
|
+
</ul>
|
|
71
|
+
</li>
|
|
72
|
+
<li><a href="{% link _docs/dsl/multiple-resources.md %}">Multiple Resources</a>
|
|
73
|
+
</ul>
|
|
74
|
+
</li>
|
|
75
|
+
<li><a href="{% link _docs/layering.md %}">Layering</a>
|
|
76
|
+
<ul>
|
|
77
|
+
<li><a href="{% link _docs/layering/yaml.md %}">YAML</a></li>
|
|
78
|
+
<li><a href="{% link _docs/layering/dsl.md %}">DSL</a></li>
|
|
79
|
+
<li><a href="{% link _docs/layering/merge.md %}">Merge Behavior</a></li>
|
|
80
|
+
</ul>
|
|
81
|
+
</li>
|
|
82
|
+
<li><a href="{% link _docs/helpers.md %}">Helpers</a></li>
|
|
83
|
+
<li><a href="{% link _docs/patterns.md %}">Patterns</a>
|
|
84
|
+
<ul>
|
|
85
|
+
<li><a href="{% link _docs/patterns/clock-web-worker.md %}">Clock Web Worker</a></li>
|
|
86
|
+
</ul>
|
|
87
|
+
</li>
|
|
88
|
+
<li><a href="{% link _docs/extra-env.md %}">Extra Env</a>
|
|
89
|
+
<ul>
|
|
90
|
+
<li><a href="{% link _docs/extra-env/yaml.md %}">YAML</a></li>
|
|
91
|
+
<li><a href="{% link _docs/extra-env/dsl.md %}">DSL</a></li>
|
|
92
|
+
</ul>
|
|
93
|
+
</li>
|
|
94
|
+
<li><a href="{% link _docs/kustomize.md %}">Kustomize Support</a></li>
|
|
95
|
+
<li><a href="{% link _docs/auto-context.md %}">Auto Context</a></li>
|
|
96
|
+
<li>CI/CD
|
|
97
|
+
<ul>
|
|
98
|
+
<li><a href="{% link _docs/ci/cloudbuild.md %}">CloudBuild</a></li>
|
|
99
|
+
</ul>
|
|
100
|
+
</li>
|
|
101
|
+
<li>More
|
|
102
|
+
<ul class="more">
|
|
103
|
+
<li><a href="{% link support.md %}">Support</a></li>
|
|
104
|
+
<li><a href="{% link _docs/contributing.md %}">Contributing</a></li>
|
|
105
|
+
<li><a href="{% link _docs/next-steps.md %}">Next Steps</a></li>
|
|
106
|
+
</ul>
|
|
107
|
+
</li>
|
|
108
|
+
<li><a href="{% link reference.md %}">CLI Reference</a></li>
|
|
109
|
+
</ul>
|
|
110
|
+
</section>
|
|
111
|
+
<div class="menu-options">
|
|
112
|
+
<h2>sidebar options:</h2>
|
|
113
|
+
<ul class="list-unstyled">
|
|
114
|
+
<li><a href="#" id="expand-all">expand all</a></li>
|
|
115
|
+
<li><a href="{{ site.gh_url }}/blob/master/docs/{{ page.path }}" target="_blank">edit page</a></li>
|
|
116
|
+
</ul>
|
|
117
|
+
</div>
|
|
118
|
+
</div>
|