From 6e227f127c0190f56ea5b22c5835d1db79a29f60 Mon Sep 17 00:00:00 2001 From: sa Date: Fri, 22 Jul 2022 16:54:27 +0530 Subject: [PATCH] Admiral DR support Signed-off-by: sa --- admiral/cmd/admiral/cmd/root.go | 4 + admiral/pkg/apis/admiral/routes/handlers.go | 35 +- admiral/pkg/clusters/DRUtil.go | 53 +++ admiral/pkg/clusters/NoOpDR.go | 23 + admiral/pkg/clusters/handler.go | 36 ++ admiral/pkg/clusters/registry.go | 27 +- admiral/pkg/clusters/serviceentry.go | 9 +- admiral/pkg/controller/admiral/configmap.go | 11 +- .../pkg/controller/admiral/configmap_test.go | 2 +- admiral/pkg/controller/common/types.go | 26 +- admiral/pkg/test/types.go | 3 + docs/Admiral-DynamoDB-view.png | Bin 0 -> 180887 bytes docs/Admiral-dynamoDB-DR.png | Bin 0 -> 42617 bytes docs/Admiral-health-check.png | Bin 0 -> 25012 bytes docs/Admiral-state-changes.png | Bin 0 -> 52910 bytes docs/DisasterRecovery.md | 55 +++ docs/DynamoDBBasedDR.md | 392 ++++++++++++++++++ docs/Index.md | 2 + 18 files changed, 660 insertions(+), 18 deletions(-) create mode 100644 admiral/pkg/clusters/DRUtil.go create mode 100644 admiral/pkg/clusters/NoOpDR.go create mode 100644 docs/Admiral-DynamoDB-view.png create mode 100644 docs/Admiral-dynamoDB-DR.png create mode 100644 docs/Admiral-health-check.png create mode 100644 docs/Admiral-state-changes.png create mode 100644 docs/DisasterRecovery.md create mode 100644 docs/DynamoDBBasedDR.md diff --git a/admiral/cmd/admiral/cmd/root.go b/admiral/cmd/admiral/cmd/root.go index d34462a5..3a842ba6 100644 --- a/admiral/cmd/admiral/cmd/root.go +++ b/admiral/cmd/admiral/cmd/root.go @@ -131,6 +131,10 @@ func GetRootCmd(args []string) *cobra.Command { rootCmd.PersistentFlags().StringVar(¶ms.LabelSet.GatewayApp, "gateway_app", "istio-ingressgateway", "The the value of the `app` label to use to match and find the service that represents the ingress for cross cluster traffic (AUTO_PASSTHROUGH mode)") rootCmd.PersistentFlags().BoolVar(¶ms.MetricsEnabled, "metrics", true, "Enable prometheus metrics collections") + rootCmd.PersistentFlags().StringVar(¶ms.AdmiralStateCheckerName,"admiral_state_checker_name","NoOPStateChecker","The value of the admiral_state_checker_name label to configure the DR Strategy for Admiral") + rootCmd.PersistentFlags().StringVar(¶ms.DRStateStoreConfigPath,"dr_state_store_config_path","","Location of config file which has details for data store. Ex:- Dynamo DB connection details") + rootCmd.PersistentFlags().StringVar(¶ms.ServiceEntryIPPrefix,"se_ip_prefix","240.0","IP prefix for the auto generated IPs for service entries. Only the first two octets: Eg- 240.0") + return rootCmd } diff --git a/admiral/pkg/apis/admiral/routes/handlers.go b/admiral/pkg/apis/admiral/routes/handlers.go index 8fb9a135..ffff3311 100644 --- a/admiral/pkg/apis/admiral/routes/handlers.go +++ b/admiral/pkg/apis/admiral/routes/handlers.go @@ -5,6 +5,7 @@ import ( "fmt" "log" "net/http" + "strconv" "strings" "github.com/gorilla/mux" @@ -27,10 +28,38 @@ type IdentityServiceEntry struct { ClusterNames []string `json:"Clusters,omitempty"` } -func (opts *RouteOpts) ReturnSuccessGET(w http.ResponseWriter, r *http.Request) { - w.WriteHeader(200) - response := fmt.Sprintf("Heath check method called: %v, URI: %v, Method: %v\n", r.Host, r.RequestURI, r.Method) +/* +We expect the DNS health checker to include the query param checkifreadonly with value set to true. +The query param is used to check if the current Admiral instance is running in Active Mode or Passive Mode (also called read only mode). +If Running in passive mode, the health check returns 502 which forces DNS lookup to always return reference to Admiral in Active state. +*/ +func (opts *RouteOpts) ReturnSuccessGET(w http.ResponseWriter, r *http.Request) { + allQueryParams:= r.URL.Query() + checkIfReadOnlyStringVal := allQueryParams.Get("checkifreadonly") + //Remove all spaces + checkIfReadOnlyStringVal = strings.ReplaceAll(checkIfReadOnlyStringVal," ","") + // checkIfReadOnlyStringVal will be empty in case ""checkifreadonly" query param is not sent in the request. checkIfReadOnlyBoolVal will be false + checkIfReadOnlyBoolVal, err := strconv.ParseBool(checkIfReadOnlyStringVal) + var response string + + if len(checkIfReadOnlyStringVal) ==0 || nil==err { + if checkIfReadOnlyBoolVal{ + + if clusters.CurrentAdmiralState.ReadOnly{ + //Force fail health check if Admiral is in Readonly mode + w.WriteHeader(503) + }else { + w.WriteHeader(200) + } + }else { + w.WriteHeader(200) + } + response = fmt.Sprintf("Heath check method called: %v, URI: %v, Method: %v\n", r.Host, r.RequestURI, r.Method) + }else { + w.WriteHeader(400) + response = fmt.Sprintf("Health check method called with bad query param value %v for checkifreadonly",checkIfReadOnlyStringVal) + } _, writeErr := w.Write([]byte(response)) if writeErr != nil { log.Printf("Error writing body: %v", writeErr) diff --git a/admiral/pkg/clusters/DRUtil.go b/admiral/pkg/clusters/DRUtil.go new file mode 100644 index 00000000..a4249178 --- /dev/null +++ b/admiral/pkg/clusters/DRUtil.go @@ -0,0 +1,53 @@ +package clusters + +import ( + "context" + "github.com/istio-ecosystem/admiral/admiral/pkg/controller/common" + log "github.com/sirupsen/logrus" +) +const ReadWriteEnabled = false +const ReadOnlyEnabled = true; +const StateNotInitialized = false; +const StateInitialized =true; + +type AdmiralState struct { + ReadOnly bool + IsStateInitialized bool +} +var CurrentAdmiralState AdmiralState + +type AdmiralStateChecker interface { + runStateCheck(ctx context.Context) + shouldRunOnIndependentGoRoutine() bool +} +/* +Utility function to start Admiral DR checks. +DR checks can be run either on the main go routine or a new go routine +*/ +func RunAdmiralStateCheck(ctx context.Context,asc AdmiralStateChecker){ + log.Infof("Starting Disaster Recovery state checks") + if asc.shouldRunOnIndependentGoRoutine() { + log.Info("Starting Admiral State Checker on a new Go Routine") + go asc.runStateCheck(ctx) + }else { + log.Infof("Starting Admiral State Checker on existing Go Routine") + asc.runStateCheck(ctx) + } +} + +/* +utility function to identify the Admiral DR implementation based on the program parameters +*/ +func startAdmiralStateChecker (ctx context.Context,params common.AdmiralParams){ + var admiralStateChecker AdmiralStateChecker + switch params.AdmiralStateCheckerName { +/* + Add entries for your custom Disaster Recovery state checkers below + case "keywordforsomecustomchecker": + admiralStateChecker = customChecker{} +*/ + default: + admiralStateChecker = NoOPStateChecker{} + } + RunAdmiralStateCheck(ctx,admiralStateChecker) +} \ No newline at end of file diff --git a/admiral/pkg/clusters/NoOpDR.go b/admiral/pkg/clusters/NoOpDR.go new file mode 100644 index 00000000..643bdd75 --- /dev/null +++ b/admiral/pkg/clusters/NoOpDR.go @@ -0,0 +1,23 @@ +package clusters + +import ( + "context" + log "github.com/sirupsen/logrus" +) + +/* +Default implementation of the interface defined for DR +*/ + +type NoOPStateChecker struct {} + +func (NoOPStateChecker) shouldRunOnIndependentGoRoutine() bool{ + return false; +} + +func (NoOPStateChecker) runStateCheck(ctx context.Context){ + log.Info("NoOP State Checker called. Marking Admiral state as Read/Write enabled") + CurrentAdmiralState.ReadOnly = ReadWriteEnabled + CurrentAdmiralState.IsStateInitialized = StateInitialized +} + diff --git a/admiral/pkg/clusters/handler.go b/admiral/pkg/clusters/handler.go index a4acd5c0..01087274 100644 --- a/admiral/pkg/clusters/handler.go +++ b/admiral/pkg/clusters/handler.go @@ -148,6 +148,10 @@ func getOutlierDetection(se *v1alpha32.ServiceEntry, locality string, gtpTraffic } func (se *ServiceEntryHandler) Added(obj *v1alpha3.ServiceEntry) { + if CurrentAdmiralState.ReadOnly{ + log.Infof(LogFormat, "Add", "ServiceEntry", obj.Name, se.ClusterID, "Admiral is in read-only mode. Skipping resource from namespace="+obj.Namespace) + return + } if IgnoreIstioResource(obj.Spec.ExportTo, obj.Annotations, obj.Namespace) { log.Infof(LogFormat, "Add", "ServiceEntry", obj.Name, se.ClusterID, "Skipping resource from namespace="+obj.Namespace) return @@ -155,6 +159,10 @@ func (se *ServiceEntryHandler) Added(obj *v1alpha3.ServiceEntry) { } func (se *ServiceEntryHandler) Updated(obj *v1alpha3.ServiceEntry) { + if CurrentAdmiralState.ReadOnly{ + log.Infof(LogFormat, "Update", "ServiceEntry", obj.Name, se.ClusterID, "Admiral is in read-only mode. Skipping resource from namespace="+obj.Namespace) + return + } if IgnoreIstioResource(obj.Spec.ExportTo, obj.Annotations, obj.Namespace) { log.Infof(LogFormat, "Update", "ServiceEntry", obj.Name, se.ClusterID, "Skipping resource from namespace="+obj.Namespace) return @@ -162,6 +170,10 @@ func (se *ServiceEntryHandler) Updated(obj *v1alpha3.ServiceEntry) { } func (se *ServiceEntryHandler) Deleted(obj *v1alpha3.ServiceEntry) { + if CurrentAdmiralState.ReadOnly{ + log.Infof(LogFormat, "Delete", "ServiceEntry", obj.Name, se.ClusterID, "Admiral is in read-only mode. Skipping resource from namespace="+obj.Namespace) + return + } if IgnoreIstioResource(obj.Spec.ExportTo, obj.Annotations, obj.Namespace) { log.Infof(LogFormat, "Delete", "ServiceEntry", obj.Name, se.ClusterID, "Skipping resource from namespace="+obj.Namespace) return @@ -169,6 +181,10 @@ func (se *ServiceEntryHandler) Deleted(obj *v1alpha3.ServiceEntry) { } func (dh *DestinationRuleHandler) Added(obj *v1alpha3.DestinationRule) { + if CurrentAdmiralState.ReadOnly{ + log.Infof(LogFormat, "Add", "DestinationRule", obj.Name, dh.ClusterID, "Admiral is in read-only mode. Skipping resource from namespace="+obj.Namespace) + return + } if IgnoreIstioResource(obj.Spec.ExportTo, obj.Annotations, obj.Namespace) { log.Infof(LogFormat, "Add", "DestinationRule", obj.Name, dh.ClusterID, "Skipping resource from namespace="+obj.Namespace) return @@ -177,6 +193,10 @@ func (dh *DestinationRuleHandler) Added(obj *v1alpha3.DestinationRule) { } func (dh *DestinationRuleHandler) Updated(obj *v1alpha3.DestinationRule) { + if CurrentAdmiralState.ReadOnly{ + log.Infof(LogFormat, "Update", "DestinationRule", obj.Name, dh.ClusterID, "Admiral is in read-only mode. Skipping resource from namespace="+obj.Namespace) + return + } if IgnoreIstioResource(obj.Spec.ExportTo, obj.Annotations, obj.Namespace) { log.Infof(LogFormat, "Update", "DestinationRule", obj.Name, dh.ClusterID, "Skipping resource from namespace="+obj.Namespace) return @@ -185,6 +205,10 @@ func (dh *DestinationRuleHandler) Updated(obj *v1alpha3.DestinationRule) { } func (dh *DestinationRuleHandler) Deleted(obj *v1alpha3.DestinationRule) { + if CurrentAdmiralState.ReadOnly{ + log.Infof(LogFormat, "Delete", "DestinationRule", obj.Name, dh.ClusterID, "Admiral is in read-only mode. Skipping resource from namespace="+obj.Namespace) + return + } if IgnoreIstioResource(obj.Spec.ExportTo, obj.Annotations, obj.Namespace) { log.Infof(LogFormat, "Delete", "DestinationRule", obj.Name, dh.ClusterID, "Skipping resource from namespace="+obj.Namespace) return @@ -193,6 +217,10 @@ func (dh *DestinationRuleHandler) Deleted(obj *v1alpha3.DestinationRule) { } func (vh *VirtualServiceHandler) Added(obj *v1alpha3.VirtualService) { + if CurrentAdmiralState.ReadOnly{ + log.Infof(LogFormat, "Add", "VirtualService", obj.Name, vh.ClusterID, "Admiral is in read-only mode. Skipping resource from namespace="+obj.Namespace) + return + } if IgnoreIstioResource(obj.Spec.ExportTo, obj.Annotations, obj.Namespace) { log.Infof(LogFormat, "Add", "VirtualService", obj.Name, vh.ClusterID, "Skipping resource from namespace="+obj.Namespace) return @@ -204,6 +232,10 @@ func (vh *VirtualServiceHandler) Added(obj *v1alpha3.VirtualService) { } func (vh *VirtualServiceHandler) Updated(obj *v1alpha3.VirtualService) { + if CurrentAdmiralState.ReadOnly{ + log.Infof(LogFormat, "Update", "VirtualService", obj.Name, vh.ClusterID, "Admiral is in read-only mode. Skipping resource from namespace="+obj.Namespace) + return + } if IgnoreIstioResource(obj.Spec.ExportTo, obj.Annotations, obj.Namespace) { log.Infof(LogFormat, "Update", "VirtualService", obj.Name, vh.ClusterID, "Skipping resource from namespace="+obj.Namespace) return @@ -215,6 +247,10 @@ func (vh *VirtualServiceHandler) Updated(obj *v1alpha3.VirtualService) { } func (vh *VirtualServiceHandler) Deleted(obj *v1alpha3.VirtualService) { + if CurrentAdmiralState.ReadOnly { + log.Infof(LogFormat, "Delete", "VirtualService", obj.Name, vh.ClusterID, "Admiral is in read-only mode. Skipping resource from namespace="+obj.Namespace) + return + } if IgnoreIstioResource(obj.Spec.ExportTo, obj.Annotations, obj.Namespace) { log.Infof(LogFormat, "Delete", "VirtualService", obj.Name, vh.ClusterID, "Skipping resource from namespace="+obj.Namespace) return diff --git a/admiral/pkg/clusters/registry.go b/admiral/pkg/clusters/registry.go index a77aa6b3..46f68959 100644 --- a/admiral/pkg/clusters/registry.go +++ b/admiral/pkg/clusters/registry.go @@ -6,6 +6,7 @@ import ( "github.com/istio-ecosystem/admiral/admiral/pkg/apis/admiral/v1" "github.com/istio-ecosystem/admiral/admiral/pkg/controller/istio" "k8s.io/client-go/rest" + "os" "sync" "time" @@ -25,6 +26,11 @@ func InitAdmiral(ctx context.Context, params common.AdmiralParams) (*RemoteRegis log.Infof("Initializing Admiral with params: %v", params) common.InitializeConfig(params) + + CurrentAdmiralState = AdmiralState{ReadOnly: ReadOnlyEnabled,IsStateInitialized: StateNotInitialized} + startAdmiralStateChecker(ctx,params) + pauseForAdmiralToInitializeState() + w := RemoteRegistry{ ctx: ctx, StartTime: time.Now(), @@ -66,7 +72,7 @@ func InitAdmiral(ctx context.Context, params common.AdmiralParams) (*RemoteRegis log.Info("argo rollouts disabled") } - configMapController, err := admiral.NewConfigMapController() + configMapController, err := admiral.NewConfigMapController(params.ServiceEntryIPPrefix) if err != nil { return nil, fmt.Errorf(" Error with configmap controller init: %v", err) } @@ -83,6 +89,25 @@ func InitAdmiral(ctx context.Context, params common.AdmiralParams) (*RemoteRegis return &w, nil } +func pauseForAdmiralToInitializeState(){ + // Sleep until Admiral determines state. This is done to make sure events are not skipped during startup while determining READ-WRITE state + start := time.Now() + log.Info("Pausing thread to let Admiral determine it's READ-WRITE state. This is to let Admiral determine it's state during startup") + for { + if CurrentAdmiralState.IsStateInitialized { + log.Infof("Time taken for Admiral to complete state initialization =%v ms", time.Since(start).Milliseconds()) + break + } + if time.Since(start).Milliseconds() > 60000 { + log.Error("Admiral not initialized after 60 seconds. Exiting now!!") + os.Exit(-1) + } + log.Debug("Admiral is waiting to determine state before proceeding with boot up") + time.Sleep(100 * time.Millisecond) + } + +} + func createSecretController(ctx context.Context, w *RemoteRegistry) error { var err error var controller *secret.Controller diff --git a/admiral/pkg/clusters/serviceentry.go b/admiral/pkg/clusters/serviceentry.go index 3a774760..e35a0201 100644 --- a/admiral/pkg/clusters/serviceentry.go +++ b/admiral/pkg/clusters/serviceentry.go @@ -58,6 +58,11 @@ func modifyServiceEntryForNewServiceOrPod(event admiral.EventType, env string, s defer util.LogElapsedTime("modifyServiceEntryForNewServiceOrPod", sourceIdentity, env, "")() + if CurrentAdmiralState.ReadOnly { + log.Infof(LogFormat, event, env, sourceIdentity, "", "Processing skipped as Admiral is in Read-only mode") + return nil + } + if IsCacheWarmupTime(remoteRegistry) { log.Infof(LogFormat, event, env, sourceIdentity, "", "Processing skipped during cache warm up state") return nil @@ -573,7 +578,7 @@ func GenerateNewAddressAndAddToConfigMap(seName string, configMapController admi secondIndex := (len(newAddressState.Addresses) / 255) + 10 firstIndex := (len(newAddressState.Addresses) % 255) + 1 - address := common.LocalAddressPrefix + common.Sep + strconv.Itoa(secondIndex) + common.Sep + strconv.Itoa(firstIndex) + address := configMapController.GetIPPrefixForServiceEntries() + common.Sep + strconv.Itoa(secondIndex) + common.Sep + strconv.Itoa(firstIndex) for util.Contains(newAddressState.Addresses, address) { if firstIndex < 255 { @@ -582,7 +587,7 @@ func GenerateNewAddressAndAddToConfigMap(seName string, configMapController admi secondIndex++ firstIndex = 0 } - address = common.LocalAddressPrefix + common.Sep + strconv.Itoa(secondIndex) + common.Sep + strconv.Itoa(firstIndex) + address = configMapController.GetIPPrefixForServiceEntries() + common.Sep + strconv.Itoa(secondIndex) + common.Sep + strconv.Itoa(firstIndex) } newAddressState.Addresses = append(newAddressState.Addresses, address) newAddressState.EntryAddresses[seName] = address diff --git a/admiral/pkg/controller/admiral/configmap.go b/admiral/pkg/controller/admiral/configmap.go index 76f53873..7f730c80 100644 --- a/admiral/pkg/controller/admiral/configmap.go +++ b/admiral/pkg/controller/admiral/configmap.go @@ -15,18 +15,21 @@ const configmapName = "se-address-configmap" type ConfigMapControllerInterface interface { GetConfigMap() (*v1.ConfigMap, error) PutConfigMap(newMap *v1.ConfigMap) error + GetIPPrefixForServiceEntries()(seIPPrefix string) } type ConfigMapController struct { K8sClient kubernetes.Interface ConfigmapNamespace string + ServiceEntryIPPrefix string } //todo this is a temp state, eventually changes will have to be made to give each cluster it's own configmap -func NewConfigMapController() (*ConfigMapController, error) { +func NewConfigMapController(seIPPrefix string) (*ConfigMapController, error) { kubeconfigPath := common.GetKubeconfigPath() namespaceToUse := common.GetSyncNamespace() + if kubeconfigPath == "" { config, err := rest.InClusterConfig() if err != nil { @@ -39,6 +42,7 @@ func NewConfigMapController() (*ConfigMapController, error) { controller := ConfigMapController{ K8sClient: client, ConfigmapNamespace: namespaceToUse, + ServiceEntryIPPrefix: seIPPrefix, } return &controller, nil } else { @@ -56,6 +60,7 @@ func NewConfigMapController() (*ConfigMapController, error) { controller := ConfigMapController{ K8sClient: client, ConfigmapNamespace: namespaceToUse, + ServiceEntryIPPrefix: seIPPrefix, } return &controller, nil } @@ -85,3 +90,7 @@ func (c *ConfigMapController) PutConfigMap(newMap *v1.ConfigMap) error { _, err := c.K8sClient.CoreV1().ConfigMaps(c.ConfigmapNamespace).Update(newMap) return err } + +func (c *ConfigMapController)GetIPPrefixForServiceEntries() (string) { + return c.ServiceEntryIPPrefix +} diff --git a/admiral/pkg/controller/admiral/configmap_test.go b/admiral/pkg/controller/admiral/configmap_test.go index 5d2d5ca2..c6d37e42 100644 --- a/admiral/pkg/controller/admiral/configmap_test.go +++ b/admiral/pkg/controller/admiral/configmap_test.go @@ -122,7 +122,7 @@ func TestNewConfigMapController(t *testing.T) { for _, c := range testCases { t.Run(c.name, func(t *testing.T) { common.SetKubeconfigPath(c.kubeconfigPath) - controller, err := NewConfigMapController() + controller, err := NewConfigMapController("240.0") if err == nil && c.expectedError == nil { //only do these in an error-less context if c.namespace != controller.ConfigmapNamespace { diff --git a/admiral/pkg/controller/common/types.go b/admiral/pkg/controller/common/types.go index 91e20a26..0a23fb40 100644 --- a/admiral/pkg/controller/common/types.go +++ b/admiral/pkg/controller/common/types.go @@ -36,15 +36,18 @@ type AdmiralParams struct { DependenciesNamespace string SyncNamespace string EnableSAN bool - SANPrefix string - SecretResolver string - LabelSet *LabelSet - LogLevel int - HostnameSuffix string - PreviewHostnamePrefix string - MetricsEnabled bool - WorkloadSidecarUpdate string - WorkloadSidecarName string + SANPrefix string + SecretResolver string + LabelSet *LabelSet + LogLevel int + HostnameSuffix string + PreviewHostnamePrefix string + MetricsEnabled bool + WorkloadSidecarUpdate string + WorkloadSidecarName string + AdmiralStateCheckerName string + DRStateStoreConfigPath string + ServiceEntryIPPrefix string } func (b AdmiralParams) String() string { @@ -55,7 +58,10 @@ func (b AdmiralParams) String() string { fmt.Sprintf("EnableSAN=%v ", b.EnableSAN) + fmt.Sprintf("SANPrefix=%v ", b.SANPrefix) + fmt.Sprintf("LabelSet=%v ", b.LabelSet) + - fmt.Sprintf("SecretResolver=%v ", b.SecretResolver) + fmt.Sprintf("SecretResolver=%v ", b.SecretResolver)+ + fmt.Sprintf("AdmiralStateCheckername=%v ", b.AdmiralStateCheckerName)+ + fmt.Sprintf("DRStateStoreConfigPath=%v ", b.DRStateStoreConfigPath)+ + fmt.Sprintf("ServiceEntryIPPrefix=%v ", b.ServiceEntryIPPrefix) } type LabelSet struct { diff --git a/admiral/pkg/test/types.go b/admiral/pkg/test/types.go index e30b2b73..035a64d6 100644 --- a/admiral/pkg/test/types.go +++ b/admiral/pkg/test/types.go @@ -17,3 +17,6 @@ func (c *FakeConfigMapController) GetConfigMap() (*k8sCoreV1.ConfigMap, error) { func (c *FakeConfigMapController) PutConfigMap(newMap *k8sCoreV1.ConfigMap) error { return c.PutError } +func (c *FakeConfigMapController)GetIPPrefixForServiceEntries() (seIpPrefix string) { + return "240.0" +} diff --git a/docs/Admiral-DynamoDB-view.png b/docs/Admiral-DynamoDB-view.png new file mode 100644 index 0000000000000000000000000000000000000000..fe0c596953a65a079df4ed212166da5d28d78dfe GIT binary patch literal 180887 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

N6@4e84`D@M1SQJ?_c&Sbjf* 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 literal 0 HcmV?d00001 diff --git a/docs/Admiral-dynamoDB-DR.png b/docs/Admiral-dynamoDB-DR.png new file mode 100644 index 0000000000000000000000000000000000000000..91710a0d56010a608c88126fb319e8577072300a GIT binary patch literal 42617 zcmeFZWmHvb8#W3EO0x(_iA9QpbeD@%8Wg0ZyIWFSEEWwSAl)F{UD93BEhXI`4c|n! zd+&F=?>EL7=g;|b_yLYJ=bFzm@4W8oz8?dW6r{1xNzoAy5U`%hNT?tnAk!isAT6QZ z2R=bOeGrF$;EV8F;@L~L>Fow}tC#ARKd(jI2Ioiiu7s~|!Z=8^x_)*UPQg&yFsPrQ zy*)dk6PheVA%5p4kM`IO2iU;6E?-G;3MFcw+HlT+?Ikpwf_m z)_3b9GWsXipcT&9{8sI*$J|!aO%Moz3Womwzy3d#!LgXG$4>&K?C1k_ogRy3>r8b`*>_tsK;^C z-#FL-Kl>N5H+lYwu*&_gk9T*ar^5(V|GIW}@hxacbn({4n&YLK8f;MHGWge{mSb_; zL(HvJjzw>eL}Tl3{#v?u>*)sn)~nm1ThZkNe#iaq&G+tXW)NRzLiyDzKl|m5iUi{8 zy`;C-)@EkkeK3J*^*0|WUV%%#CP$T6$NOXgHZ~m+&uhyQ4?6jDl7F*R#6{zFO$P;i zOOjDdW6*?=rEJESH6$Xj= z8@yldho=C)dzJ$H*P<=JZ3!S;;Hyyhgx=k=C-hp-aDf|u-@o>McN;!6a3ukB0IYX+ z11a90Plm&(faQT(xPEQ$|NTROSK$LwLxp@OM7{eW9-*;YIm=BNysqSwBdauDvTwmV zWtptafz>A#uNvOBl6MS+)su@05q==dk*+Vng}Eu*Y%fFIZlP|XS~vMQ-s6|`+5CHj zH@9KJ3Xy= zqH{InDrqL;6d&QX4MziW;bmna!;fCKFo?w=2ME1*7Ga0tXU&(^GER=zy!=wd{pml%@vazBdhWk_D{qSGoA~_7cD9=RoV;rW3X^aJWN}ax1qVrkxtPJI za^n8DL9M}-GVmFWUh`O($Ecs(kUmKq=#l-w=W1JwW-w<01m1NT-a`FzU!-ULn)G(g zN9d;R^fl(wb7Gt#-4Ce&r>YvS7{wCOIj#QLBOsOW=Y@rAlrcW1iTWbDUV7ITCzd~T zx-Y+_q=28v5V6y)P?p`|)a2)5Hr-roQ6i;zhKTMvNgy1Hl%=;fT@3^V2F9U?lHzgE z)^3F_(U_nPgOPoWXV{=_;jQ1C%~YW4ad@;Up6hY+6hy6d5^&D}r9ljKYUDu1Ha}L0 zAQpPgiYgnh>$=wZ!yf4uMMBUAiY=*g(y7wz9=UQ~7NdRQH%*Q2Mn&f~y8_#N zf+rw=@OHu9Dc5*E9sEo@t;>Z~~9tT<%@)}tv!Mg!*^rBTuIck^ON;|^2u*+blH zGjlsbjdPR3A2i1bf%EoMEV8ecd)*u9L9TUJ{kMt2jDtO-e1aj!T!l&jg$w>O;D*Eg6BCYc~=i0sxR9ZpWKbq&UdG9{nBm|3|j zZ}Uky)HeG1vFOCRih-TB{&a_#9&H0Kq89SpbIq0sD9gbp)>P7$VQuO~@0-Y^Y**3Y zauKa)p6HT1PL7Un_K^?J{%73?RHY@C$uf`u}09)-1P zoqi3*D535xe-%CE!jWEDKl3BbUIAWP3~qM&>Lw=s-f8%}+SI#iqKb#omft5@^oR=( z(%Km5q4UjN>gw7^I8{avF`h1h2Oju_)^c3Pp7ld-vRBfThL4ze&2DcU%RQ&wmC>u4(36|-fwtbz*23rpy*AKZq zdS4@n3d6ufeMm(|L&>;tzWMoyl#&o(AF~9TDVOd#FLvw)hNZD9SN62)wyj5qcz8%FL*os(b&UkVl|^Jt7XuWWG(Bj_6Wp}KIK((+GU4OlKBhXxBD=Tw z10?!xjX$UyuMr~x08)9DUUBfQXG&;&(?dFLu;l!my(OeESI49fey zwjosZOtR+17giz2IZ_FmdExsxi$={Ti$hZ{taj7l(Tuy2G3TugA4bkS*#pS#V`L7D zgpZrSO}rUw%F>KH5E?%!lCW8IdN8*umx@P-7@HTg2Tn0vN%WSPwauUJDcz?w{+TQ$ zv1*e9{Io*tzx94|Ufo2J!6lk>;yHWEc{6djwyZdF*(|s=p37k-10uys>GdPkL#h|eL9;WHbza=u-1=3+egvV-C;G#lg5oX3ND*EpeFsR*gyVK1gXDyv+J zxXJxqC_-s#=?*(3DImd96r{90_qrO{i-aLBLciQYdZX2xD~yza`POHwty9qwaY%1- zd^(Qv_Go_X;@t)>DW}4?fepH9&qjRiSQ^nB4{$!pGZCjKPiCTQz=V zOj7k$5iDbbFNh9^bgl;S{=oOZ7lv#ekdMBOePr(wC28qsd3#jQ-~*XLh@-&zx%JbZOsr z2#!sbn2;TIc=?WctGE$-$L78B=r`Z6InM`4#{xFo_2vB;)z# z3%!nTt^49W8`rZl%AXBJ7aD`S$h^gsyZyV?_fTtJTZxtna+ipF54 zmf&C$C*|oWY|APN_g6v?O)Y?Z^!Xulp?B(f?~P@qrZtM1PqyBzKzS3oui|vn>ENuH zd(xqoCidO-Z#3`)vuU-WrFduS1M0hz_1mg(?9YdkiA&&klvyXioM{%5xkB0nL_~Y! zVI3f!W7LXQL?u}cOfaH`Fkb=+4L=3L8Ye~(^tqG88#&`7CaJ@ZI!CIUN%S zMIH%u6MkeC^3@N6AowlInR$sXm#8za!OT_*n6{(+3Nh2**vyP5kn`UI7gV>osu& z0q5iIKb=w>u4!UK-y9u*`13Vu5hd||?{6Q zKAZ$TI&s^-?HeJ+o8Oy^jWGvI15hNWNp%wirRF3QlQ;=uW?D_m`Xpt)E{bEQYmqzF zoCM(-QPn#MQ|*v{&s4Lv>gEZ?Icbq+pAV~UaikRVO1S>iyr6z38Ch)as(ult@uo9b zvg*yZb}Y0Co7t&(Mduo#$j!Jsb+(K*u)2mhJLFR7w7uf0{e$; zn-l1vFzqdt-YV-EH4Rnw^32b;RV-ku;MbT^;`gXecbA&mW%%$iPAtx0xspUdYVg7J6rorbIC z!h)1>hjJ&~>s`xU1p0*$N~7!a)%gxZLz(h1qwE6gmJEM&nb*5KKCnW8na)iMHje>3 zY?CKBH?PgoP1M%XPwv@9 zJCX^7>e0J`eFFxAZrUW!Y4_slrA%IA}`lXK!U=6DEm7XLWjbEVhspJkZDz4 zp~^(7FXm4U!12R5p=ZOyYFE|w-!&S>qoH!+x=y%y%zV$R{B}K`ykqtAVrAbsALqPs zN;Z(>PB2`5p&Ah6S73vN+t|o-aafy9IxvaM`4R@CZ|ng+lTC$u`^PpR$j^~jMo(-Jh!$K zt`pUYPf8}xW-NV{%mn$2n+YCn@c5I{eu)&&4d@$y9!;JJgAHa3R9JT7VVMHkw~bz+ zkPq}+1-AoTTi;q}_%)40BkNGgLE!G~FHA2v?iB3gDE=3~0^fNMAW>-ePkgHA?c8J~ z8t|@`3nT#4%670m&0R0xK!_BJg6h`4&Qa^l!!=|O;!*536h5_(;v?)XCBm7;Mf(=^ z$4-B#1{KJuG9G9kZmWg;7nSY9W>#(6r%mlmMzJnZkq8H_U-tr$Xc?cZ>_tX1Aj3y? z^w1)Yai17&Zj**jylgCpn~YMqlirOi&+lsE&Io_)aE(>$3X+kD5MkMcbx%vp=2_9r zaw5kM6C~QAEfa~6qxkW!{^&0|ChEvPktn-z;WOt-#NX+bm*>B9>t2XNyVwh*k24h; zbMdLJIyGJNELow~pj={0k)>MV@76c{wx2g&HtK`ND^uDJ8%z=-P}+G7$m*nCk# zfQZ2gc4FXmGk(N;6Y;wQWd$j&xrbCAl57K9)F~4{&d+{HI0e7+9^_6Sce)zGLeq;B zsG**xdm`6x)yWu`g>p;b# z>-u#%CJ(a~DUF#~{ zb-IfHIC)tX|jVw8`szf zpK1rQirQA0UDum?IYSV$9$t z+fW*aMZ3qbJ&H^&9@R4Aoxkb-?QZ}*`O6q|VbISq3{F@8d#3Q2zRwIf#C7lc**wkJ z(nuz;$PX{Dz-*uCWWQ%E*8C$}m3@Eg3r3Q`$28MY^jxvvlNj?l%SzP@sveSnV8nJ} zl`~e8z6;WLb?ers;MYUMm{O| zd{v0MeC%^Yr!%NOgUH7gn(Ha6BckJRx4QQXUj(L!zRWziWb93Az%(Ct4E0lb^7xu~ z!LtD``;_A0(szMle;oZz>f(xOpj=gvKa=a_M^{dPfl$$Ul?JsA`PHpxKkd8C%K6g1 ztQ=KKzxjc+(!*@8;#({c50g;;$Ep9KcXwWc_2UH6B8VyGsskd7gFsyr0iSef5`qmi zj}F&IO)Sg3w%Wvf2q+bq#Oh&=1GTmq?}Z_W>SD9lFbq%^Nl1b^efoL`%9k^97FKd$ zzm6H#)Uk=yz|NP^>NnmNlY~~S(1PAnCU$Dh<}mA4Tojul5iNXb+CnD#L;s2s-E>h| z5!1ZGpD?YeM~ELcP&t0dv*AxEdq+(F(mX2+nqX#GLX6oeR^Etc`jfob_lm>~EcC7W z&|T}ayJGSt*vxXPS_?fqn|TEL0vRq8GinFE88gLf5${nFG8a*My6~QiVUWr}8Xnpq zMSQ>~2WIVaBZww+g!&VpJ1ji~z$966vC+>FGWn&p84WRETTOW_vYRM`oM=PiDP-0#5vT17qV!^}_pa1i)ie#8r3TF#`@X!0G5xP?;;(87^o zE&UbFl+yW8DVomD$Lu9fCH1@gznr;~@9I>;yBaQsNJ+=|$x8Dz;i!yh83+*}>sI`W zuChbqi~4+1ij4O^QSD1e2b~;cg+f#7mR9%B!-Z^)q{Y*E)&FZx-QhA{wo~Ffdw*Ef zzI!cxkM-6Y&yfD9MDZRU9g+~@lCey@Yqe`>MoxiEllqWc0`hgp`mFWY`wa#BTHkm? zETh1|Uh)tw_E;aUQD){F2a-Z^QLKg^xZ9umTr6_?Gz;f!&g=MM`^G7%<~py_ou7@z zo$VKqxO$JPP-msqYNCNE8inQ2!&QE%vey4EWDP+DIu9^paE1;h8h=2Qb1S2K^vrd@ zOqM<*NJ7cugtYOt67QbBqAJ#o3dHZp7Ezy_^jmKxl3^iJFIN?_6}n_~gVq`EL2EH0 z8J_N5)upV7Aj9^xhLD=FrjEq|4<(-+(qNcC)VbVa`*4|P%_=piYoX3$v~XW0v2VZP z$;O{D{jMW~_bYwphlkU3R+d#xS7MsQA?nDTRaC>wbjWQIMZ%tnt&zx^ei+dA{8@zFb_NCdQ=({A#R{jUdZ{I>VA`p;ficf0N_8Mj$l;M!VA2oZ|Q zCHM<5NF$UdmSg~=6415!U0~cLw!2Z&iVXf~c zF~12TFrb&aj?y<2EHo`^e}?#~9P53#-iOp#PXg4c<_@jT1vn`_=&I+nbwwmTP&!|J z(RaJ<@k#y`sU82vaz)xHyVa-_`+RG0+Nl!90ZqN~PsShp*Vv-o4M;N+J1tW**-EZQ zgvZmQuZJI7$$M88N`%K{1fhAfzynhGljH3;Di5_2j><;Q?~3%4zi|=Z_;)$VX%QW* zNJ7g*+`3gI($ln*If=8~u$F)xwkc99 zv64@e4QT5(4gsjNJIUO^+KnX`G!pk!YiV3*iVE^%rQl-KD6OVVswsLznuLr{7L1Xi z460PjEGu6d6^=XD3v&awyr)no%Yw9LG$V2d*hdYs_Y(8eGy(gzl19i%+LLx=+_Q4l zMbWit-4c)4%0T)KLH}bSzk=Q?EHwUD1sOy&L?)(H_$1ck8SA0@di>Q0gz) zVWEZk(2Korf>NmMJe}d7 zo!64h^uXkih$mV|*rq-@t^x6VxdYuSH$7QYJk^FUH=G%M&DtE1(~?9xC&8G(&R6}SBgJx(2EVctscKgT;QzWEic0!=>of`A~ zvPQ&%I#+wMHT~eEYEaHKbiM0|1eGvOPO2wz3yMrcXCDOW-xxM)-$W&(3lBf&4QG*3 zDTVQ5ALlCgvAl?RknRo3ktu6yv$yY*k~{s0RK2rx18`Id_ey zR-t-@_+gSX@ClKx4YIE$D{UA$6t4+3J}ih)d3@^ee9{btO1+39CXqk=utePVDRwv_ zS3*!*n-%IGi6tNU(YO$lW0yp9%1N)b)XqDRdUhoIy5>a4Mz_)5O&nmh{!lFfR21bQVan_4vBjx2(1P}+h0SDDo8SH zcTm*d?ysK9A{{^@)#8B4PTgD8ni++vs2TEZ&$_d)bz*e<9Rbkq8va$E-KCPdpb6M} z?S@jUQjM;bYus4--a(mv?MpzusEk_AM>r*(WpGwq^P2D0 zbbHPobz)GbbKsijVE7viF}n}Lh2lcWI2-^V5$VXCMTH>Tme&4{xgU2*ny7_J@S>V@ zl-9)mcZew@QJ>l7m)|y$_PQRX!DIwNw)TUhMR>?dSD*n5+SUrbY0WnDoLc*GrcWM9 zDe&P!(4oMUyu9On8;$b%FmbsICeGgI_sN5;GnX+mf~V7d@Aj-DethCaReYT)u-hA) z6G?vkiaZlRqvkrH=bOqudE^f(1u#`vmK}*FONFSo;y#Z#)5<f~f7f~UqICNtqw?{ZCZlOhb*>~y-rwNwsTr$ld%^o!dy_~r%RqmLrjccxc5ox!cax7t`Sf)l4Vi0N?IyZG7=>6659)9#jm>8^IWX-KE|+#w zfH2w5rG^^ORK@u^nH}|DF$G*mkq>mcn`zjmgFg7y07uPA#4nx*ApR_U8KHiKBy3By zcrH{A?5KYOKthg=Z|7kkW zG!cE!X%$~HcC!+`C0wwClf51sTQv+kJqce=v`CnD2RVw~pwzU^L)c_dLzVPPo98gV zrXlW1sNu)pG7!aS&e+%brgEVD0?h}~l790=%DEEnk%NJ4V0R;3)z31yv9ALPlcA`%t!$WW zh6*G6>5bUDVUIe$?M-~ISi-@5^g8fUenjp_<7R2HvhOIDy<7~y5`5A^L|4WmJ*035 z^m&MsfuxaZ=*?dmv}$eIHB)Mys7)ziH^9@E#|KN7E=*heDPEDJos@Uwg@?B0T81xQ zg%A8yYKk-$Y|6Xz5b@rIGoA|$|Alr_7~214DIwx%A5h>qq{IA?_O2>6WVu%Y`du7W zSXrrgtf!iC>hkNDswOntZEZVd+8@S;d9+PUqd`>86+WZI}DU5SU z&Z_C0azek$JOxRc%6=U!7ebCgh^3S0DC(kUk~4m$MaCf;mjivy4}k=)$ms<63|?X- zze@TV&fuD z(L$<$AlI%Ljm+L~4QlT!2~=Em4u&F$-EyqQn&o7oh5P{+KvX(R!Hx#elrHMFTsK&2 z*c8Uw1k~=}8~u^(U5n)|E8b0u0=>S8-LuLvR&8`_@t{_C=bONQT8f~Y(330>7-mAH zs})3Mnpa%uNfVgO3i+9*io4E9m{ZEs$lR)M6o6Jlpk*S|5V0r}9k(dFW+F3^Y1Zw^ zk@i&HHGYyCE!d99pv}@QJ8rfc`-*PBu%>)@6HJ97sj17+8oO!26A2)Pr;z%H30g=!v-t(8^FntVA@$Cx zc^B!as*3LyD^m=_CDbru3!@t8saaO(KpgJ4B-h%*7(u!@NHElon1subGt0Y-(y}tS zGbDFr$bw8CZBgG{Lzxt>{)PjX3O!D76T7Q)?!Y|2V82l-&-u_eoAy*~!55gfx@x>+ zBV@UHC>}U3z3Hn0bbG18H71$sHi(FGNaXuBRm6b~qq`nYVPtCz-K!!Z14*7*45&2q z$(U=n@b20VlEG-CwuhwhkhYD=qT0Pn=yNqr#3f9PmPCzOBn|ww&$ahIm|AxnQ(`Yq zM_sb5zCA>)x?cIk@}!vlM*vuUQ9eg+Q<*4MUq}HAV0`U*jsfyE=0F1G-_VC~Urr4Q zA4tL=Qy`TE zLgNUU`ZRYOvJ{wsplpzCq@hymc6yCOtHoWLr_{g85gD>)^xPE%V!T!CxIjm2p9n)P zYPy@85oY}tod9vzyV&IzeQRG8kyu?cHnH3)*$dFpW3&{r+~0FHSjIn8xrv-t3uW$KtLm+FN^cxjw`~jB`syw5fk3~WYR=6 zUpDdm`Dc!6jBSl744lGQvGPj7gV&ELjax?BhPmEsk}}UhfvlWn&o%1>P4{Ot_!;(K z*k_z@?2`gIh>_wGF{8OAWfJp*8nqFB>5JJ#H#=@Dh;ojdS^HqoFrf8NL3TyP+D2x8yH=hn46M|BNi4j2nU)Lvvm=QyK+qfk* zw^F%BF>upb@xn-I>2w)Fm$)M?q-Gl($X4SOmMhMizsQ&t93BXR+J6wAAU9S@zQ{1q=_v!=> znF^I+G(i-mG=qUKyBa^3a&buBwnYQUCoW!9gD!b7x4tJN+S3?;=dI-(>}=u_3)uQ! z)Z~9#?TTKV)IAblPv~%di2Cr3fc=Z={Jp#VryuWHbeg`%bJ!Q}@~Mrm8C$EX8o$=A zY8~urKU}JC9x}9-NVlhZ#O#XE473cYoz9S>JzoV(03&vvp5c%F^k!^m^T-0GG+i+{ zj+*QQzGHyF6aJ_1B_w-ScBuZ?I#N3gr0Yw-uxXNmmdHUPhbn1ETH^(x%XU+6K+tLG zV6Z$;Ix)8S&uHkmjJU?n-_fym4Z}A=zmfz%9RW#MK-+gR6v4i3QxGX*Nf8C!=a~gx z8@V6c8J<@2y50?i^^wrK^@cjOB@Ratb*&$g>FjMrJY0C<)+gk^yeX>f;MM&_u&UqC zV~6>{IS!>L=iY6L-PcfzMhCz5sw#;zDA3u%A}f|d!tJ)xys+h#4KkntX#U1McBT-B zs}=Z2UV6owg*BnU@2OgHTd})fIJa>KjY(XTsrny*{-?q-5S~xcTZt3lyOV2rk&9fE zKWgrSxOz0c&pNaO3%q|C`s{Xb?|b5@&(}tlOC`s1bfAe~20;Z7(Ug?}Pxgr4K74%q z`{4oS>x*krf=>g|X8T4!TLi|Q7MRocsm%O;$To*I2a8Byz} z15)(|{UTQL?i8*?b00_oS_qPD$+CI?(08sQPJm-8)CQY-_4wR^^1htj9x4f=P)8Kd z#};zu{<+<-jv5XOfav;=0JFny)&4F2X`il!?bVE#Z*O{8e`?C1g@=i1(YHybS|}0O z`AM4%AqU5mgL->-7k_MEz=d;_``7y1;{O&^F> zH0=(&<#kRm;;eB#Z#pl<7%xD4jUIXjJfahct`Jz6wq>M%*hD)`KA1V^E?uy{I^(|M z5%6rL0u~4$ZCuv&Nu<=LmUb5_&Yq=*e6YT`z=UolaTMP<~Gc6#gvVj;}yux=R+@Yv!Z_0cW;;y%#y?|4V<&vu%g%+7YJlkxLu2L{K7&1l^RUNg6uXH{rd50Kh4?&+rX zrhIiykw5vCkT>tH5>nDonRBW{ALS;0Ye-O4INu&ezSd^xn!2F1 z1%+$)3qyQgbELoc8`Kg08`NPF8~>%&DDSr+&Sl2igTr zJnWOVJl&*4uPCF?)lw^YPU?@-WJ#&fE!bXg;EHt-hR@N!xxpv+Or-i^W)<(7P1Cv( z!#%puxx9zK99ACOsyaJ|Imei^SU%`)#PQ@m#PktYe$wC@%fySIZdV8#XQVi#eP!AL zEI=Xhbv2S`|2!tjjn0Qq#cy4vn>42lQWPvC?e>Lx(OrJ#w%f$n8}Z{JI=*6pPGu!ZFkc-U$caqMs|(H@H;ZHgA{-4 zU^oq5#_RB{ulJICQMse^vNKkBqbxj(r%U4-CzP8)g3b1Ac}irl&jrA&4slTymz-(x zQzHpW#+%#@1vLb0i_fFFSha#ml6RV6!ZAudMfcU1L!pd~I5RdkI=OpH2gnQVOM|y8 zcOzMUCP?o3D|cjCh88M_zox?2WQ07rfVBU)G8hGBUPCwG5K`_oi#OPdeH3Q{zbqAO zgvsdKv#@!&JY@UeV8BB*oI3;a-Ml0!6eH3AT;XRYbM4>S3$N@8eTzgZi5k9rHF*2d zmy7aY|BJF2ZM|J0I$)=Y3D6hnR6@?&7fp4zl+l#!QzKQlUauc;(sO3OriH(%EF_|6 zc{eQyR<*fW_m;XGyoPu$JV|FR%NaPm;nUA?u${3BJzRkQHC*>$fcW2zojsYWsNf{e zJ#`XYYl!>aTW#_DMqKWyy~WL(vNJ1tfaBmNYxZ6q71$r;Vnjy| zCw+3&30Z!Q48L735LWCa`H+7#cmqQ?_h?OK?Eh(v|Cy091D^>uZr$iPhUnafhckoA zKTka1V^VFd^o_g+*PC(LS^$B1wktm~MLˣ~?bJTZR@j@%4vGmRoyg#vs2t2_8t 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 literal 0 HcmV?d00001 diff --git a/docs/Admiral-health-check.png b/docs/Admiral-health-check.png new file mode 100644 index 0000000000000000000000000000000000000000..eb07eb4c77591beaaa7ce30c55be7357f44ebbb1 GIT binary patch literal 25012 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

Ot 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 Sjif*=`p;SOGbN{ycmE%wL)YH` literal 0 HcmV?d00001 diff --git a/docs/DisasterRecovery.md b/docs/DisasterRecovery.md new file mode 100644 index 00000000..a53d21ed --- /dev/null +++ b/docs/DisasterRecovery.md @@ -0,0 +1,55 @@ +# Disaster recovery + +## Key terms + +### Active Admiral/Read-Write Admiral +Admiral instance which is constantly monitoring all the clusters for changes and is responsible for creating , updating and deleting the Istio custom objects +like Service Entry, Destination rule, Virtual Service , Sidecar and others. + +### Passive Admiral/Read-only Admiral +Admiral instance which constantly monitors all the clusters for changes but does not manipulate any Istio objects. This instance does not create, update or delete Istio custom objects. + +### Lock object +A reference object that is used to define if an Admiral instance is active or passive. + +### Lease +Duration for which the usage rights are obtained on a lock object. + +## What is the need for this ? + +As of this writing, we can only run one instance of Admiral in a Service mesh environment. We risk running into data inconsistency issues if Admiral is scaled out. +Multiple Admiral instances can overwrite Service Entry and other Istio custom objects and cause non-determistic behaviour. +Running only one instance of Admiral exposes us to the risk of not being able to modify Istio custom objects in case the Admiral instance is unresponsive or has network issue due to infrastructure failures. + +In a Service mesh spanning multiple availability zones/DR regions, we need the ability to run passive Admiral instance that can take over the responsibility of +updating and creating Istio custom objects whenever the active instance encounters any issues. + +## Changes to health check API - +As of this writing, Admiral exposes REST APIs that can be used to check the current clusters being monitored and also data about various Istio custom objects. +As we consider data from Active state Admiral as the Source of truth, we need a way to direct all REST APIs to the active state Admiral. To support this, we have enhanced the health check endpoint to +include an optional query param ```checkifreadonly```. If this query param is set to true, a passive state Admiral will return a 502 whereas an active state Admiral +returns a successful response. This query param can be used to configure health check diagnostic URL to decide the active instance from a pool of Admiral instances. +Do not use this query param on [readiness or liveness check probes](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/). +![](Admiral-health-check.png) + +## Creating custom DR solutions + +To create your own implementation of DR, please create struct which implements below interface methods. + +* ```runStateCheck ``` should have the logic for DR. This take AdmiralState type object as param and modifies the readonly flag to transition Admiral between Active and Passive modes +* ```shouldRunOnIndependentGoRoutine ``` should return true if you want the DR logic in ```runStateCheck``` method to run on a seperate GoRoutine. + +``` +type AdmiralStateChecker interface { + runStateCheck(ctx context.Context) + shouldRunOnIndependentGoRoutine() bool +} +``` +* Once you have the Struct which implements above interface methods, update the ```startAdmiralStateChecker``` function to invoke your handler. +* Invoke your custom implementation by setting the program argument --admiral_state_checker_name to a value used in ```startAdmiralStateChecker``` function +* Please contribute your implementation to this project + +## Sample implementations +### [Dynamo DB Based Admiral DR](DynamoDBBasedDR.md) + + diff --git a/docs/DynamoDBBasedDR.md b/docs/DynamoDBBasedDR.md new file mode 100644 index 00000000..ee41ee45 --- /dev/null +++ b/docs/DynamoDBBasedDR.md @@ -0,0 +1,392 @@ + +# Dynamo DB based DR sample + +Below document explains how DynamoDB can be used to implement DR in Admiral. The active and passive Admiral instances try to obtain lease on a lock object +maintained on a Dynamo DB table. Dynamo DB supports [Global tables](https://aws.amazon.com/dynamodb/global-tables/) which can help replicate lock object information between regions where Admiral is hosted. +Writes are supported on multiple regions. + +![](Admiral-dynamoDB-DR.png) + +## Admiral state changes +* An Admiral instance gets promoted to Active state when it obtains a lease on the lock object. +* Once lease is obtained, the Active state Admiral keeps renewing the lease every x seconds. +* An Admiral instance in passive state keeps checking if the lease is updated every x seconds. If the lease is not updated for y*x seconds, where y is the failure threshold, the passive Admiral takes over as the Active state Admiral. + +![](Admiral-state-changes.png) + +## Sample Code + +Define the structs needed to unmarshall DynamoDB configs from Yaml file +``` +package clusters + +type DynamoDBConfigWrapper struct { + DynamoDBConfig DynamoDBConfig `yaml:"dynamoDB,omitempty"` +} + +/* +Reference struct used to unmarshall the DynamoDB config present in the yaml config file +*/ +type DynamoDBConfig struct { + LeaseName string `yaml:"leaseName,omitempty"` + PodIdentifier string `yaml:"podIdentifier,omitempty"` + WaitTimeInSeconds int `yaml:"waitTimeInSeconds,omitempty"` + FailureThreshold int `yaml:"failureThreshold,omitempty"` + TableName string `yaml:"tableName,omitempty"` + Role string `yaml:"role,omitempty"` + Region string `yaml:"region,omitempty"` +} +``` + +Define new struct for DR implementation using Dynamo DB and provide implementation for necessary interface methods of ``` AdmiralStateChecker ``` interface +``` +package clusters + +import ( + "context" + log "github.com/sirupsen/logrus" + "time" +) + +/* +The skip lease pod can be used for testing DynamoDB based DR. +Update the podname field to "SKIP-LEASE-POD" to test Admiral pods in passive mode. +*/ +const SKIP_LEASE_CHECK_POD_NAME = "SKIP-LEASE-POD" + +type DynamoDBBasedStateChecker struct { + drConfigFileLocation string +} + +func (DynamoDBBasedStateChecker) shouldRunOnIndependentGoRoutine() bool{ + return true; +} + +/* +This method has the logic to update the ReadOnly field within the AdmiralState object based on the lease obtained on the shared lock object +The AdmiralState object is referenced everywhere in the code before trying to create/update/delete Istio custom objects + +Below is the logic for Admiral instance in Active state +1. Get the latest lease information from DynamoDB table +2. If the current pod owns the lease, update the last updated field with current timestamp +3. Update ReadOnly field to false. +4. Sleep for configured duration +5. Admiral instance which is constantly monitoring all the clusters for changes and is responsible to creating , updating and deleting the Istio custom objects +like Service Entry, Destination rule, Virtual Service , Sidecar and others. + +Below is the logic for Admiral instance in Passive state +1. Get the latest lease information from DynamoDB table +2. If the current pod does not own the lease, check if the last updated time field is within the configured wait threshold. +3. If the last updated time field is older than the computed threshold, update self as the owner of the lease with current timestamp as last updated time +4. If the last updated time field is within the computed threshold,mark current pod as read only +5. Sleep for configured duration +*/ +func (dr DynamoDBBasedStateChecker) runStateCheck(ctx context.Context){ + CurrentAdmiralState.ReadOnly = ReadOnlyEnabled + var dynamodbClient *DynamoClient + dynamoDBConfig,err := BuildDynamoDBConfig(dr.drConfigFileLocation) + if nil!= err { + log.Error("DynamoDR: Could not start DynamoDBBasedStateChecker ", err) + panic("Could not start DynamoDBBasedStateChecker") + } + dynamodbClient = NewDynamoClient(dynamoDBConfig) + waitDuration := time.Duration(dynamoDBConfig.WaitTimeInSeconds) * time.Second + ticker := time.NewTicker(waitDuration) + tickChan := ticker.C + // Call Execute State Check explicitly to speed up initialization. Without this the initialization will be delayed by waitDuration + ExecuteStateCheck(dynamoDBConfig, dynamodbClient) + for { + select { + case <-ctx.Done(): + log.Infoln("DynamoDR: context done stopping ticker") + ticker.Stop() + + case <-tickChan: + ExecuteStateCheck(dynamoDBConfig, dynamodbClient) + } + } +} + +func ExecuteStateCheck(dynamoDBConfig DynamoDBConfig, dynamodbClient *DynamoClient ){ + leaseName := dynamoDBConfig.LeaseName + podIdentifier := dynamoDBConfig.PodIdentifier + waitTimeInSeconds :=dynamoDBConfig.WaitTimeInSeconds + failureThreshold := dynamoDBConfig.FailureThreshold + log.Infof("DynamoDR: CurrentPod = %v LeaseName = %v WaitTime= %v sec tableName= %v role= %v region= %v" ,podIdentifier, leaseName, waitTimeInSeconds, dynamoDBConfig.TableName,dynamoDBConfig.Role,dynamoDBConfig.Region) + + currentTime := time.Now().UTC().Unix() + log.Infof("DynamoDR: Retrieving latest value of read write value for leaseName : %v , timestamp : %v " , leaseName,currentTime ) + readWriteLeases, err := dynamodbClient.getReadWriteLease() + if nil!=err{ + log.WithFields(log.Fields{ + "error": err.Error(), + }).Error("DynamoDR: Error retrieving the latest lease") + //Transition Admiral to Read-only mode in case of issue connecting to Dynamo DB + CurrentAdmiralState.ReadOnly =ReadOnlyEnabled + log.Error("DynamoDR: Error retrieving the latest lease. Admiral will not write") + return + } + readWriteLease := filterOrCreateLeaseIfNotFound(readWriteLeases,leaseName) + if "" == readWriteLease.LeaseOwner { + log.Infof("DynamoDR: Lease with name=%v does not exist. Creating a new lease with owner=%v" , leaseName,podIdentifier) + readWriteLease.LeaseOwner = podIdentifier + readWriteLease.UpdatedTime = currentTime + dynamodbClient.updatedReadWriteLease(readWriteLease,dynamoDBConfig.TableName) + //Not updating read-write mode until we confirm this pod has the lease + }else if SKIP_LEASE_CHECK_POD_NAME == readWriteLease.LeaseOwner { + log.Info("DynamoDR: Lease held by skip lease check pod. Setting Admiral to read only mode") + CurrentAdmiralState.ReadOnly =ReadOnlyEnabled + CurrentAdmiralState.IsStateInitialized = StateInitialized + }else if podIdentifier == readWriteLease.LeaseOwner { + CurrentAdmiralState.ReadOnly = ReadWriteEnabled + CurrentAdmiralState.IsStateInitialized = StateInitialized + log.Infof("DynamoDR: Lease with name=%v is owned by the current pod. Extending lease ownership till %v. Admiral will write",leaseName, currentTime) + readWriteLease.UpdatedTime = currentTime + dynamodbClient.updatedReadWriteLease(readWriteLease,dynamoDBConfig.TableName) + }else if readWriteLease.UpdatedTime < (currentTime - int64(waitTimeInSeconds*failureThreshold)){ + diffSecs := currentTime -readWriteLease.UpdatedTime + log.Infof("DynamoDR: Current time %v is more than the lastUpdated time of lease %v by %v sec. Taking over the lease from %v.",currentTime, readWriteLease.UpdatedTime,diffSecs, readWriteLease.LeaseOwner) + readWriteLease.LeaseOwner = podIdentifier + readWriteLease.UpdatedTime = currentTime + dynamodbClient.updatedReadWriteLease(readWriteLease,dynamoDBConfig.TableName) + //Not updating read-write mode until we confirm this pod has the lease + }else { + log.Infof("DynamoDR: Lease held by %v till %v . Admiral will not write ", readWriteLease.LeaseOwner, readWriteLease.UpdatedTime) + CurrentAdmiralState.ReadOnly = ReadOnlyEnabled; + CurrentAdmiralState.IsStateInitialized = StateInitialized + } + +} + + + +``` +Utility methods needed to communicate with DynamoDB +``` +package clusters + +import ( + "fmt" + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/credentials/stscreds" + "github.com/aws/aws-sdk-go/aws/session" + "github.com/aws/aws-sdk-go/service/dynamodb" + "github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute" + "github.com/aws/aws-sdk-go/service/dynamodb/dynamodbiface" + log "github.com/sirupsen/logrus" + "gopkg.in/yaml.v2" + "io/ioutil" + "strconv" + "time" +) + +/* +Utility function to block the go-routine for duration specified +*/ +func sleep(sleepDuration time.Duration, sleepSeconds int){ + log.Info("Sleeping for ", sleepSeconds, " seconds") + time.Sleep(sleepDuration) +} + +/* +Utility function to filter lease from all the leases returned from DynamoDB +The DynamoDB table maybe used for multiple environments +*/ +func filterOrCreateLeaseIfNotFound(allLeases []ReadWriteLease, leaseName string) ReadWriteLease { + for _, readWriteLease := range allLeases { + if readWriteLease.LeaseName == leaseName { + return readWriteLease + } + } + readWriteLease := ReadWriteLease{} + readWriteLease.LeaseName = leaseName; + readWriteLease.Notes ="Created at "+strconv.FormatInt(time.Now().UTC().Unix(), 10) + return readWriteLease +} + + +type ReadWriteLease struct { + LeaseName string `json:"leaseName"` + LeaseOwner string `json:"leaseOwner"` + UpdatedTime int64 `json:"updatedTime"` + Notes string `json:"notes"` +} + +type DynamoClient struct { + svc dynamodbiface.DynamoDBAPI +} + +func NewDynamoClient(dynamoDBConfig DynamoDBConfig) *DynamoClient { + return &DynamoClient{ + svc: GetDynamoSvc(dynamoDBConfig.Role,dynamoDBConfig.Region), + } +} + +/* +Utility function to update lease duration . +This will be called in configured interval by Active instance +Passive instance calls this when it finds the existing Active instance has not udpated the lease within the duration specified. +*/ +func (client *DynamoClient) updatedReadWriteLease(lease ReadWriteLease, tableName string) error { + svc := client.svc + av, err := dynamodbattribute.MarshalMap(lease) + if err != nil { + log.WithFields(log.Fields{ + "error" : err.Error(), + }).Error("Error marshalling readWriteLease item.") + return err + } + + input := &dynamodb.PutItemInput{ + Item: av, + TableName: aws.String(tableName), + } + _, err = svc.PutItem(input) + if err != nil { + log.WithFields(log.Fields{ + "error": err.Error(), + }).Error("Got error calling PutItem:") + return err + } + log.WithFields(log.Fields{ + "leaseName": lease.LeaseName, + "leaseOwner": lease.LeaseOwner, + "updatedTime": lease.UpdatedTime, + "notes": lease.Notes, + }).Info("Successfully added item to table " + tableName) + + return err +} + +/* +Utility function to get all the entries from the Dynamo DB table +*/ +func (client *DynamoClient) getReadWriteLease() ([]ReadWriteLease, error) { + var readWriteLeases []ReadWriteLease + svc := client.svc + log.Info("Fetching existing readWrite entries...") + readWriteLeaseEntries, err := svc.Scan(&dynamodb.ScanInput{ + TableName: aws.String("admiral-lease"), + }) + if err != nil { + log.WithFields(log.Fields{ + "error": err.Error(), + }).Error("Failed to scan dynamo table") + return nil, err + } + + log.WithFields(log.Fields{ + "readWriteLeaseEntries": readWriteLeaseEntries, + }).Debug("retrieved records...") + + item := ReadWriteLease{} + + for _, v := range readWriteLeaseEntries.Items { + err = dynamodbattribute.UnmarshalMap(v, &item) + if err != nil { + log.WithFields(log.Fields{ + "error": err.Error(), + }).Panic("Failed to unmarshall record") + } + readWriteLeases = append(readWriteLeases, item) + } + return readWriteLeases, nil +} + +/* +Utility function to initialize AWS seassion for DynamoDB connection +*/ +func GetDynamoSvc(dynamoArn string,region string) *dynamodb.DynamoDB { + log.Info("dynamoArn: "+dynamoArn) + sess := session.Must(session.NewSession()) + // Create the credentials from AssumeRoleProvider to assume the role + // referenced by the "myRoleARN" ARN. + creds := stscreds.NewCredentials(sess, dynamoArn) + // Create a Session with a custom region + dynamoSession := session.Must(session.NewSession(&aws.Config{ + Credentials: creds, + Region: ®ion, + })) + // Create service client value configured for credentials + // from assumed role. + svc := dynamodb.New(dynamoSession) + return svc +} +/* +utility function to read the yaml file containing the DynamoDB configuration. +The file will be present inside the pod. File name should be provided as a program argument. +*/ +func BuildDynamoDBConfig(configFile string) (DynamoDBConfig, error) { + + data, err := ioutil.ReadFile(configFile) + dynamoDBConfigWrapper := &DynamoDBConfigWrapper{} + + if err != nil { + return DynamoDBConfig{}, fmt.Errorf("error reading config file to build Dynamo DB config: %v", err) + } + + err = yaml.Unmarshal(data, &dynamoDBConfigWrapper) + + if err != nil { + return DynamoDBConfig{}, fmt.Errorf("error unmarshaling config file err: %v", err) + } + + return dynamoDBConfigWrapper.DynamoDBConfig,nil +} + +``` +Add DynamoDBBasedStateChecker as an option in startAdmiralStateChecker function +``` + +/* +utility function to identify the Admiral DR implementation based on the program parameters +*/ +func startAdmiralStateChecker (ctx context.Context,params common.AdmiralParams){ + var admiralStateChecker AdmiralStateChecker + admiralStateCheckerName := strings.ToLower(params.AdmiralStateCheckerName) + switch admiralStateCheckerName { + /* + Add entries for your custom Disaster Recovery state checkers below + case "keywordforsomecustomchecker": + admiralStateChecker = customChecker{} + */ + case "dynamodbbasedstatechecker": + admiralStateChecker = DynamoDBBasedStateChecker{params.DRStateStoreConfigPath} + default: + admiralStateChecker = NoOPStateChecker{} + } + RunAdmiralStateCheck(ctx,admiralStateChecker) +} +``` +## Configuration changes +Create a DynamoDB table with below specifications. You can follow instructions provided [here](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables.tutorial.html#V2creategt_console) to create Global tables spanning your DR regions +``` +Table name :- admiral-lease +Attribute names +leaseName type-string Partition key +leaseOwner type-string +notes type-string +updatedTime type-Number +``` +![](Admiral-DynamoDB-view.png) + +Below is a sample config file that be used to configure Dynamo DB connection settings. This can be added as a configmap and made available to Admiral pod using [Volume mounts](https://kubernetes.io/docs/tasks/configure-pod-container/configure-volume-storage/) +``` +dynamoDB: +leaseName: mylease +podIdentifier: myname +waitTimeInSeconds: 15 +failureThreshold: 3 +tableName: admiral-lease +role: arn:aws:iam:::role/ +region: us-west-2 + +``` + +Include below program arguments during Admiral startup +``` +--admiral_state_checker_name dynamodbbasedstatechecker +--dr_state_store_config_path +--se_ip_prefix 242.0 +``` +Please use different values for ```se_ip_prefix ``` per Admiral deployments. This is needed to ensure that the same IP address is not used in different service entries which causes collisions in envoy clusters and resulting in failed config pushes from istiod \ No newline at end of file diff --git a/docs/Index.md b/docs/Index.md index a62bebc1..8dd47b56 100644 --- a/docs/Index.md +++ b/docs/Index.md @@ -5,3 +5,5 @@ ### [Examples](Examples.md) ### [Compatibility](Compatibility.md) + +### [Disaster recovery support](DisasterRecovery.md)