Example #1
0
func (c *Context) unmarshalBytes(composeBytes, bytes []byte) error {
	rawServiceMap := project.RawServiceMap{}
	if composeBytes != nil {
		if err := yaml.Unmarshal(composeBytes, &rawServiceMap); err != nil {
			return err
		}

		for key := range rawServiceMap {
			delete(rawServiceMap[key], "hostname")
		}
	}
	if bytes != nil {
		if err := yaml.Unmarshal(bytes, &rawServiceMap); err != nil {
			return err
		}
	}
	if err := project.Interpolate(c.EnvironmentLookup, &rawServiceMap); err != nil {
		return err
	}
	if err := utils.Convert(rawServiceMap, &c.RancherConfig); err != nil {
		return err
	}
	for _, v := range c.RancherConfig {
		rUtils.RemoveInterfaceKeys(v.Metadata)
	}
	return nil
}
func (c *Context) fillInRancherConfig(rawServiceMap config.RawServiceMap) error {
	if err := config.Interpolate(c.EnvironmentLookup, &rawServiceMap); err != nil {
		return err
	}

	rawServiceMap, err := preprocess.TryConvertStringsToInts(rawServiceMap, getRancherConfigObjects())
	if err != nil {
		return err
	}
	if err := utils.Convert(rawServiceMap, &c.RancherConfig); err != nil {
		return err
	}
	for _, v := range c.RancherConfig {
		rUtils.RemoveInterfaceKeys(v.Metadata)
	}
	return nil
}