foundation

module
v0.0.336-dev Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 12, 2024 License: Apache-2.0

README

Namespace is a work in progress! Our feature set and APIs are still evolving and breaking changes are still expected. Please join us on Discord or Issues for feedback.

🎬 Getting Started  •  🏗️ Examples  •  🗼 Documentation  •  🏛️ Reference  •  💬 Discord

About Namespace

Namespace is an application development platform that helps you manage your development, testing, and production workflows, in a consistent and unified way.

You describe the servers in your application, how they're built, their relationship, and which additional resources they need. And from that description -- built out of a set of composable and extensible blocks -- Namespace orchestrates:

  • Build: start with your Dockerfiles, or use one of our language-specific integrations, so you don't have to manage Dockerfiles manually. Apart from their ease of use, language-specific integrations set up your build and development environment with the latest best practices and make harder things simple (e.g., support multiple platforms).

  • Development environment: With Namespace, you don't need to manage your development dependencies manually -- the days of asking folks in the team to install the right SDK versions will be gone. Instead, we'll manage SDKs and dependencies on your behalf. As a result, getting someone new onboarded into the application development environment will take minutes rather than hours or days.

  • Representative environments: How often have you hit bugs in production or testing that are hard to reproduce locally? Namespace helps you bridge the gap between environments, managing production-like environments across development and testing.

  • Effortless end-to-end testing: When you have an application setup with Namespace, writing an end-to-end system test becomes simple. From the same application definition used to set up a development environment, Namespace is also capable of creating ephemeral testing environments used to run end-to-end tests.

  • Kubernetes: (but you don't need to care). We help you and your team to think about concepts you care about: services, resources, backends, etc. Under the covers, you'll find industry-standard Kubernetes and CNCF projects, which means that as you grow or need, you can easily tap into the broad Kubernetes ecosystem. No hidden implementation, and no vendor lock-in.

  • Packaged dependencies: adding support infrastructure or a resource -- whether it's a storage bucket, a database, a messaging system, etc. -- it's as simple as adding a dependency to your application.

Getting Started

To get started follow our getting started guide. After installing ns, explore some of the examples our team put together.

Issues

The Namespace Labs team uses Linear for issue management. Unfortunately, we haven’t yet found a way to make it available to everyone. Meanwhile, please file issues in Github, and we’ll follow up on them.

Directories

Path Synopsis
cmd
ns
nsc
framework
rpcerrors/multierr
Package multierr provides a simple multiple-error type.
Package multierr provides a simple multiple-error type.
internal
cli/cmd/lsp
Runs a Language Server Protocol (LSP) server ready to comminicate with any editor/IDE.
Runs a Language Server Protocol (LSP) server ready to comminicate with any editor/IDE.
fnerrors/format
Pretty-printing of various namespace errors.
Pretty-printing of various namespace errors.
frontend/cuefrontend
This is about parsing Fn-specific dialect of Cue.
This is about parsing Fn-specific dialect of Cue.
frontend/fncue
Implements loading of Namespace-specific dialect of Cue which includes: * a Golang-like module system where modules are loaded from source transparently when needed; * support for @fn() attributes allowing to access runtime data from the environment.
Implements loading of Namespace-specific dialect of Cue which includes: * a Golang-like module system where modules are loaded from source transparently when needed; * support for @fn() attributes allowing to access runtime data from the environment.
git
planning/deploy/storage
nolint directives: stylecheck:sa1019
nolint directives: stylecheck:sa1019
ssh
library
server
This file was automatically generated by Namespace.
This file was automatically generated by Namespace.
public
schemahelper
This package is separate so we can use generics, schema is stricly go 1.17.
This package is separate so we can use generics, schema is stricly go 1.17.
std
cfg
tools
universe
gcp

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL