radius

module
v0.32.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2024 License: Apache-2.0

README

Radius

Radius is a cloud-native application platform that enables developers and the platform engineers that support them to collaborate on delivering and managing cloud-native applications that follow organizational best practices for cost, operations and security, by default. Radius is an open-source project that supports deploying applications across private cloud, Microsoft Azure, and Amazon Web Services, with more cloud providers to come.

Radius has been submitted for consideration as a Cloud Native Computing Foundation (CNCF) Sandbox project.

Overview

The evolution of cloud computing has increased the speed of innovation for many companies, whether they are building 2 and 3-tier applications, or complex microservice-based applications. Cloud native technologies like Kubernetes have made it easier to build applications that can run anywhere. At the same time, many applications have become more complex, and managing them in the cloud increasingly difficult, as companies build cloud-native applications composed of interconnected services and deploy them to multiple public clouds and their private infrastructure. While Kubernetes is a key enabler, we see many organizations building abstractions over Kubernetes, usually focused on compute, to work around its limitations: Kubernetes has no formal definition of an application, it mingles infrastructure and application concepts and it is overwhelmingly complex. Developers also inevitably realize their applications require much more than Kubernetes, including support for dependencies like application programming interface (API) front ends, key/value stores, caches, and observability systems. Amidst these challenges for developers, their corporate IT counterparts also must enforce an ever-growing matrix of corporate standards, compliance, and security requirements, while enabling rapid application innovation.

Radius was designed to address these distinct but related challenges that arise across development and operations as companies continue their journey to cloud. Radius meets application teams where they are by supporting proven technologies like Kubernetes, existing infrastructure tools including Terraform and Bicep and by integrating with existing CI/CD systems like GitHub Actions. Radius supports multi-tier web-plus-data to complex microservice applications like eShop, a popular cloud reference application from Microsoft.

Key features of the Radius platform include:

  • Team Collaboration: Radius Applications and Environments allow developers to work with Operations on application definition and delivery.
  • Infrastructure Recipes: Swappable infrastructure that complies with organization best practices and IT policy be default.
  • Application Graph: Understand how services and infrastructure in an application are interconnected.
  • Cloud Neutral: Deploy across development, on-premises and cloud environments with a consistent experience.
  • Incremental Adoption: Integrate Radius into existing workflows and existing catalogs of Infrastructure-as-Code templates.

Release status

This is an early release of Radius which enables the community to learn about and experiment with the platform. Please let us know what you think and open Issues when you find bugs or want to request a new feature. Radius is not yet ready for production workloads.

Getting started

  1. Follow the getting started guide to install and try out Radius
  2. Visit the Tutorials and User Guides to learn more about Radius and start radifying your apps

Getting help

  • Have a question? - Visit our Discord server to post your question and we'll get back to you ASAP
  • ⚠️ Found an issue? - Refer to our Issues guide for instructions on filing a bug report
  • 💡 Have a proposal? - Refer to our Issues guide for instructions on filing a feature request

Community

We welcome your contributions and suggestions! One of the easiest ways to contribute is to participate in Issue discussions, chat on Discord server or the monthly community calls. For more information on the community engagement, developer and contributing guidelines and more, head over to the Radius community repo.

Contact us

Please visit our Discord server to contact us and we'll get back to you ASAP.

Community calls

Every month we host a community call to showcase new features, review upcoming milestones, and engage in a Q&A. All are welcome!

📞 Visit our community meetings page for upcoming dates and the meeting link.

Contributing to Radius

Visit Contributing for more information on how to contribute to Radius. To author Radius Recipes visit Author Custom Radius Recipes. To contribute to Radius documentation visit Radius documentation

Repositories

Radius is the main Radius repository. It contains all of Radius code and documentation. In addition, we have the below repositories.

Repo Description
Docs This repository contains the Radius documentation source for Radius.
Samples This repository contains the source code for quickstarts, reference apps, and tutorials for Radius.
Recipes This repo contains commonly used Recipe templates for Radius Environments.
Website This repository contains the source code for the Radius website.
Bicep This repository contains source code for Bicep, which is a DSL for deploying cloud resources types.
AWS Bicep Types This repository contains the tooling for Bicep support for AWS resource types.

Security

Please refer to our guide on Reporting security vulnerabilities

Code of conduct

Please refer to our Radius Community Code of Conduct

Directories

Path Synopsis
cmd
rad
pkg
armrpc/asyncoperation/statusmanager
Package statusmanager is a generated GoMock package.
Package statusmanager is a generated GoMock package.
azure/azresources
Contains constant values related to azure resources
Contains constant values related to azure resources
cli
cli/azure
Package azure is a generated GoMock package.
Package azure is a generated GoMock package.
cli/bicep
bicep contains functionality for working with the Bicep compiler as well as ARM-JSON templates.
bicep contains functionality for working with the Bicep compiler as well as ARM-JSON templates.
cli/clients
Package clients is a generated GoMock package.
Package clients is a generated GoMock package.
cli/clierrors
clierrors defines error types that are useful in the CLI for customizing the experience when a failure occurs.
clierrors defines error types that are useful in the CLI for customizing the experience when a failure occurs.
cli/cmd/env/namespace
Package namespace is a generated GoMock package.
Package namespace is a generated GoMock package.
cli/cmd/radinit
Package radinit is a generated GoMock package.
Package radinit is a generated GoMock package.
cli/config
config contains functionality for reading Radius' configuration and interacting with it.
config contains functionality for reading Radius' configuration and interacting with it.
cli/connections
connections contains functionality for using the workspace.Connection concept of the CLI to connect and interact with the remote endpoints that are described by the workspace concept (Radius control plane, environment, et al).
connections contains functionality for using the workspace.Connection concept of the CLI to connect and interact with the remote endpoints that are described by the workspace concept (Radius control plane, environment, et al).
cli/credential
Package credential is a generated GoMock package.
Package credential is a generated GoMock package.
cli/deploy
deploy contains reusable infrastructure for Bicep deployments.
deploy contains reusable infrastructure for Bicep deployments.
cli/framework
Package framework is a generated GoMock package.
Package framework is a generated GoMock package.
cli/helm
Package helm is a generated GoMock package.
Package helm is a generated GoMock package.
cli/kubernetes
Package kubernetes is a generated GoMock package.
Package kubernetes is a generated GoMock package.
cli/kubernetes/logstream
logstream contains functionality for streaming logs for an entire application from Kubernetes.
logstream contains functionality for streaming logs for an entire application from Kubernetes.
cli/kubernetes/portforward
portforward contains functionality for port-forwarding an entire application from Kubernetes.
portforward contains functionality for port-forwarding an entire application from Kubernetes.
cli/output
Package output is a generated GoMock package.
Package output is a generated GoMock package.
cli/prompt
Package prompt is a generated GoMock package.
Package prompt is a generated GoMock package.
cli/setup
package setup contains support functions for programmatically installing and uninstalling Radius.
package setup contains support functions for programmatically installing and uninstalling Radius.
cli/workspaces
workspaces contains functionality for using the workspace concept of the CLI to store data related to the remote endpoints that are described by the workspace concept (Radius control plane, environment, et al).
workspaces contains functionality for using the workspace concept of the CLI to store data related to the remote endpoints that are described by the workspace concept (Radius control plane, environment, et al).
controller/api/radapp.io/v1alpha3
Package v1alpha3 contains API Schema definitions for the v1alpha3 API group +kubebuilder:object:generate=true +groupName=radapp.io
Package v1alpha3 contains API Schema definitions for the v1alpha3 API group +kubebuilder:object:generate=true +groupName=radapp.io
corerp/backend/deployment
Package deployment is a generated GoMock package.
Package deployment is a generated GoMock package.
corerp/handlers
Package handlers is a generated GoMock package.
Package handlers is a generated GoMock package.
corerp/processors/extenders
extenders contains the resource processor for extenders.
extenders contains the resource processor for extenders.
corerp/renderers
Package renderers is a generated GoMock package.
Package renderers is a generated GoMock package.
daprrp/processors/pubsubbrokers
pubsubbrokers contains the resource processor for Dapr PubSub Brokers.
pubsubbrokers contains the resource processor for Dapr PubSub Brokers.
daprrp/processors/secretstores
secretstores contains the resource processor for Dapr Secret Stores.
secretstores contains the resource processor for Dapr Secret Stores.
daprrp/processors/statestores
statestores contains the resource processor for Dapr State Stores.
statestores contains the resource processor for Dapr State Stores.
datastoresrp/processors/mongodatabases
mongodatabases contains the resource processor for Mongo databases.
mongodatabases contains the resource processor for Mongo databases.
datastoresrp/processors/rediscaches
rediscaches contains the resource processor for Redis caches.
rediscaches contains the resource processor for Redis caches.
datastoresrp/processors/sqldatabases
sqldatabases contains the resource processor for SQL databases.
sqldatabases contains the resource processor for SQL databases.
messagingrp/processors/rabbitmqqueues
rabbitmqqueues contains the resource processor for rabbitMQ.
rabbitmqqueues contains the resource processor for rabbitMQ.
portableresources/processors
processors contains the shared logic and interfaces for implementing a resource processor.
processors contains the shared logic and interfaces for implementing a resource processor.
recipes/configloader
Package configloader is a generated GoMock package.
Package configloader is a generated GoMock package.
recipes/driver
Package driver is a generated GoMock package.
Package driver is a generated GoMock package.
recipes/engine
Package engine is a generated GoMock package.
Package engine is a generated GoMock package.
recipes/terraform
Package terraform is a generated GoMock package.
Package terraform is a generated GoMock package.
recipes/terraform/config/backends
Package backends is a generated GoMock package.
Package backends is a generated GoMock package.
recipes/terraform/config/providers
Package providers is a generated GoMock package.
Package providers is a generated GoMock package.
rp
rp package includes common packages which are shared by corerp and portable resources rps (datastoresrp, messagingrp, daprrp).
rp package includes common packages which are shared by corerp and portable resources rps (datastoresrp, messagingrp, daprrp).
sdk
sdk defines the functionality for interacting with Radius as a client.
sdk defines the functionality for interacting with Radius as a client.
to
ucp/dataprovider
Package dataprovider is a generated GoMock package.
Package dataprovider is a generated GoMock package.
ucp/integrationtests
integrationtests contains integration tests that run UCP using an in-memory server and in-memory data stores.
integrationtests contains integration tests that run UCP using an in-memory server and in-memory data stores.
ucp/queue/client
Package client is a generated GoMock package.
Package client is a generated GoMock package.
ucp/resources/aws
package aws defines utility functions and constants for working with AWS types and UCP resource IDs.
package aws defines utility functions and constants for working with AWS types and UCP resource IDs.
ucp/resources/azure
package azure defines utility functions and constants for working with Azure types and UCP resource IDs.
package azure defines utility functions and constants for working with Azure types and UCP resource IDs.
ucp/resources/kubernetes
package kubernetes defines utility functions and constants for working with Kubernetes types and UCP resource IDs.
package kubernetes defines utility functions and constants for working with Kubernetes types and UCP resource IDs.
ucp/resources/radius
package radius defines utility functions and constants for working with Radius types and UCP resource IDs.
package radius defines utility functions and constants for working with Radius types and UCP resource IDs.
ucp/secret
Package secret is a generated GoMock package.
Package secret is a generated GoMock package.
ucp/store
Package store is a generated GoMock package.
Package store is a generated GoMock package.
ucp/store/apiserverstore
Package apiserverstore stores resources using the Kubernetes API Server - using CRDs as a key-value store.
Package apiserverstore stores resources using the Kubernetes API Server - using CRDs as a key-value store.
ucp/store/apiserverstore/api/ucp.dev/v1alpha1
Package v1alpha1 contains API Schema definitions for the ucp v1alpha1 API group +kubebuilder:object:generate=true +groupName=ucp.dev
Package v1alpha1 contains API Schema definitions for the ucp v1alpha1 API group +kubebuilder:object:generate=true +groupName=ucp.dev
ucp/store/etcdstore
Package etcdstore stores resources using etcd.
Package etcdstore stores resources using etcd.
ucp/store/storeutil
storeutil contains utility functions for implementing storage backends.
storeutil contains utility functions for implementing storage backends.
ucp/trackedresource
package trackedresource provides utility functionality for working with tracked resources.
package trackedresource provides utility functionality for working with tracked resources.
k8sutil
k8sutil contains test utilities for kubernetes.
k8sutil contains test utilities for kubernetes.
radcli
Contains support for automating the use of the rad CLI
Contains support for automating the use of the rad CLI
rp
ucp
ucp/queuetest
package storetest contains SHARED tests for /pkg/ucp/queue
package storetest contains SHARED tests for /pkg/ucp/queue
ucp/storetest
package storetest contains SHARED testing logic that is common to our data-store implementations.
package storetest contains SHARED testing logic that is common to our data-store implementations.
magpiego Module

Jump to

Keyboard shortcuts

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